• OpenMV VSCode 扩展发布了,在插件市场直接搜索OpenMV就可以安装
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 报错AttributeError: 'Image' object has no attribute 'to_hsv'



    • import sensor, image, time
      
      # 初始化摄像头
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.QVGA)
      sensor.skip_frames(time = 2000)
      
      # 设置颜色阈值,以分离污水和纯净水
      green_threshold = (0, 80, -70, -10, 0, 30)
      blue_threshold = (0, 30, -10, 10, -50, 0)
      
      # 设置形态学操作的内核大小和迭代次数
      kernel_size = 3
      morph_iterations = 2
      
      while(True):
          # 捕获图像
          img = sensor.snapshot()
      
          # 将图像转换为HSV颜色空间
          img_hsv = img.to_hsv()    #一直报错
      
          # 分离污水和纯净水的颜色通道
          img_green = img_hsv.channel(1)
          img_blue = img_hsv.channel(2)
      
          # 对颜色通道应用颜色阈值
          img_green_binary = img_green.binary([green_threshold])
          img_blue_binary = img_blue.binary([blue_threshold])
      
          # 对二值化图像应用形态学操作,以去除噪点和进一步分离污水和纯净水
          kernel = image.get_kernel(kernel_size, kernel_size)
          img_green_binary = img_green_binary.erode(kernel, iterations=morph_iterations)
          img_green_binary = img_green_binary.dilate(kernel, iterations=morph_iterations)
          img_blue_binary = img_blue_binary.erode(kernel, iterations=morph_iterations)
          img_blue_binary = img_blue_binary.dilate(kernel, iterations=morph_iterations)
      
          # 计算污水和纯净水的像素数
          green_pixels = img_green_binary.count(True)
          blue_pixels = img_blue_binary.count(True)
      
          # 计算污水和纯净水的比例
          water_ratio = green_pixels / (green_pixels + blue_pixels)
      
          # 打印污水和纯净水的比例
          print("Water ratio: %f" % water_ratio)
      
          # 暂停一段时间,以允许下一次循环
          time.sleep(100)
      


    • 没有这个函数,没有这个功能。