OPENMV颜色识别时在关闭白平衡的情况下受环境影响导致无法识别
-
用OPENMV写的一个简单的追踪颜色的程序,关闭了白平衡,还看了手册设置了固定的亮度对比度何饱和度,尝试过关闭自动增益但是颜色识别受环境影响,主要体现在初始化的时候,一开始我用手堵住镜头,和一开始对着亮光的地方,完成初始化后,同种颜色显示的差异很大,导致无法追踪,如下图所示,我是安装在无人机上的,无人机上电后在地面完成初始化,飞到空中以后,识别的颜色就会出错,想问下还有没有对摄像头初始化的函数调整办法解决这个问题,或者有没有什么算法能容纳各种环境下的同种颜色。
import sensor, image, time from pyb import UART sensor.reset() # Initialize the camera sensor. sensor.set_pixformat(sensor.RGB565) # use RGB565. sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed. sensor.skip_frames(10) # Let new settings take affect. sensor.set_contrast(0) sensor.set_brightness(0) sensor.set_saturation(0) sensor.set_auto_whitebal(False) # turn this off. clock = time.clock() yellow_x=yellow_y=blue_x=blue_y=red_x=red_y=0 red_threshold =(48, 90, 48, 82, 11, 54) #red_threshold =(100, 52, -15, 47, -6, 68) yellow_threshold =(42, 69, 99, 42, -16, 70) blue_threshold =(42, 69, 99, 42, -16, 70)
请在这里粘贴代码
-
此回复已被删除!
-
sensor.set_auto_whitebal(False,rgb_gain_db=(-5,-6,-3))