图像二值化函数为什么转换图像后还是以灰度的形式?
-
img.binary()函数为什么转换图像后还是以灰度的形式,而不是只有0和1的形式。如果我要做成只有0和1的二值形式应该怎么做?
-
img.binary()就是获得01二值化的图像。
你没得到结果应该是你代码有问题,请附上详细的代码 现象 报错提示。
-
如上手教程中寻线小车的那一节的例程所示,
sensor.snapshot().binary([THRESHOLD]之后得到的图像并不是只有0,1的像素,从IDE右边的帧缓冲区也可以看出来,有些点还是带灰度的
-
@yuan 和循线小车的例程代码差不多,在二值化后IDE上面显示的还是有灰度值的,而且是以0-255的形式使用像素点
-
应该是mjpeg压缩传输以后的损失。
在OpenMV里是黑色(0,0,0)或者白色(255,255,255)。
-
THRESHOLD = (0, 150) BINARY_VISIBLE = True import sensor, image, time, math, pyb from machine import Pin sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) sensor.set_framesize(sensor.QQQVGA) #80x60 sensor.skip_frames(time = 2000) sensor.set_vflip(True) sensor.set_hmirror(True) #翻转 clock = time.clock() while(True): clock.tick() img = sensor.snapshot() img.binary([THRESHOLD],invert=1)
用这段代码之后还是会出现图上那种情况。想请问如何才能避免传输损失,我想让整个图像只有黑白两色(因为现在图上一些像素点相当于灰度图一样,对我算法有一定的干扰)
还有IDE没有提供01二值化图像的显示功能,所以我猜灰度图经过二值化后还是只能用0和255来判断每个像素点。
-
ide的图像只是显示用的,对算法不会有任何影响。