Python圖像處理之圖像的灰度線性變換_第1頁(yè)
Python圖像處理之圖像的灰度線性變換_第2頁(yè)
Python圖像處理之圖像的灰度線性變換_第3頁(yè)
Python圖像處理之圖像的灰度線性變換_第4頁(yè)
Python圖像處理之圖像的灰度線性變換_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第Python圖像處理之圖像的灰度線性變換目錄一.圖像灰度線性變換原理二.圖像灰度上移變換三.圖像對(duì)比度增強(qiáng)變換四.圖像對(duì)比度減弱變換五.圖像灰度反色變換

一.圖像灰度線性變換原理

圖像的灰度線性變換是通過建立灰度映射來調(diào)整原始圖像的灰度,從而改善圖像的質(zhì)量,凸顯圖像的細(xì)節(jié),提高圖像的對(duì)比度。

灰度線性變換的計(jì)算公式如下所示:

該公式中DB表示灰度線性變換后的灰度值,DA表示變換前輸入圖像的灰度值,和b為線性變換方程f(D)的參數(shù),分別表示斜率和截距。

當(dāng)=1,b=0時(shí),保持原始圖像當(dāng)=1,b!=0時(shí),圖像所有的灰度值上移或下移當(dāng)=-1,b=255時(shí),原始圖像的灰度值反轉(zhuǎn)當(dāng)1時(shí),輸出圖像的對(duì)比度增強(qiáng)當(dāng)01時(shí),輸出圖像的對(duì)比度減小當(dāng)0時(shí),原始圖像暗區(qū)域變亮,亮區(qū)域變暗,圖像求補(bǔ)

如圖所示,顯示了圖像的灰度線性變換對(duì)應(yīng)的效果圖:

二.圖像灰度上移變換

該算法將實(shí)現(xiàn)圖像灰度值的上移,從而提升圖像的亮度,其實(shí)現(xiàn)代碼如下所示。由于圖像的灰度值位于0至255區(qū)間之內(nèi),所以需要對(duì)灰度值進(jìn)行溢出判斷。

#-*-coding:utf-8-*-

importcv2

importnumpyasnp

importmatplotlib.pyplotasplt

#讀取原始圖像

img=cv2.imread('miao.png')

#圖像灰度轉(zhuǎn)換

grayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#獲取圖像高度和寬度

height=grayImage.shape[0]

width=grayImage.shape[1]

#創(chuàng)建一幅圖像

result=np.zeros((height,width),np.uint8)

#圖像灰度上移變換DB=DA+50

foriinrange(height):

forjinrange(width):

if(int(grayImage[i,j]+50)255):

gray=255

else:

gray=int(grayImage[i,j]+50)

result[i,j]=np.uint8(gray)

#顯示圖像

cv2.imshow("GrayImage",grayImage)

cv2.imshow("Result",result)

#等待顯示

cv2.waitKey(0)

cv2.destroyAllWindows()

其輸出結(jié)果如下圖所示,圖像的所有灰度值上移50,圖像變得更白了。注意,純黑色對(duì)應(yīng)的灰度值為0,純白色對(duì)應(yīng)的灰度值為255。

三.圖像對(duì)比度增強(qiáng)變換

該算法將增強(qiáng)圖像的對(duì)比度,Python實(shí)現(xiàn)代碼如下所示:

#-*-coding:utf-8-*-

importcv2

importnumpyasnp

importmatplotlib.pyplotasplt

#讀取原始圖像

img=cv2.imread('miao.png')

#圖像灰度轉(zhuǎn)換

grayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#獲取圖像高度和寬度

height=grayImage.shape[0]

width=grayImage.shape[1]

#創(chuàng)建一幅圖像

result=np.zeros((height,width),np.uint8)

#圖像對(duì)比度增強(qiáng)變換DB=DA*1.5

foriinrange(height):

forjinrange(width):

if(int(grayImage[i,j]*1.5)255):

gray=255

else:

gray=int(grayImage[i,j]*1.5)

result[i,j]=np.uint8(gray)

#顯示圖像

cv2.imshow("GrayImage",grayImage)

cv2.imshow("Result",result)

其輸出結(jié)果如下圖所示,圖像的所有灰度值增強(qiáng)1.5倍。

四.圖像對(duì)比度減弱變換

該算法將減弱圖像的對(duì)比度,Python實(shí)現(xiàn)代碼如下所示:

#-*-coding:utf-8-*-

importcv2

importnumpyasnp

importmatplotlib.pyplotasplt

#讀取原始圖像

img=cv2.imread('miao.png')

#圖像灰度轉(zhuǎn)換

grayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#獲取圖像高度和寬度

height=grayImage.shape[0]

width=grayImage.shape[1]

#創(chuàng)建一幅圖像

result=np.zeros((height,width),np.uint8)

#圖像對(duì)比度減弱變換DB=DA*0.8

foriinrange(height):

forjinrange(width):

gray=int(grayImage[i,j]*0.8)

result[i,j]=np.uint8(gray)

#顯示圖像

cv2.imshow("GrayImage",grayImage)

cv2.imshow("Result",result)

#等待顯示

cv2.waitKey(0)

cv2.destroyAllWindows()

其輸出結(jié)果如下圖所示,圖像的所有灰度值減弱,圖像變得更暗。

五.圖像灰度反色變換

反色變換又稱為線性灰度求補(bǔ)變換,它是對(duì)原圖像的像素值進(jìn)行反轉(zhuǎn),即黑色變?yōu)榘咨咨優(yōu)楹谏倪^程。其Python實(shí)現(xiàn)代碼如下所示:

#-*-coding:utf-8-*-

importcv2

importnumpyasnp

importmatplotlib.pyplotasplt

#讀取原始圖像

img=cv2.imread('miao.png')

#圖像灰度轉(zhuǎn)換

grayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#獲取圖像高度和寬度

height=grayImage.shape[0]

width=grayImage.shape[1]

#創(chuàng)建一幅圖像

result=np.zeros((height,width),np.uint8)

#圖像灰度反色變換DB=255-DA

foriinrange(height):

forjinrange(width):

gray=255-grayImage[i,j]

result[i,j]=np.uint8(gray)

#顯示圖像

cv2.imshow("GrayImage

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論