Introdução
Este tutorial irá ensiná-lo os fundamentos de como trabalhar com imagens usando a biblioteca OpenCV-Python. Ao final deste tutorial, você será capaz de ler, exibir e salvar imagens.
Importar as bibliotecas necessárias
Primeiramente, vamos importar as bibliotecas necessárias. Você usará a biblioteca cv2 para processamento de imagens. Por favor, use import para importá-la.
Preparação
Abra o shell Python digitando o seguinte comando no terminal na área de trabalho da VM.
python3
Detalhes
Insira python3 para iniciar o processo do interpretador Python. Em seguida, insira o seguinte código.
import cv2
Depois disso, você pode usar a biblioteca cv2 em seu código.
Lendo uma imagem
Para ler uma imagem de um arquivo, usamos a função cv2.imread(). A função recebe o caminho do arquivo como um argumento e retorna a imagem como um array NumPy.
O caminho da imagem é /home/labex/Desktop/Image.jpg
Detalhes
Insira python para iniciar o processo do interpretador Python. Em seguida, insira o seguinte código.
## Read the image
image = cv2.imread('/home/labex/Desktop/Image.jpg')
## Check if the image is loaded correctly
if image is None:
print('Error: Image not found.')
else:
print('Image loaded successfully.')
Observação
A função cv2.imread() retorna None se a imagem não for encontrada. Neste caso, imprimimos uma mensagem de erro. Caso contrário, imprimimos uma mensagem de sucesso.
Exibindo a imagem
Para exibir a imagem, usamos a função cv2.imshow(). A função recebe dois argumentos: o nome da janela e a imagem a ser exibida.
Além disso, usamos a função cv2.waitKey() para aguardar a pressão de uma tecla. Isso é necessário para manter a janela aberta até que o usuário pressione uma tecla. A função cv2.waitKey() recebe um único argumento, que é o número de milissegundos a serem esperados pela pressão de uma tecla. Se o usuário pressionar uma tecla dentro do tempo especificado, a função retorna o código da tecla. Caso contrário, retorna -1. Neste caso, passamos 0 para aguardar indefinidamente a pressão de uma tecla.
Finalmente, usamos a função cv2.destroyAllWindows() para fechar todas as janelas. Isso é opcional, mas é uma boa prática fechar todas as janelas antes de sair do programa do interpretador Python.
Detalhes
Insira python para iniciar o processo do interpretador Python. Em seguida, insira o seguinte código.
window_name = 'Image'
## Display the image, image has been loaded in the previous steps
cv2.imshow(window_name, image)
## Wait for a key press and close the window
cv2.waitKey(0)
## destroy the window after you showing the image
cv2.destroyAllWindows()
NOTA
- Você pode alterar o
window_namepara o seu código e ver o resultado. - Você pode alterar o parâmetro de
waitKeypara o seu código e ver o resultado. - Para sua conveniência, removemos a detecção de correção do carregamento da imagem nesta etapa.
- Observe que você está usando um interpretador Python, então o programa não termina imediatamente após
imshow, mas se você estiver executando um arquivo Python, você deve usarwaitKeypara garantir que a janela não feche apósimshow.
Escrevendo uma imagem em um arquivo
Para salvar uma imagem em um formato diferente, usamos a função cv2.imwrite(). A função recebe dois argumentos: o caminho do arquivo e a imagem a ser salva.
Detalhes
Insira python para iniciar o processo do interpretador Python. Em seguida, insira o seguinte código.
## Save the image in a different format, image has been loaded in the previous steps
cv2.imwrite('/home/labex/Desktop/Image.png', image)
Observação
- Neste caso, salvamos a imagem no formato PNG (Image.png). A imagem é salva no mesmo diretório (/home/labex/Desktop/) que o script Python.
- Para sua conveniência, removemos a detecção de correção do carregamento da imagem nesta etapa.
Resumo
Agora você conhece os conceitos básicos de como trabalhar com imagens usando a biblioteca OpenCV-Python. Você pode experimentar diferentes formatos de imagem e explorar operações mais avançadas, como redimensionamento, recorte e filtragem. Boa codificação!



