
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03

Classificadores Haar em python e opencv são tarefas complicadas, mas fáceis.
Freqüentemente enfrentamos problemas na detecção e classificação de imagens. a melhor solução é criar seu próprio classificador. Aqui, aprendemos a fazer nossos próprios classificadores de imagem com alguns comandos e programas em Python longos, mas simples
A classificação requer um grande número de imagens negativas e positivas, pois as negativas não contêm o objeto desejado, enquanto as positivas são aquelas que contêm o objeto a ser detectado.
São necessários cerca de 2.000 negativos e positivos. O programa python converte a imagem em tons de cinza e em um tamanho adequado para que os classificadores levem o tempo ideal para criar.
Etapa 1: Softwares necessários
Você precisa dos seguintes softwares para a criação de seu próprio classificador
1) OpenCV: a versão que usei é 3.4.2. a versão está facilmente disponível na internet.
2) Python: A versão utilizada é 3.6.2. Pode ser baixado de python.org
Além disso, você precisa de uma webcam (é claro).
Etapa 2: Baixar as imagens
O primeiro passo é obter uma imagem clara do objeto a ser classificado.
O tamanho não deve ser muito grande, pois leva mais tempo para o computador processar. Peguei o tamanho 50 por 50.
Em seguida, baixamos as imagens negativas e positivas. Você pode encontrá-los online. Mas usamos o código python para baixar imagens de 'https://image-net.org'
Em seguida, convertemos as imagens em tons de cinza e em um tamanho normal. Isso também é implementado no código. O código também remove qualquer imagem defeituosa
A esta altura, seu diretório deve conter a imagem do objeto, por exemplo watch5050-j.webp
Se a pasta de dados não for criada, faça-o manualmente
O código python é fornecido no arquivo.py
Etapa 3: Criação de amostras positivas em OpenCV


Agora vá para o diretório opencv_createsamples e adicione todo o conteúdo mencionado acima
no prompt do commad, vá para C: / opencv342 / build / x64 / vc14 / bin para encontrar opencv_createsamples e opencv_traincascade apps
agora execute os seguintes comandos
opencv_createsamples -img watch5050-j.webp
Este comando é para criar as amostras positivas do objeto 1950 para ser exato E o arquivo de descrição info.lst das imagens positivas a descrição deve ser assim 0001_0014_0045_0028_0028-j.webp
Agora a pasta contém
informação
pasta de imagens neg
arquivo bg.txt
pasta de dados vazia
Etapa 4: Criação de arquivo vetorial positivo

Agora crie o arquivo de vetor positivo que fornece o caminho para as imagens positivas do arquivo de descrição
Use o seguinte comando
opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positives.vec
A esta altura, o conteúdo do diretório deve ser o seguinte:
--neg
---- negimages.jpg
--opencv
--info
--dados
--positives.vec
--bg.txt
--watch5050-j.webp
Etapa 5: treinar o classificador



Agora vamos treinar a cascata haar e criar o arquivo xml
Use o seguinte comando
opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
estágios são 10 Aumentar os estágios requer mais processamento, mas o classificador é muito mais eficiente.
Agora o haarcascade foi criado Leva cerca de duas horas para ser concluído Abra a pasta de dados lá você encontrará cascade.xml Este é o classificador que foi criado
Etapa 6: Testando o Classificador
A pasta de dados contém os arquivos conforme mostrado na imagem acima.
Após a criação do classificador, vemos se o classificador está funcionando ou não executando o programa object_detect.py. Não se esqueça de colocar o arquivo classifier.xml no diretório python.
Etapa 7: Agradecimentos especiais
Gostaria de agradecer à Sentdex, que é um ótimo programador de python.
Ele tem um nome no youtube com o nome citado acima e o vídeo que muito me ajudou tem este link
A maior parte do código foi copiado de sentdex. Embora tenha recebido muita ajuda do sentdex, ainda enfrentei muitos problemas. Eu só queria compartilhar minha experiência.
Espero que este intrutável tenha ajudado você !!! Fique atento para mais.
BR
Tahir Ul Haq
Recomendado:
Inteligência artificial e reconhecimento de imagem usando HuskyLens: 6 etapas (com fotos)

Inteligência Artificial e Reconhecimento de Imagem Usando HuskyLens: Ei, e aí, pessoal! Akarsh aqui da CETech. Neste projeto, vamos dar uma olhada nas HuskyLens da DFRobot. É um módulo de câmera alimentado por IA capaz de realizar várias operações de Inteligência Artificial, como Reconhecimento de Face
COMO REMOVER O FUNDO NA IMAGEM USANDO O MS WORD FÁCIL: 12 etapas

COMO REMOVER O FUNDO NA IMAGEM USANDO O MS WORD EASY: oi pessoal !! estou de volta!!!!! saudades de todos vocês :) Eu tenho um novo instructable que é muito, muito fácil !!! você sabia que pode editar imagens no microsoft word ?? sim, você pode remover o backround ou realçar a imagem ,,, se você ainda não experimentou outros aplicativos que pode usar
Processamento de imagem com o Raspberry Pi: Instalando OpenCV e separação de cores de imagem: 4 etapas

Processamento de imagem com o Raspberry Pi: Instalando o OpenCV e a separação de cores da imagem: Esta postagem é o primeiro de vários tutoriais de processamento de imagem que estão por vir. Damos uma olhada mais de perto nos pixels que compõem uma imagem, aprendemos como instalar o OpenCV no Raspberry Pi e também escrevemos scripts de teste para capturar uma imagem e também c
Câmera térmica M5Stack IR usando o sensor de imagem infravermelho AMG8833: 3 etapas

Câmera térmica IR M5Stack usando AMG8833 Infrared Array Imaging Sensor: Como muitos, eu tive um fascínio por câmeras térmicas, mas elas sempre estiveram fora da minha faixa de preço - até agora !! Enquanto navegava pelo site Hackaday me deparei com esta câmera construída usando o M5Stack Módulo ESP32 e um relativamente barato
Crie padrões de tabela para a imagem de fundo do site: 8 etapas

Crie padrões de mosaico para imagem de fundo do site: Aqui está um método direto e simples (eu acho) para criar imagens que podem ser colocadas lado a lado sem parecer muito "em grade". Este tutorial faz uso do Inkscape (www.inkscape.org), e editor de gráficos vetoriais de código aberto. Eu imagino que este método pode