2010-04-02 52 views
0

即時通訊嘗試在OpenGL CE中創建圖像過濾器。目前我正在嘗試創建一系列4x4矩陣並將它們相乘。然後使用glColorMask和glColor4f來相應地調整圖像。我已經能夠整合色調旋轉,飽和度和亮度。但我無法加入對比。迄今谷歌並沒有得到有益的幫助。我發現了一些矩陣,但它們似乎不起作用。你們有什麼想法嗎?OpenGL中的矩陣圖像處理CE

+0

什麼是「OpenGL CE」? – genpfault 2010-04-02 22:16:59

+0

你可以顯示色調,旋轉和亮度,飽和度的代碼嗎? – 2016-10-10 22:10:35

回答

0

我不得不說,我還沒有聽說過使用4x4矩陣做亮度或對比度。我認爲這些操作是在圖像的直方圖上完成的,而不是以本地每像素爲基礎。

舉例來說,你的圖像的值從0到200,你想讓它更明亮。然後,您可以爲圖像添加值,並且屏幕上顯示的內容會更亮。如果你想以增強圖像的對比度,你會做乘法,如:

(image_value - original_min)/(original_max - original_min) * (new_max - new_min) + new_min 
如果你希望你的新的最小值爲0

和新的最高是255,那麼這個等式將相應拉長對比。 original_min和original_max不一定是整個圖像的實際最小值和最大值,如果您想要增強特定區域並且不介意上面的剪切值,或者可以是圖像分部的最小值和最大值,或者低於你的new_min/new_max。

我想如果你已經知道你的範圍等等,你可以將這個公式結合到一個4x4矩陣來實現你的目標,但只有在你完成了一個合格後才能找到原始圖像的最小值和最大值。

我也會確保從圖像數據中取消圖像的顯示;上述操作具有破壞性,因爲您將丟失信息,因此您希望保留原件並顯示副本。