AttributeError: 'Image' object has no attribute 'threshold'
时间: 2023-08-02 10:07:41 浏览: 252
非常抱歉,OpenMV中的Image对象没有名为`threshold`的方法。请改用`binary()`方法来进行阈值化操作。以下是修改后的示例代码:
```python
import sensor
import image
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time=2000)
while True:
img = sensor.snapshot()
# 将图像转换为灰度图像
img_gray = img.to_grayscale()
# 设置阈值来提取发光物体的区域
threshold_value = 150 # 根据实际情况调整阈值
img_binary = img_gray.binary([threshold_value])
# 寻找二值图像中的连通区域
blobs = img_binary.find_blobs()
if blobs:
for b in blobs:
# 绘制矩形框和标签
img.draw_rectangle(b[0:4]) # 矩形框
img.draw_string(b[0], b[1], "Area: %d" % b.pixels(), color=(255, 255, 255)) # 标签
img.show()
```
在此代码中,我们使用`to_grayscale()`方法将图像转换为灰度图像,然后使用`binary()`方法根据阈值将其转换为二值图像。接下来,我们使用`find_blobs()`方法寻找二值图像中的连通区域,并在原始彩色图像上绘制矩形框和标签。
再次对给您带来的困扰表示歉意,希望这次的修改能解决问题。如果还有其他疑问,请随时提问。
阅读全文