openMV如何将二值化后的结果存到数组
时间: 2024-03-22 09:40:09 浏览: 100
1.2彩色图像灰度化和二值化.rar
要将二值化后的图像存储到数组中,可以使用OpenMV中的Image类的get_pixel方法。该方法可以获取图像中指定像素的颜色值。在二值化后的图像中,每个像素只有两种可能的颜色值:黑色或白色。因此,可以将黑色像素的值设为1,白色像素的值设为0,并将这些值存储在数组中。
以下是可以将二值化图像存储到数组中的示例代码:
```
import sensor
import image
# 初始化摄像头
sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 2000)
# 获取图像
img = sensor.snapshot()
# 二值化图像
threshold = (0, 127)
img.binary(threshold)
# 创建一个数组,用于存储二值化后的图像
binary_array = []
# 遍历图像中的每个像素,并将像素的颜色值存储到数组中
for y in range(img.height()):
for x in range(img.width()):
pixel = img.get_pixel(x, y)
if pixel == 0:
binary_array.append(1)
else:
binary_array.append(0)
```
在上面的代码中,我们首先初始化摄像头并获取一张图像。然后,我们使用`binary`方法将图像二值化,并将二值化后的图像存储在`img`对象中。接下来,我们创建一个空数组`binary_array`,并使用嵌套的`for`循环遍历图像中的每个像素。对于每个像素,我们使用`get_pixel`方法获取其颜色值,并将其存储在数组中。如果像素的颜色值为0(即黑色),我们将数组中的对应位置设置为1,否则设置为0。最终得到的`binary_array`数组包含了图像的二值化结果。
阅读全文