k210颜色识别返回坐标
时间: 2023-08-12 12:09:37 浏览: 405
k210数字识别 笔记2
在K210的颜色识别代码中,通过使用摄像头进行图像采集,并使用阈值来识别特定颜色的色块。在代码中,使用了蓝色的阈值来识别蓝色色块,并返回其中心位置的x和y坐标。具体的代码如下所示:
```python
import sensor, lcd, time, utime
# 摄像头初始化
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.set_vflip(1) # 后置模式,所见即所得
# LCD 初始化
lcd.init()
# 创建一个时钟
clock = time.clock()
# 颜色识别阈值(L Min, L Max, A Min, A Max, B Min, B Max)
thresholds = [
(30, 100, 15, 127, 15, 127), # 红色阈值
(30, 100, -64, -8, -32, 32), # 绿色阈值
(0, 30, 0, 64, -128, -20) # 蓝色阈值
]
while True:
img = sensor.snapshot()
blobs = img.find_blobs([thresholds[2]], pixels_threshold=400)
if blobs:
tmp = img.draw_rectangle(blobs[0][0:4])
tmp = img.draw_cross(blobs[0].cx(), blobs[0].cy()) # 画框描边,在中心画十字
lcd.display(img) # 显示
print(blobs[0].cy(), blobs[0].cx()) # 打印输出中心坐标
utime.sleep_ms(100)
```
在这段代码中,我们使用了蓝色的阈值来识别蓝色色块,并通过`blobs[0].cy()`和`blobs[0].cx()`来获取色块的中心坐标。其中,`blobs[0]`表示第一个检测到的色块,`cy()`表示中心坐标的y值,`cx()`表示中心坐标的x值。
阅读全文