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



    • 
      import sensor,time,pyb,math#引用模块sensor(摄像头传感器),time(追踪经过时间),pyb(与电路板相关的功能),math(数学函数库)。
      from pyb import Pin, Timer, LED, UART#从模块pyb中引入LED,定时器,UART,Pin类
      #黑色点阈值
      blue_threshold = [(25, 85, -87, 92, -88, -14)]#对于灰度图像,每个元组需要包含两个值 - 最小灰度值和最大灰度值。
      #xy平面误差数据
      err_x = 0
      err_y = 0
      sensor.reset()#初始化摄像头传感器。
      sensor.set_pixformat(sensor.RGB565)#设置灰度信息RGB565像素模式。每像素为16位、2字节。5位用于红色,6位用于绿色,5位用于蓝色。,
      sensor.set_framesize(sensor.QQVGA)#设置图像大小,80x60 分辨率的相机传感器。
      sensor.skip_frames(20)#相机自检几张图片,使用 20个快照,让相机图像在改变相机设置后稳定下来。 20 作为普通参数传输, 例如: skip_frames(10) 跳过 10 帧。您应在改变相机设置后调用该函数。
      sensor.set_auto_whitebal(False)#关闭白平衡
      clock = time.clock()#打开时钟,时钟对象
      while(True):
          clock.tick()#开始追踪运行时间。返回以毫秒计的通电后的运行时间
          img = sensor.snapshot()#使用相机拍摄一张照片,并返回 image 对象。
          blobs = img.find_blobs(blue_threshold)#返回一个包括每个色块的色块对象的列表。 
          for j in range(len(blobs)):
              #寻找blob
              rects =img.find_rects(blobs[j].rect(),30000)
              for i in range(len(rects)):
                  img.draw_cross(rects[j].x(),rects[j].y())#调试使用在图像上绘制一个十字。 您可以单独传递x,y或作为元组(x,y)传递。,
                  img.draw_rectangle(rects[j].rect())#在图像上绘制一个矩形。 您可以单独传递x,y,w,h或作为元组(x,y,w,h)传递。
         
      rects =img.find_rects(blobs[j].rect(),30000),这句总是出现SyntaxError: invalid syntax


    • 有个中文的逗号,所以报错



    • @kidswong999 我修改了,但是还是出现问题,没有报错,就是图片不再改变,openmv上的灯不停的闪烁

      
      import sensor,time,pyb,math#引用模块sensor(摄像头传感器),time(追踪经过时间),pyb(与电路板相关的功能),math(数学函数库)。
      from pyb import Pin, Timer, LED, UART#从模块pyb中引入LED,定时器,UART,Pin类
      #黑色点阈值
      blue_threshold = [(25, 85, -87, 92, -88, -14)]#对于灰度图像,每个元组需要包含两个值 - 最小灰度值和最大灰度值。
      #xy平面误差数据
      err_x = 0
      err_y = 0
      sensor.reset()#初始化摄像头传感器。
      sensor.set_pixformat(sensor.RGB565)#设置灰度信息RGB565像素模式。每像素为16位、2字节。5位用于红色,6位用于绿色,5位用于蓝色。,
      sensor.set_framesize(sensor.QQVGA)#设置图像大小,80x60 分辨率的相机传感器。
      sensor.skip_frames(20)#相机自检几张图片,使用 20个快照,让相机图像在改变相机设置后稳定下来。 20 作为普通参数传输, 例如: skip_frames(10) 跳过 10 帧。您应在改变相机设置后调用该函数。
      sensor.set_auto_whitebal(False)#关闭白平衡
      clock = time.clock()#打开时钟,时钟对象
      while(True):
          clock.tick()#开始追踪运行时间。返回以毫秒计的通电后的运行时间
          img = sensor.snapshot()#使用相机拍摄一张照片,并返回 image 对象。
          blobs = img.find_blobs(blue_threshold)#返回一个包括每个色块的色块对象的列表。 
          for j in range(len(blobs)):
              rects =img.find_rects(blobs[j].rect())
              for i in range(len(rects)):
                  img.draw_cross(rects[i].x()+int (rects[i].w()/2),rects[i].y()+int (rects[i].h()/2))#调试使用在图像上绘制一个十字。 您可以单独传递x,y或作为元组(x,y)传递。,
                  img.draw_rectangle(rects[i].rect())#在图像上绘制一个矩形。 您可以单独传递x,y,w,h或作为元组(x,y,w,h)传递。