Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Transformações Básicas | Seção
/
Visão Computacional Aplicada
Seção 1. Capítulo 4
single

single

bookTransformações Básicas

Deslize para mostrar o menu

Note
Definição

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 para trabalhar com modelos de aprendizado profundo.

Leitura e Exibição de uma Imagem

Antes de realizar transformações, primeiro carregue e exiba uma imagem usando o OpenCV. Já importamos a foto. Mas, no 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 em 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]
Tarefa

Swipe to start coding

Você recebe uma image:

  • Redimensione a imagem para o formato (100, 100) e armazene na variável resized;
  • Extraia height e width da imagem;
  • Calcule o center de height e width;
  • Crie a matriz de rotação e armazene na variável rotation_matrix;
  • Gire a imagem 90 graus no sentido horário e armazene na variável rotated;
  • Recorte a região X: 250-600 e Y: 100-450 da imagem e armazene na variável cropped.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt