Uma interface simples desenvolvida em Python com Tkinter demonstrando metodos comuns da biblioteca OpenCV
A interface permite ativar e configurar uma série de funções de processamento de imagem, que podem ser combinadas sequencialmente de maneira dinâmica.
Todos os metodos de processamento estão contidos na classe OpenCVUtils, que inclui:
-
Detecção de Face: Utiliza o modelo Face Mesh do mediapipe para detecção de 478 landmarks faciais
-
Detecção de Mão: Utiliza o modelo Hand Landmarker do mediapipe para detecção de mãos
-
Filtro de cor: Permite a configuração dos limites de cor HSV para a criação de uma máscara.
-
Detecção de Arestas: Utiliza o metodo Canny com os limites inferior e superior.
-
Detecção de Contorno: Utiliza o método findContours aplicado ao frame em escala de cinza com threshold.
-
Blur: Aplica o método GaussianBlur com um kernel definido.
-
Rotação: Permite a rotação da imagem em um ângulo específico.
-
Resize: Permite alterar a altura e largura da imagem.
Para utilizar o projeto, siga os passos abaixo:
Clone o repositório:
git clone https://github.com/Black-Bee-Drones/OpenCVGUI.git
Certifique-se de ter o Python instalado e instale as dependências necessárias:
python -m pip install -r requirements.txt
Execute o script main.py:
python src/main.py
-
Caso obtenha erro com os arquivos .task, tente verificar as permissões dos arquivos:
chmod +x res/hand_landamarker.task
Ou exclua-os e execute o código novamente, o que fará o download dos arquivos novamente.
A imagem a seguir demonstra a aplicação das funções de detecção de face, blur, detecção de arestas (Canny) e redimensionamento (resize).