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

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

一、前言


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


二、ROI(感兴趣的区域)


20211005121856760.jpg


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


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


20211005123253663.jpg


  • 画一个矩形


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)


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


效果


20211005124345566.png


五、讨论


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

相关文章
|
机器学习/深度学习 传感器 算法
【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
|
7月前
LabVIEW更改图像特定部分的颜色
LabVIEW更改图像特定部分的颜色
61 4
|
2月前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
95 0
|
5月前
|
计算机视觉 Python
图像绘制以及写字
【7月更文挑战第28天】图像绘制以及写字。
35 7
|
编解码
使用遮罩提取图像中感兴趣的区域
使用遮罩隔离感兴趣区域 (ROI) 来有效地处理被阻止的图像。 某些大图像源仅在图像的一小部分中具有有意义的数据。可以通过将处理限制为包含有意义数据的 ROI 来缩短总处理时间。使用掩码定义投资回报率。蒙版是一种逻辑图像,其中像素表示投资回报率。
134 1
|
计算机视觉 C++ Python
Python相片图片编辑工具-翻转旋转亮度磨皮裁剪添加文字
这篇博客针对<<Python相片图片编辑工具-翻转旋转亮度磨皮裁剪添加文字>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。
113 0
|
数据可视化 C++
【影像配准】配准之棋盘网格图(镶嵌图像)(附有 C++ 代码)
【影像配准】配准之棋盘网格图(镶嵌图像)(附有 C++ 代码)
|
文字识别 监控 算法
Baumer工业相机堡盟相机使用BGAPISDK联合Halcon直接进行彩色图像显示(Color)(C#)(将图像数据Buffer转为HObject)
Baumer工业相机堡盟相机使用BGAPISDK联合Halcon直接进行彩色图像显示(Color)(C#)(将图像数据Buffer转为HObject)
160 0
|
前端开发 数据可视化
【视觉基础篇】13 # 如何给简单的图案添加纹理和复杂滤镜?
【视觉基础篇】13 # 如何给简单的图案添加纹理和复杂滤镜?
95 0
【视觉基础篇】13 # 如何给简单的图案添加纹理和复杂滤镜?
|
传感器
OpenMV学习笔记(2) 获取图像
OpenMV学习笔记(2) 获取图像
366 0