Python OpenCV 图像处理:读取、转换、绘制和提取 ROI 实例教程
Python OpenCV 图像处理:读取、转换、绘制和提取 ROI 实例教程
这篇文章将教你使用 Python 的 NumPy 库和 OpenCV 库进行基本的图像处理操作。我们将通过一个简单的例子来演示如何读取图像、将其转换为灰度图像、在图像上绘制矩形以及提取感兴趣区域 (ROI)。
代码示例
import numpy as np
import cv2
# 读取图像
img_color = cv2.imread(r'd:\image\alphabet.jpg')
# 转换为灰度图像
img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)
# 打印图像类型
print(type(img_gray))
# 绘制矩形
cv2.rectangle(img_color, (160, 140), (190, 200), (0, 0, 255), 3)
# 提取 ROI
img_ROI = img_gray[140:200, 160:190]
# 显示彩色图像
cv2.imshow('color image', img_color)
cv2.waitKey(0)
# 显示 ROI
cv2.imshow('ROI image', img_ROI)
cv2.waitKey(0)
# 关闭窗口
cv2.destroyAllWindows()
代码解析
-
import numpy as np和import cv2: 导入 NumPy 库 (用于数组操作) 和 OpenCV 库 (用于图像处理)。 -
img_color = cv2.imread(r'd:\image\alphabet.jpg'): 使用cv2.imread()函数读取指定路径的图像文件 ('alphabet.jpg'),并将其存储为彩色图像 (img_color)。 -
img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY): 使用cv2.cvtColor()函数将彩色图像 (img_color) 转换为灰度图像 (img_gray)。 -
print(type(img_gray)): 打印img_gray的数据类型,确认其为灰度图像。 -
cv2.rectangle(img_color, (160, 140), (190, 200), (0, 0, 255), 3): 使用cv2.rectangle()函数在彩色图像 (img_color) 上绘制一个蓝色矩形。 参数分别代表:图像、左上角坐标、右下角坐标、颜色 (B, G, R)、线宽。 -
img_ROI = img_gray[140:200, 160:190]: 通过切片操作从灰度图像 (img_gray) 中提取矩形区域 (ROI)。 -
cv2.imshow('color image', img_color)和cv2.imshow('ROI image', img_ROI): 使用cv2.imshow()函数分别显示彩色图像和 ROI。 -
cv2.waitKey(0): 等待用户按下任意键。 -
cv2.destroyAllWindows(): 关闭所有打开的窗口。
总结
这段代码展示了如何使用 Python OpenCV 进行基本的图像处理操作。你可以根据自己的需求修改代码,尝试不同的图像处理技术。 希望这篇文章对你有所帮助!
原文地址: https://www.cveoy.top/t/topic/cWGe 著作权归作者所有。请勿转载和采集!