Bem-vindo a este tutorial sobre operações aritméticas em imagens usando OpenCV-Python! Neste tutorial, abordaremos adição, subtração e operações bit a bit (bitwise). Ao final deste tutorial, você terá uma sólida compreensão de como manipular imagens usando essas operações básicas.
Adição de Imagens
A adição de imagens é o processo de somar os valores dos pixels de duas imagens. No OpenCV, a função cv2.add() é usada para essa finalidade.
Abrir o Shell Python
Abra o Shell Python no terminal.
python3
Carregar duas imagens
Utilize .imread para ler as imagens desejadas.
import cv2 as cv2
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
Adicionar as imagens
Use .add() para agregar duas imagens que foram lidas no passo anterior.
result = cv2.add(img1, img2)
Salvar o resultado
Escreva o resultado.
cv2.imwrite('Image_Addition.jpg', result)
Exemplo
A imagem gerada Image_Addition.jpg se parece com:
Mistura de Imagens (Blending)
Esta também é uma adição de imagem, mas diferentes pesos são dados às imagens para dar uma sensação de mistura ou transparência. As imagens são adicionadas de acordo com a equação abaixo:
cv.addWeighted() aplica esta equação à imagem.
Adicionar as imagens
Use .addWeighted() para aplicar a equação às imagens que foram lidas no passo anterior.
result = cv2.addWeighted(img1,0.7,img2,0.3,0)
Salvar o resultado
Escreva o resultado.
cv2.imwrite('Image_Blending.jpg', result)
Exemplo
A imagem gerada Image_Blending.jpg se parece com:
Subtração de Imagens
A subtração de imagens é usada para encontrar a diferença entre duas imagens. Ela subtrai os valores dos pixels de uma imagem de outra. No OpenCV, você pode usar a função cv2.subtract().
Subtrair as imagens
Use .subtract() para subtrair os valores dos pixels da imagem1 da imagem2.
result = cv2.subtract(img1, img2)
Salvar o resultado
Escreva o resultado.
cv2.imwrite('Image_Subtraction.jpg', result)
Exemplo
A imagem gerada Image_Subtraction.jpg se parece com:
Operações Bitwise
As operações bitwise são usadas para manipular os bits individuais dos valores dos pixels. OpenCV fornece funções como cv2.bitwise_and(), cv2.bitwise_or(), cv2.bitwise_xor() e cv2.bitwise_not() para realizar operações bitwise.
Vamos ver um exemplo de cada operação:
Bitwise AND
Use .bitwise_and() para calcular o AND bitwise dos bits dos valores dos pixels em duas imagens.
bitwise_and = cv2.bitwise_and(img1, img2)
Bitwise OR
Use .bitwise_or() para calcular o OR bitwise dos bits dos valores dos pixels em duas imagens.
bitwise_or = cv2.bitwise_or(img1, img2)
Bitwise XOR
Use .bitwise_xor() para calcular o XOR bitwise dos bits dos valores dos pixels em duas imagens.
bitwise_xor = cv2.bitwise_xor(img1, img2)
Bitwise NOT
Use .bitwise_not() para calcular o NOT bitwise dos bits dos valores dos pixels em duas imagens.
Parabéns! Você agora aprendeu como realizar operações aritméticas em imagens usando OpenCV-Python. Você cobriu adição de imagens, subtração e operações bitwise. Essas operações básicas podem ser muito úteis para tarefas de processamento de imagens, como mesclar imagens, detectar mudanças e mascarar áreas específicas de uma imagem.
Continue praticando e experimentando com diferentes imagens para obter uma melhor compreensão de como essas operações funcionam. Boa sorte e feliz codificação!