Como regra, a análise de imagens por algoritmos de visão computacional passa pelos seguintes estágios (mas alguns estágios podem não estar lá):
1. Pré-processamento da imagem. Nesse estágio, podem ocorrer melhorias na qualidade da imagem, como aumentar o contraste, aumentar a nitidez ou vice-versa, desfocar a imagem para remover o ruído e pequenos detalhes dela. Tudo isso é necessário para facilitar a análise da imagem no futuro.
2. Filtração intermediária. Nesta fase, vários filtros são aplicados à imagem para indicar áreas de interesse na imagem ou para facilitar o trabalho de algoritmos especiais de análise de imagens.
3. Revelação de sinais especiais (características).Pode ser a seleção de pontos especiais, a seleção de contornos ou algumas outras características.
4. Análise de alto nível. Nesta fase, de acordo com as feições encontradas nas imagens, são determinados objetos específicos e, via de regra, suas coordenadas. Também neste estágio, pode ocorrer segmentação ou algum outro processamento de alto nível.
Agora vamos ao que interessa. Veremos como trabalhar com Python + OpenCV no ambiente PyCharm. Primeiro, precisamos instalar o OpenCV. Para fazer isso, vá para ImportSettings: A
seguir, no ProjectInterpreter e clique no sinal de mais lá:
Estamos procurando o opencv lá e instale-o:
Agora vamos escrever nosso "Hello, World" - um programa que mostrará uma imagem:
import cv2
my_photo = cv2.imread('MyPhoto.jpg')
cv2.imshow('MyPhoto', my_photo)
cv2.waitKey(0)
cv2.destroyAllWindows()
Esta é a janela que este programa abrirá:
O que o programa faz? Ele carrega uma imagem de um arquivo, exibe-a e espera que a tecla ESC saia.
Vamos tentar algo com esta imagem. Por exemplo, você pode redimensioná-lo. Digamos que queremos fazer uma imagem de largura 200. Para fazer isso, vamos calcular sua altura e usar esses dados para dimensioná-la:
import cv2
my_photo = cv2.imread('MyPhoto.jpg')
cv2.imshow('MyPhoto', my_photo)
#
final_wide = 200
r = float(final_wide) / my_photo.shape[1]
dim = (final_wide, int(my_photo.shape[0] * r))
#
resized = cv2.resize(my_photo, dim, interpolation = cv2.INTER_AREA)
cv2.imshow("Resized image", resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
Aqui está o que obtivemos:
Freqüentemente, para tornar a análise da imagem mais fácil, você precisa tornar a imagem preto e branco. Uma das maneiras é enviar uma imagem de uma vez em um espaço em preto e branco:
import cv2
img = cv2.imread('MyPhoto.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('MyPhoto', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Se precisar converter uma imagem já carregada, você pode usar a função cvtColor, que converte uma imagem de um espaço de cor para outro:
import cv2
img = cv2.imread('MyPhoto.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('MyPhoto', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
É assim que vai ficar:
Então, para resumir.
Aprendemos como instalar o OpenCV, carregar de um arquivo e exibir uma imagem, bem como fazer transformações simples nele, como dimensionar e converter uma imagem colorida em preto e branco. Se esta lição "entrar", ela continuará.