你这行代码有问题img.binary([((0, 0, 0), (70, 70, 70))]),不能转化为整形
时间: 2024-04-08 07:28:58 浏览: 57
对不起,我之前给出的代码中的`img.binary([((0, 0, 0), (70, 70, 70))])`确实有问题,应该使用`img.binary([(0, 0, 0), (70, 70, 70)])`来设置二值化的阈值范围。
以下是修正后的代码示例:
```python
import sensor
import image
import lcd
# 初始化LCD显示
lcd.init()
lcd.rotation(2)
# 初始化摄像头
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while True:
# 捕获图像
img = sensor.snapshot()
# 图像处理
img.binary([(0, 0, 0), (70, 70, 70)]) # 将图像二值化,只保留黑色部分
# 查找线段
line = img.get_regression([(100, 100)], robust=True) # 在二值化图像中查找线段
# 在LCD上显示图像和线段
img.draw_line(line.line(), color=(255, 0, 0)) # 绘制线段
lcd.display(img)
# 判断是否找到线段
if line:
# 获取线段的角度
angle = line.theta()
# 判断线段的方向
if angle > 90:
print("向左")
else:
print("向右")
```
非常抱歉给您带来困扰,感谢您的指正。上述代码已经修正了错误,现在应该可以正确运行了。
阅读全文