2011-12-30 61 views
2

我想查看某個遮罩區域中圖像的對比度,如果它太大,請將其減小。有內置函數可以幫助我嗎?如果不是,我應該看什麼樣的算法?我假設我會考慮/改變像素的值以使它們更接近平均值,也許距平均值的平均距離是衡量初始對比度的好方法?如何使用OpenCV更改圖像的對比度?

如果相關,我正在使用EmguCV。

+0

謝謝你們 - 看起來我可能會想要採取相當邊緣重的直方圖並使它們相等。 – 2011-12-30 20:27:52

回答

2

對比度是一個位圖像處理的不精確的術語 - 但通常你會通過拉伸/壓縮histogram

1

就像馬丁說,你要分別操縱灰色的流通的顏色來修改圖像做值。通用解決方案是應用於直方圖的曲線,您可以在The Gimp中播放這些曲線。有關如何在OpenCV中應用基本圖像處理和直方圖操作功能的示例,您可以查看下面的代碼:mango

5

如果您使用OpenCV,則不需要直接從圖像中提取直方圖。

如果要通過直方圖均衡調整圖像的對比度,OpenCV具有equalizeHist函數。

但請注意,當您調整圖像的對比度時,直方圖均衡並不總是您想要的。如果您想進行對比度拉伸(一種非常簡單而有效的算法),則只需找到圖像的最小和最大灰度級(像素值),並對每個圖像像素應用以下點操作:

​​

我在這裏假設每個像素的取值範圍是0-255。此外,minValue和maxValue對應於輸入圖像中的最小和最大灰度值。

相關問題