“MicroMV 颜色识别”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
第29行: 第29行:
 
</source>
 
</source>
 
将openMV连接到电脑,在线运行程序,并将色彩格式调换为“LAB Color”。<br />
 
将openMV连接到电脑,在线运行程序,并将色彩格式调换为“LAB Color”。<br />
[[File:MicroMV的lab切换.png||400px|left]]
+
[[File:MicroMV的lab切换.png||300px|left]]<br />
 +
使用鼠标在监视窗口拖选出目标颜色区域,记录下方LAB统计区中每一项的最小值和最大值<br />
 +
[[File:选取lab.png||300px|left]]<br />

2017年10月25日 (三) 05:37的版本

1、认识Lab 颜色空间

Lab颜色空间是由CIE(国际照明委员会)制定的一种色彩模式。自然界中任何一点色都可以在Lab空间中表达出来,它的色彩空间比RGB空间还要大。另外,这种模式是以数字化方式来描述人的视觉感应,与设备无关,所以它弥补了RGB和 CMYK模式必须依赖于设备色彩特性的不足。由于Lab的色彩空间要比RGB模式和CMYK模式的色彩空间大。这就意味着RGB以及CMYK所能描述的色彩信息在Lab空间中都能得以映射。Lab空间取坐标Lab,其中L亮度;a的正数代表红色,负端代表绿色;b的正数代表黄色,负端代表兰色。

2、快速上手

在IDE中写入以下代码

import sensor, image

# 设定目标颜色的LAB阈值 (L Min, L Max, A Min, A Max, B Min, B Max)
threshold = (0, 0, 0, 0, 0, 0)

sensor.reset()# 初始化摄像头
sensor.set_pixformat(sensor.RGB565)# 选择像素模式 RGB565
sensor.set_framesize(sensor.QVGA) #设定帧率
sensor.skip_frames(time=1000) #等待摄像头输出稳定
sensor.set_auto_gain(False) #关闭自动增益
sensor.set_auto_whitebal(False) #关闭白平衡。

while(True):
    img = sensor.snapshot()# 拍照,返回图像
    # 在图像中寻找满足:颜色阈值threshold, 像素阈值pixel_threshold, 面积阈值area_threshold的色块
    blobs = img.find_blobs([threshold], pixels_threshold=100, area_threshold=100)
    if blobs:
    #如果找到了目标颜色
        for blob in blobs :
        #使用矩形框和十字遍历标示出目标颜色
            img.draw_rectangle(blob.rect())
            img.draw_cross(blob.cx(), blob.cy())

将openMV连接到电脑,在线运行程序,并将色彩格式调换为“LAB Color”。

MicroMV的lab切换.png

使用鼠标在监视窗口拖选出目标颜色区域,记录下方LAB统计区中每一项的最小值和最大值

选取lab.png