Python OpenCV 轮廓检测:绘制图像轮廓并解决边缘黑色区域无法选中的问题
使用 Python OpenCV 进行图像轮廓检测并绘制轮廓
本文将介绍如何使用 Python OpenCV 库进行图像轮廓检测,并绘制图像轮廓。
代码示例:
import cv2
# 读入彩色图片,用于绘制轮廓
img0 = cv2.imread('Fe.png')
# 读入灰度图,用于寻找轮廓
img = cv2.imread('Fe.png', 0)
# 使用阈值分割将图像转换为二值图像
ret, img = cv2.threshold(img, 140, 255, cv2.THRESH_BINARY)
# 在img上得到轮廓列表contours后,使用(0,255,0)颜色绘制在img0上
contours, hierarchy = cv2.findContours(img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
n = len(contours)
print('n =', n)
# 循环绘制每个轮廓
for i in range(1, n, 1):
img0 = cv2.drawContours(img0, contours, i, (0, 255, 0), -1)
cv2.waitKey(200)
cv2.imshow('contours', img0)
cv2.waitKey(0) # 等待按键输入
cv2.destroyAllWindows() # 关闭所有窗口
解决边缘黑色区域无法选中问题:
原因: 这段代码中没有包含选择边缘黑色区域的功能,因此无法选中该区域。
解决方案:
可以使用鼠标交互或者其他图像处理方法来实现。例如,可以使用鼠标点击选取区域,然后使用 OpenCV 的图像处理函数提取该区域的轮廓。
总结:
本文展示了如何使用 Python OpenCV 进行图像轮廓检测和绘制。此外,还分析了边缘黑色区域无法选中的原因,并提供了解决方案。希望本文能够帮助您更好地理解 OpenCV 图像处理。
原文地址: https://www.cveoy.top/t/topic/mQ4C 著作权归作者所有。请勿转载和采集!