基本的灰度變換

2022-05-06 23:21:07 字數 1981 閱讀 2705

最近在學習數字影象處理,更新一些基礎知識,並使用opencv和c++做復現。

基本的灰度變化就是對影象畫素點做運算,使其滿足我們的需求。

幾種基本的灰度變換,畫素點對應情況如下圖所示:

1、影象反轉

若原影象灰度量級【0-l-1】,則現影象每個畫素點灰度為x,變化後為l-1-x。總體變換效果就是暗的變亮,量的變暗。

1

void

reverse(mat src1)217

}18 imshow("原圖"

, src);

19 imwrite("

原圖.jpg

", src);

20 imwrite("

變換後圖.jpg

", deimage);

21 imshow("

變換後圖

", deimage);

22 waitkey(0

);23 }

效果展示:

2、對數變換

即將畫素值變為對數形式。由於對數函式的特點,該變換將較暗區域的畫素值對映到較量區域,增加整體影象亮度。

1

void

logtrans(mat src)28

mat graysrc;

9cvtcolor(src, graysrc, cv_rgb2gray);

10mat yimage(graysrc.size(), cv_32fc1);

11for (int i = 0; i < src.rows; i++)

1217}18

mat dst(graysrc.size(), cv_8uc1);

19 normalize(yimage, dst, 0, 255

, norm_minmax);

20convertscaleabs(dst,dst);

21 imshow("

對數變換

", dst);

22 imwrite("

對數變換.jpg

", dst);

23 waitkey(0

);24

25 }

效果展示:

3、冪律變換

和對數變換相似,將畫素變換為指數形式,公式為cry。不同的是可通過控制引數決定擴大較暗區域或較量區域的大小。畫素變換前後值如下圖:

**略過。參照對數變換,y為5

4、分段變換與灰度分層

分段變換即將不同段的畫素進行不同的畫素變換。 灰度分層只每一層灰度表示不同的資訊。

**略過參照前面圖,結果如下:

灰度分層即找到某閾值,不同灰度面代表不同的影象資訊。大於閾值的設為255,小於閾值設為0,即可看出細節資訊。這點到閾值分割的時候再講。

灰度變換函式

low in high in low out,high out 預設 0 1 gamma預設 1 當gamma 1,對映曲線如圖,將低灰度 對映到 高灰度,呈現效果就是變白 當gamma 1,對映曲線如圖,影象是線性,呈現效果就是沒變 等值對映,否則有變化,得到灰度值擴大或者縮小 當gamma 1,...

灰度變換(上)

正文 空間域增強是指增強構成影象的畫素 影象增強是要突出影象中的某些資訊,同時削弱或去除某些不需要資訊的一種處理方法,以得到對具體應用來說視覺效果更 好 或更 有用 的影象的技術。影象在傳輸或者處理過程中會引入雜訊或使影象變模糊,從而降低了影象質量,甚至淹沒了特徵,給分析帶來了困難。點處理 影象灰度...

灰度變換與空間濾波摘要

基本灰度變換 影象反 s l 1 r 得到等效的 底片 對數變換 伽馬變換 分段線性變換可用於對比度拉伸,灰度級分層 位元平面分層,就是影象用8位元表示,只儲存其中幾個位元的平面 採用閾值處理,比如儲存8位元影象時,大於128的畫素對映為1,小於128對映為0 用於影象的壓縮,直方圖均衡 用於增強影...