• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 图像二值化函数为什么转换图像后还是以灰度的形式?



    • img.binary()函数为什么转换图像后还是以灰度的形式,而不是只有0和1的形式。如果我要做成只有0和1的二值形式应该怎么做?



    • img.binary()就是获得01二值化的图像。

      你没得到结果应该是你代码有问题,请附上详细的代码 现象 报错提示。



    • 如上手教程中寻线小车的那一节的例程所示,
      sensor.snapshot().binary([THRESHOLD]

      之后得到的图像并不是只有0,1的像素,从IDE右边的帧缓冲区也可以看出来,有些点还是带灰度的



    • @yuan 0_1538195442039_0ca541af-44e7-474e-93bc-8fb2b07b32e6-image.png 和循线小车的例程代码差不多,在二值化后IDE上面显示的还是有灰度值的,而且是以0-255的形式使用像素点



    • 应该是mjpeg压缩传输以后的损失。

      在OpenMV里是黑色(0,0,0)或者白色(255,255,255)。



    • @kidswong999

      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的图像只是显示用的,对算法不会有任何影响。