Openmv黄色三角形识别的完整代码
时间: 2025-03-23 10:12:38 浏览: 40
以下是使用OpenMV进行黄色三角形识别的一段完整代码。此代码会捕捉摄像头图像,并尝试检测出其中的黄色区域以及判断它们是否构成三角形状。
```python
import sensor, image, math, pyb
# 初始化相机传感器设置
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA) # 分辨率设定为QVGA(320x240像素)
sensor.skip_frames(time=2000) # 让新的设置生效等待两秒
thresholds = [(80, 100, -70, -10, 90, 30)] # 黄色L*A*B颜色阈值区间
while(True):
img = sensor.snapshot() # 抓取一帧画面快照
blobs = img.find_blobs(thresholds)# 寻找符合条件的颜色块
if blobs: # 若找到匹配颜色块,则继续分析其几何特性
for b in blobs:
cx, cy = b.cx(), b.cy() # 获取斑点中心位置坐标(x,y轴方向上的平均质心所在之处卡)
corners=img.find_markers([[[cx,cy]]],roi=(b.x(),b.y(),b.w(),b.h()))
if len(corners)==3 : # 判断角落数量是否恰好有三个形成封闭图形即可能是三角形
print("Triangle Detected")
# 将轮廓画出来方便调试观察效果更直观一点哦~
img.draw_rectangle(b.rect())
img.draw_cross(cx, cy)
break
```
上述代码首先设置了摄像机的相关参数并启用了自动白平衡及增益控制功能;接着定义了用于区分目标物体与其他背景干扰物之间的色彩界限——这里我们选取的是典型的黄光反射下的LAB空间范围值;最后进入循环体持续从实时视频流里提取关键特征信息直至用户手动终止运行流程为止。
阅读全文
相关推荐


















