Transformações Básicas
OpenCV (Open Source Computer Vision Library) é uma poderosa biblioteca de código aberto projetada para visão computacional em tempo real e processamento de imagens. Oferece ferramentas para manipulação de imagens, detecção de objetos e até mesmo integração com modelos de aprendizado profundo.
Leitura e Exibição de uma Imagem
Antes de realizar transformações, primeiro carregue e exiba uma imagem utilizando o OpenCV. Já importamos a foto. Porém, em seu computador local, para uma leitura e exibição simples da foto, utilize:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
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.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Você também pode especificar dimensões exatas de pixels (parâmetro dsize
),
onde dsize
é a forma de saída (new_y, new_x)
.
resized = cv2.resize(image, (100, 100))
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.
height, width = image.shape[:2]
centre = (width // 2, height // 2)
rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))
Recortando uma Imagem
O recorte extrai uma região específica de uma imagem. É realizado utilizando fatiamento do NumPy.
A sintaxe image[start_y:end_y, start_x:end_x]
seleciona uma região de interesse.
cropped = image[450:500, 250:350]
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!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.45
Transformações Básicas
Deslize para mostrar o menu
OpenCV (Open Source Computer Vision Library) é uma poderosa biblioteca de código aberto projetada para visão computacional em tempo real e processamento de imagens. Oferece ferramentas para manipulação de imagens, detecção de objetos e até mesmo integração com modelos de aprendizado profundo.
Leitura e Exibição de uma Imagem
Antes de realizar transformações, primeiro carregue e exiba uma imagem utilizando o OpenCV. Já importamos a foto. Porém, em seu computador local, para uma leitura e exibição simples da foto, utilize:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
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.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Você também pode especificar dimensões exatas de pixels (parâmetro dsize
),
onde dsize
é a forma de saída (new_y, new_x)
.
resized = cv2.resize(image, (100, 100))
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.
height, width = image.shape[:2]
centre = (width // 2, height // 2)
rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))
Recortando uma Imagem
O recorte extrai uma região específica de uma imagem. É realizado utilizando fatiamento do NumPy.
A sintaxe image[start_y:end_y, start_x:end_x]
seleciona uma região de interesse.
cropped = image[450:500, 250:350]
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!
single