这段代码使用 OpenCV 库实现了红色目标的识别与定位,并通过串口发送数据。代码包含以下步骤:

  1. 颜色识别: 使用 cv2.cvtColor 将图像转换为 HSV 色彩空间,并使用 cv2.inRange 函数提取红色颜色范围内的像素。

  2. 形态学操作: 对二值化后的图像进行膨胀 (cv2.dilate) 和闭操作 (cv2.morphologyEx),消除噪声并填充目标区域。

  3. 高斯滤波: 使用 cv2.GaussianBlur 对图像进行平滑处理,进一步去除噪声。

  4. 边缘检测: 使用 cv2.Canny 函数检测图像边缘,得到目标轮廓的边界。

  5. 轮廓检测: 使用 cv2.findContours 函数查找图像中的轮廓。

  6. 最大轮廓定位: 遍历所有轮廓,找到面积最大的轮廓,并计算其外接矩形的中心点。

  7. 绘制结果: 在原始图像上绘制矩形和中心点,并通过串口发送“red”数据。

代码中使用了 canvas 库来绘制文本,可以根据需要修改绘制内容。

需要注意的是,代码中的 lower_redhigher_red 变量代表了红色范围的上下限,需要根据实际情况进行调整。另外,代码中的 kernel 变量代表了形态学操作的核,也可以根据需要进行调整。

总结: 这段代码提供了使用 OpenCV 库进行红色目标识别与定位的基本流程,可以作为参考进行学习和改进。


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

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