Transformações Básicas
Leitura e Exibição de uma Imagem
Antes de realizar transformações, primeiro vamos carregar e exibir uma imagem usando o OpenCV. Já importamos a foto. Mas, no seu computador local, para simplesmente ler e exibir a foto, você deve usar:
Redimensionamento de uma Imagem
O redimensionamento é útil para aumentar ou diminuir imagens mantendo a proporção (fx
e fy
),
onde fx
e fy
definem o fator de escala para largura e altura.
Você também pode especificar dimensões exatas em pixels (parâmetro dsize
),
onde dsize
é a forma de saída (new_y, new_x)
.
Rotacionando uma Imagem
Para rotacionar uma imagem por um ângulo específico, utiliza-se cv2.getRotationMatrix2D()
e cv2.warpAffine()
.
cv2.getRotationMatrix2D(center, angle, scale)
define a matriz de rotação;cv2.warpAffine(image, matrix, output_size)
aplica a transformação.
Recortando uma Imagem
O recorte extrai uma região específica de uma imagem. É realizado utilizando o fatiamento do NumPy.
A sintaxe image[start_y:end_y, start_x:end_x]
seleciona uma região de interesse.
Swipe to start coding
Você recebe uma image
:
- Redimensionar a imagem para o formato
(100, 100)
e armazenar na variávelresized
; - Extrair
height
ewidth
da imagem; - Calcular o
center
deheight
ewidth
; - Criar a matriz de rotação e armazenar na variável
rotation_matrix
; - Rotacionar a imagem 90 graus no sentido horário e armazenar na variável
rotated
; - Recortar a região X: 250-600 e Y: 100-450 da imagem e armazenar na variável
cropped
.
Solução
Obrigado pelo seu feedback!