Python OpenCV 红色目标识别与定位代码解析
这段代码使用 OpenCV 库实现了红色目标的识别与定位,并通过串口发送数据。代码包含以下步骤:
-
颜色识别: 使用
cv2.cvtColor将图像转换为 HSV 色彩空间,并使用cv2.inRange函数提取红色颜色范围内的像素。 -
形态学操作: 对二值化后的图像进行膨胀 (
cv2.dilate) 和闭操作 (cv2.morphologyEx),消除噪声并填充目标区域。 -
高斯滤波: 使用
cv2.GaussianBlur对图像进行平滑处理,进一步去除噪声。 -
边缘检测: 使用
cv2.Canny函数检测图像边缘,得到目标轮廓的边界。 -
轮廓检测: 使用
cv2.findContours函数查找图像中的轮廓。 -
最大轮廓定位: 遍历所有轮廓,找到面积最大的轮廓,并计算其外接矩形的中心点。
-
绘制结果: 在原始图像上绘制矩形和中心点,并通过串口发送“red”数据。
代码中使用了 canvas 库来绘制文本,可以根据需要修改绘制内容。
需要注意的是,代码中的 lower_red 和 higher_red 变量代表了红色范围的上下限,需要根据实际情况进行调整。另外,代码中的 kernel 变量代表了形态学操作的核,也可以根据需要进行调整。
总结: 这段代码提供了使用 OpenCV 库进行红色目标识别与定位的基本流程,可以作为参考进行学习和改进。
原文地址: https://www.cveoy.top/t/topic/nOyu 著作权归作者所有。请勿转载和采集!