關於空域增強技術基礎和matlab實現

空域圖像增強

圖像增強是爲了增強圖像中重要的部分,比如邊緣輪廓、灰度值的對比度,對圖像進行強調或者銳化在PS中經常用對比度、亮度等操作對照片的拍攝過程中的欠曝、過曝、對較模糊等問題進行彌補和修正,根據處理域的不同可以分爲空域圖像增強和變換域圖像增強,目前在學習的是空域圖像增強。

圖像算術增強

原理是指將多幅圖像的對應像素相加得到一副新的圖片,
表達式爲:Z(x,y)=a1X1(x,y)+a2X1(x,y)+a3X3(x,y)…
就是對像素點進行處理,起作用情況如下:

  1. 把同一景物的多重影像相加求平均,可降低圖像中的隨機噪聲
  2. 在圖像上疊加指示框,說明文字信息
  3. 對圖像進行特定的補償,比如增強總體亮度

相減的原理相同,效果相反
加減使用的是imadd(X,Y),乘除使用的是immultiply(X,Y),其中X是圖像數據舉證,可以是二維灰度圖像矩陣也可以是三位的RGB的圖像矩陣,Y是與X格式類型完全相同的圖像數據矩陣或者一個double類的數值,輸出的也是一個圖像矩陣,可以用imshow顯示。

 X=imread('unti5_01.bmp');
Z=imadd(X,50);Y=imadd(X,-50);
imshow(X),figure,imshow(Z),figure,imshow(Y);

以上爲使用正負數的Y作用在imadd函數對X圖片進行增加和減弱,效果如下:
在這裏插入圖片描述
但是這裏使用的是imadd中添加和減少亮度,使用immultiply產生的效果原理不同不好調控達到統一效果。

同時可以使用imadd和immultiply函數進行圖像疊加,條件是要求相加的兩張圖片的大小相同,不然會報錯

>> X=imread('unti5_01.bmp');
>> Y=imread('unti5_02.bmp');
>> A1=imadd(X,Y);
>> imshow(X),figure,imshow(A1);

在這裏插入圖片描述

如果相加或者相減的兩幅圖是同一張圖片,那麼效果就是增加和減少亮度,這點和PS內的圖層效果大致等價,當圖片像素亮度疊加超過255之後默認取最大值255白色,相減最小取值0黑色。

同樣的圖像疊加效果也可以使用:
imlincomb(權值1,圖片1,權值2,圖片2…),這樣可以多圖像疊加的時候控制權值
imsubstract函數可以搭配imopen函數調整圖像的背景色等等
imabsdiff可以在用於相近的圖像中找到不同點

>> X=imread('unti5_01.bmp');
>> Y=imread('unti5_02.bmp');
>> Z=imadd(X,Y);
>> A=imabsdiff(X,Z);
>> imshow(X);figure,imshow(Z),figure,imshow(A);

得到
在這裏插入圖片描述

圖像乘除增強

圖像乘除是指的將兩幅圖像的對應像素點分別乘除得到新的圖像,乘法一般用來對亮度進一步增強,對暗處進一步減弱(對比度),可以對亮度進行補償,對圖像經行掩膜處理。
除法應用比較少,用作歸一化處理。
乘除法使用的是immultiply(X,Y)函數,使用方法和imadd相同,也可以將其中Y參數改爲大小相同其他圖片。

我認爲如果在完成了單色的傾斜角檢測之後想拓展灰度圖像甚至彩色圖像,先用乘法增強線條應該是必須的步驟。

其他函數

imcomplement(X)函數:可以對圖像取反色

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章