使用OpenCV补偿自动白平衡

4 投票
1 回答
5026 浏览
提问于 2025-04-16 03:56

我正在开发一个应用程序,它会接收摄像头的数据,然后进行各种处理,比如模糊处理,接着进行背景减除和阈值过滤。这是一种光学触摸屏改造系统(因为设计差异很大,所以不能使用tbeta/touchlib)。

摄像头的白平衡搞得阈值过滤很糟糕,每当用户的手出现时,画面就会变亮,而手离开时又会变暗,这样就导致画面出现大量的静态噪声。

有没有什么好的办法来解决这个问题?比如说,选取一个角落的区域,假设它的亮度是恒定的,然后调整图像其他部分的亮度,使得整体保持恒定,这样的想法靠谱吗?

1 个回答

1

你可以试着通过DirectShow来连接你的摄像头,然后在代码中关闭自动白平衡功能。或者你也可以先使用摄像头自带的软件,通常这个软件会让你调整一些设置,比如白平衡和其他类似的选项。

撰写回答