灰度線性變換之c 實現(qt 不調包)

2021-09-26 11:49:18 字數 726 閱讀 6892

灰度線性變化是最常用的點運算(對每個畫素進行運算)操作之一,灰度線性變化就是將的畫素值通過指定的線性函式進行變換,以此增強或者減弱的灰度。灰度線性變換的公式就是常見的一維線性函式:

y_out = k * x_input + d (0<= y <=255; 0<= x <=255)

1)當k>1的時候,此時可用於增加的對比度(的畫素值在變換後全部增大,整體顯示效果被增強)。

2)當k=1的時候,此時可用於調節的亮度(亮度的調節就是讓影象的各畫素值都增加或者減少一定量,當d>0時候,亮度增加,反正則減少)

3)當01的時候剛剛相反,影象的對比度和整體效果都被削弱了。

4)當k<0的時候,原較亮的區域變暗,而較暗的區域會變亮。當k=-1,d=255的時候,就是反色處理,可參考我的一篇部落格:反色操作之c++實現(qt + 不調包)

彩色圖轉灰度圖之c++實現(qt + 不調包)

/*線性變化函式*/

/*solpe為線性函式的斜率 inter為截距*/

qimage* mainwindow::linetrans(qimage* origiin,float slope, float inter)

}return newimage;

}

數字影象處理——技術詳解與visual c++實踐(左飛等著),寫**與寫部落格的時間相差兩年,至於還參考其他的資料不,我已經忘記了,如若需要,我可以補上去

灰度拉伸變換之c 實現(qt 不調包)

灰度拉伸,與線性變換有點類似 可參考 灰度線性變換之c 實現 qt 不調包 不同之處在於灰度拉伸使用的是分段線性變換,所以它最大的優勢是變換函式可以由使用者任意合成。其公式如下圖,其中x為輸入畫素值,y為輸出畫素值,x1 x2 y1和y2都是引數。1 當 y2 y1 x2 x1 1的時候,可以增強影...

線性變換之縮放

向量v通過單位向量n作為縮放方向,k作為縮放因子的縮放後的向量為 s n,k v k 1 v n n 2d縮放矩陣 通過上面的公式可以知道 nx ny為向量n的x和y分量 s 1 0 k 1 k 1 nx k 1 nxny s 0 1 k k 1 nxny 1 k 1 ny so 1 k 1 nx ...

OpenCV 對比度增強之線性變換

原理講解 輸入的影象為i,寬為w,高為h,輸出影象記為o,影象的線性變換可以利用以下公式定義 當a 1,b 0時,o為i的乙個副本 如果a 1則輸出影象o的對比度比i有所增大 如果00時,亮度增加 當b 0時,亮度減小。舉例 假設影象的灰度級範圍是 50,100 通過a 2,b 0的線性變換,可以將...