tutorial opencv - python

2
Tutorial sobre equalização de histograma usando OpenCV e Python - Como ler e escrever um arquivo imagem Para ler uma imagem deve-se utilizar a função cv2.imread( ), importante dizer que a imagem deve-se encontrar no diretório em que se trabalha, ou especificar o caminho. O código para realizar a leitura: import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('image.jpg',0) Utilizando a função cv2.imwrite( ) uma imagem será escrita. O primeiro argumento será o nome do arquivo, o segundo será a imagem que deseja-se salvar. cv2.imwrite('messigray.png',img) - Como acessar os pixels nas suas diversas formas Pode-se acessar o valor do pixel através de coordenadas de linhas e colunas. Para uma imagem RGB retorna-se um vetor com os valores de azul, verde e vermelho. Para imagens em escala de cinza é retornado apenas a intensidade correspondente. Um exemplo a seguir: >>> px = img[100,100] >>> print px [157 166 200] # accessing only blue pixel >>> blue = img[100,100,0] >>> print blue 157 E também é possível modificar os valores dos pixels: >>> img[100,100] = [255,255,255] >>> print img[100,100] [255 255 255]

Upload: paulo-chen

Post on 12-Jan-2016

92 views

Category:

Documents


0 download

DESCRIPTION

Tutorial OpenCV - PythonDicas básicas de processamento de imagem

TRANSCRIPT

Page 1: Tutorial OpenCV - Python

Tutorial sobre equalização de histograma usando OpenCV e Python

- Como ler e escrever um arquivo imagem

Para ler uma imagem deve-se utilizar a função cv2.imread( ), importante dizer que a imagem deve-se

encontrar no diretório em que se trabalha, ou especificar o caminho.

O código para realizar a leitura: import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('image.jpg',0)

Utilizando a função cv2.imwrite( ) uma imagem será escrita. O primeiro argumento será o nome do arquivo, o segundo será a imagem que deseja-se salvar. cv2.imwrite('messigray.png',img)

- Como acessar os pixels nas suas diversas formas

Pode-se acessar o valor do pixel através de coordenadas de linhas e colunas. Para uma imagem RGB

retorna-se um vetor com os valores de azul, verde e vermelho. Para imagens em escala de cinza é

retornado apenas a intensidade correspondente.

Um exemplo a seguir:

>>> px = img[100,100] >>> print px [157 166 200] # accessing only blue pixel >>> blue = img[100,100,0] >>> print blue 157

E também é possível modificar os valores dos pixels:

>>> img[100,100] = [255,255,255] >>> print img[100,100] [255 255 255]

Page 2: Tutorial OpenCV - Python

- Como obter as propriedades das imagens, tamanho, forma e tipo de dado

O número total de pixels é obtido através de img.size: >>> print img.size 562248

A forma da imagem é acessada através de img.shape. Essa função retorna uma sequência de números

de linhas, colunas e canais (caso a imagem seja colorida).

Exemplo:

>>> print img.shape (342, 548, 3)

Para obter o tipo de dados utiliza-se img.dtype:

>>> print img.dtype uint8

- Como plotar um histograma

Para obter um histograma existem duas possibilidades, utilizando funções de desenho do OpenCV ou

utilizando a biblioteca Matplotlib, neste caso mais simples, pois essa biblioteca já possui uma função

para plotar o histograma.

Exemplo de código:

import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('home.jpg',0) plt.hist(img.ravel(),256,[0,256]); plt.show()