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()

代码解析

  1. import numpy as npimport cv2: 导入 NumPy 库 (用于数组操作) 和 OpenCV 库 (用于图像处理)。

  2. img_color = cv2.imread(r'd:\image\alphabet.jpg'): 使用 cv2.imread() 函数读取指定路径的图像文件 ('alphabet.jpg'),并将其存储为彩色图像 (img_color)。

  3. img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY): 使用 cv2.cvtColor() 函数将彩色图像 (img_color) 转换为灰度图像 (img_gray)。

  4. print(type(img_gray)): 打印 img_gray 的数据类型,确认其为灰度图像。

  5. cv2.rectangle(img_color, (160, 140), (190, 200), (0, 0, 255), 3): 使用 cv2.rectangle() 函数在彩色图像 (img_color) 上绘制一个蓝色矩形。 参数分别代表:图像、左上角坐标、右下角坐标、颜色 (B, G, R)、线宽。

  6. img_ROI = img_gray[140:200, 160:190]: 通过切片操作从灰度图像 (img_gray) 中提取矩形区域 (ROI)。

  7. cv2.imshow('color image', img_color)cv2.imshow('ROI image', img_ROI): 使用 cv2.imshow() 函数分别显示彩色图像和 ROI。

  8. cv2.waitKey(0): 等待用户按下任意键。

  9. cv2.destroyAllWindows(): 关闭所有打开的窗口。

总结

这段代码展示了如何使用 Python OpenCV 进行基本的图像处理操作。你可以根据自己的需求修改代码,尝试不同的图像处理技术。 希望这篇文章对你有所帮助!

Python OpenCV 图像处理:读取、转换、绘制和提取 ROI 实例教程

原文地址: https://www.cveoy.top/t/topic/cWGe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录