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

目录

一、前言

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

三、Statistics

四、完整代码

  效果

五、讨论


一、前言

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

 

二、ROI(感兴趣的区域)

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

 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那样相互影响

 

  •  画一个矩形
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卡死的现象

 

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落叶随峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值