星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 两个程序运行



    • 我要识别三个颜色,当三个颜色识别结束以后退出颜色识别程序打开二维码扫码程序,但是不能累加颜色识别计数
      这是程序

      import sensor, image,time,pyb,utime
      import sensor, image, time,utime
      from pyb import UART
      p0 = pyb.Pin('P0', pyb.Pin.OUT_PP)
      p0.value(1)
      uart = UART(3, 57600)
      output_str=0
      yanse=0
      flag0=1
      f=0
      while 1:
        if uart.any():
      	 flag0=uart.readline().decode()
      	 flag0=int(flag0)
      	 print(flag0)
        if flag0==1:
      		 thresholds= [(60, 18, 37, 75, -35, 76),(58, 24, -11, 17, -61, -16),(60, 30, -17, -58, -43, 31)]
      		 sensor.reset()
      		 sensor.set_pixformat(sensor.RGB565)
      		 sensor.set_framesize(sensor.QVGA)
      		 sensor.skip_frames(time = 2000)
      		 sensor.set_auto_gain(False)
      		 sensor.set_auto_whitebal(False)
      		 while flag0 :
      			img = sensor.snapshot()
      			blobs=img.find_blobs(thresholds, pixels_threshold=5000, area_threshold=400)
      			for blob in blobs:
      			  img.draw_rectangle(blob.rect())
      			  img.draw_cross(blob.cx(), blob.cy())
      			  yanse="%s" % (blob.code())
      			  print( yanse)
      			  pyb.delay(500)
      			  if  yanse :
                       f=f+1
      				 uart.write(yanse)
      				 yanse=0
                    if f==3 :
                       flag0=2
                       
      				
        if flag0==2:
      	sensor.reset()
      	sensor.set_pixformat(sensor.GRAYSCALE)
      	sensor.set_framesize(sensor.VGA)
      	sensor.set_windowing((240, 240))
      	sensor.skip_frames(30)
      	sensor.set_auto_gain(False)
      	while flag :
      	  img = sensor.snapshot()
      	  img.lens_corr(0.1)
      	  for code in img.find_qrcodes():
      		img.draw_rectangle(code.rect(), color = (255, 0, 0))
      		output_str="%s" % (code.payload())
      		print(output_str)
      		pyb.delay(500)
      		if output_str:
      		   uart.write(output_str)
      		   pyb.delay(10)
      		   p0.value(0)
      		   pyb.delay(10)
      		   p0.value(1)
      		   output_str=0
      		   flag=0
      


    • 什么叫做“颜色识别计数”



    • 我识别一个颜色就让他加1一共识别三个颜色然后退出这个循环



    • 你的代码,缩进完全对应不上逻辑。



    • 原来可以用,加了一个f=3的判断语句,结果就不行了



    • 你的代码太长,我帮不了你。



    • 你应该先看看教程。

      https://singtown.com/learn/50029/



    • 缩进完全对应不上。
      逻辑乱七八糟。
      变量还是中文拼音。
      代码就像是💩粘起来的



    • flag变量一大把,鬼知道你的flag是啥意思。