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

2021-09-26 16:20:01 字數 764 閱讀 5836

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

1)當(y2-y1)/ (x2-x1)>1的時候,可以增強影象的對比度

2)當(y2-y1)/ (x2-x1)<1的時候,可以降低影象的對比度

3)當(y2-y1)/ (x2-x1)=1的時候,為線性變化函式

4)當x2=x1,y1=0,y2=255的時候,為閾值函式

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

qimage* mainwindow::graystretch(qimage* origiin,float x1, float y1, float x2, float y2)

else if (oldcolor.red() <= x2)

else

g = b = r;

newimage->setpixel(x, y, qrgb(r, g, b));}}

return newimage;

}

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

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

灰度線性變化是最常用的點運算 對每個畫素進行運算 操作之一,灰度線性變化就是將的畫素值通過指定的線性函式進行變換,以此增強或者減弱的灰度。灰度線性變換的公式就是常見的一維線性函式 y out k x input d 0 y 255 0 x 255 1 當k 1的時候,此時可用於增加的對比度 的畫素值...

Qt實現視窗的無邊框化且可拉伸大小

大家在做qt的時候,經常都會遇到自定義qwidget吧,但一旦實現後,有變的不可以拉伸了,今天我們就來做乙個可拉伸的自定義qwidget並且可以移動 ifndef autosizewidget h define autosizewidget h include basewidget.h 這是main...

離散傅利葉變換 快速傅利葉變換C 實現

傅利葉變換是將時域訊號變換為頻域訊號的一種方式,我主要用它來做兩件事情 1 求一段資料的週期性。2 通過傅利葉變換及其逆變換,進行低通濾波 去躁 首先需要做幾點說明 1.快速傅利葉變換是離散傅利葉變換的快速演算法,當資料來源較大時 大於1000 快速傅利葉變換有明顯優勢。2.快速傅利葉變換的訊號源長...