OpenMV学习笔记(3) 获取图像的颜色信息

目录

一、前言

二、ROI(感兴趣的区域)​

三、Statistics

四、完整代码

  效果

五、讨论


一、前言

在图像识别中,如果想知道一个区域的颜色信息,我们可以使用统计信息——Statistics

 

二、ROI(感兴趣的区域)OpenMV学习笔记(3) 获取图像的颜色信息_第1张图片

 如图,如果我们想要知道蓝色方框内的颜色信息,我们想要定义这个方框的位置信息

 roi的格式是(x, y, w, h)的tupple.

  • x:ROI区域中左上角的x坐标(即起始x坐标,x=5)
  • y:ROI区域中左上角的y坐标(即起始y坐标,y=5)
  • w:ROI的宽度
  • h:ROI的高度

三、Statistics

  • 划定区域 
img.get_statistics(roi=(0,0,10,20))
  • 获取LAB通道信息
color_l=statistics.l_mode()
color_a=statistics.a_mode()
color_b=statistics.b_mode()

  Lab模式通道是由一个明度通道,和两个颜色通道(红绿通道和蓝黄通道)组成,在编辑图像时,就可以单独编辑它的亮     度通道和颜色通道,不会像RGB那样相互影响

 OpenMV学习笔记(3) 获取图像的颜色信息_第2张图片

  •  画一个矩形
img.draw_rectangle(ROI)

四、完整代码

 检测左上方的区域中的颜色值,并在终端输出

import sensor, image, time

sensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(10) # 跳过10帧,使新设置生效
sensor.set_auto_whitebal(False)               # Create a clock object to track the FPS.

ROI=(80,30,15,15)

while(True):
    img = sensor.snapshot()         # Take a picture and return the image.
    statistics=img.get_statistics(roi=ROI)
    color_l=statistics.l_mode()
    color_a=statistics.a_mode()
    color_b=statistics.b_mode()
    print(color_l,color_a,color_b)
    img.draw_rectangle(ROI)
  • sensor.set_auto_whitebal(False) 

       颜色识别必需关闭白平衡和自动增益

  效果

OpenMV学习笔记(3) 获取图像的颜色信息_第3张图片

 

五、讨论

【待解决】调试过程中,常有OpenMV卡死的现象

 

你可能感兴趣的:(OpenMV学习笔记,html,python,嵌入式硬件,opencv,人工智能)