Introdução: O processamento e análise de imagens é uma parte importante do campo da visão computacional. Este artigo explicará como usar a linguagem de programação Python e a biblioteca OpenCV para processamento e análise de imagens. Abordaremos operações comuns de processamento de imagem, como leitura, exibição, filtragem, detecção de borda e segmentação de imagem com exemplos de código correspondentes.
Instale o OpenCV: Primeiro, precisamos instalar a biblioteca OpenCV. O OpenCV pode ser instalado a partir da linha de comando usando o comando pip:
pip install opencv-python
Exemplo de código 1: leitura e exibição de imagens
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 显示图像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Exemplo de código 2: filtragem de imagens
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg')
# 高斯滤波
blurred = cv2.GaussianBlur(image, (5, 5), 0)
# 显示滤波后的图像
cv2.imshow('Blurred Image', blurred)
cv2.waitKey(0)
cv2.destroyAllWindows()
Exemplo de código 3: detecção de borda
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 灰度化
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 边缘检测
edges = cv2.Canny(gray, 100, 200)
# 显示边缘图像
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
Exemplo de código 4: segmentação de imagem
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 转换为HSV颜色空间
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# 设定蓝色范围
lower_blue = np.array([90, 50, 50])
upper_blue = np.array([130, 255, 255])
# 根据阈值进行分割
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# 显示分割后的图像
cv2.imshow('Mask', mask)
cv2.waitKey(0)
cv2.destroyAllWindows()
Análise: os exemplos de código acima demonstram operações comuns para processamento e análise de imagens usando Python e OpenCV. O primeiro exemplo demonstra como ler e exibir uma imagem. O segundo exemplo mostra como filtrar uma imagem gaussiana. O terceiro exemplo mostra como fazer a detecção de borda. O último exemplo mostra como fazer a segmentação de imagens com base na limiarização de cores.
Resumo: Este artigo abordou os fundamentos do processamento e análise de imagens usando Python e OpenCV. Por meio desses códigos de amostra, podemos aprender como ler e exibir imagens e executar operações comuns de processamento de imagem, como filtragem, detecção de borda e segmentação de imagem. Essas tecnologias podem ser aplicadas em áreas como visão computacional, reconhecimento de imagem e análise de imagem, fornecendo mais ferramentas de processamento e análise de imagem.