使用OpenCV补偿自动白平衡
我正在开发一个应用程序,它会接收摄像头的数据,然后进行各种处理,比如模糊处理,接着进行背景减除和阈值过滤。这是一种光学触摸屏改造系统(因为设计差异很大,所以不能使用tbeta/touchlib)。
摄像头的白平衡搞得阈值过滤很糟糕,每当用户的手出现时,画面就会变亮,而手离开时又会变暗,这样就导致画面出现大量的静态噪声。
有没有什么好的办法来解决这个问题?比如说,选取一个角落的区域,假设它的亮度是恒定的,然后调整图像其他部分的亮度,使得整体保持恒定,这样的想法靠谱吗?
1 个回答
1
你可以试着通过DirectShow来连接你的摄像头,然后在代码中关闭自动白平衡功能。或者你也可以先使用摄像头自带的软件,通常这个软件会让你调整一些设置,比如白平衡和其他类似的选项。