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



    • 😟我想用串口发送一个变量,但显示错误:object with buffer protocol required。这里不知道为什么不能发照片截图。是因为我的变量没有用json定义吗?我看教程-串口通信上里面的串口发送的output_str是赋值了json定义的数据

      import sensor, image, time, os, tf
      
      from machine import UART
      import json
      
      uart = UART(3, 9600)
      
      sensor.reset()                         # Reset and initialize the sensor.
      sensor.set_pixformat(sensor.RGB565)    # Set pixel format to RGB565 (or GRAYSCALE)
      sensor.set_framesize(sensor.QVGA)      # Set frame size to QVGA (320x240)
      sensor.set_windowing((240, 240))       # Set 240x240 window.
      sensor.skip_frames(time=2000)          # Let the camera adjust.
      
      labels = [line.rstrip() for line in open("labels.txt")]
      class_num = len(labels)#取出标签数量
      
      clock = time.clock()
      
      while(True):
          clock.tick()
          img = sensor.snapshot()#trained.tflite地址的模型,对比img,输出相似值
          for obj in tf.classify("trained.tflite", img, min_scale=1.0, scale_mul=0.8, x_overlap=0.5, y_overlap=0.5):
              img.draw_rectangle(obj.rect())#对obj坐标画框
              output = obj.output()
              for i in range(class_num):
                  print("%s = %f" % (labels[i], output[i]))#标签 = 置信度
      
          print(clock.fps(), "fps")
          
          max_index = output.index(max(output))#索引位置,即max_value在数组中的位置
          
          print("最大数的位置是:\n", max_index + 1)
          
          if max_index:
              uart.write(max_index + 1)
      
      
              最后一行这个index有问题max
      
      


    • 我大学生做项目,识别不同物体,然后用串口发送不同的一个数,让主板去搞其他操作,我物体识别的代码就是上面的,用index提取output这个数组的最大数的位置,然后串口发送该位置



    • uart.writechar(max_index + 1)
      

      注意,这个只能发送0~255