matlabrobert锐化_Matlab图像处理—锐化滤波器
銳化濾波器
銳化處理的主要目的是,突出灰度的過渡部分,增強圖像中的細節。空間域像素鄰域平均法可以使圖像變模糊,均值處理與積分類似,所以銳化處理可以用空間微分(差分)來完成。
對比模糊:
模糊(平滑)是去除圖像的細節,均值處理。
銳化是突出圖像的細節,微分(差分)處理。
銳化濾波器主要有兩種銳化方法:
1. 使用二階微分的圖像銳化:拉普拉斯銳化
2. 使用一階微分的圖像銳化:梯度銳化
Part1. 拉普拉斯銳化
用算子產生的圖像暗色背景疊加淺灰色邊及突變點明顯。
拉普拉斯算子銳化圖像的后處理(背景和邊緣):
由于拉普拉斯是一種微分算子,拉普拉斯圖像強調原圖中的灰度突變區域,衰減灰度變化慢區域,恒定區域變為0。
將原始圖像和拉普拉斯圖像疊加在一起的簡單方法可以保護拉普拉斯銳化處理的效果,同時又能復原背景信息。所以適用拉普拉斯變換對圖像銳化增強的基本方法可表示為:
插入介紹 圖像的算術的操作:
就是陣列操作,圖像可以等價的被看成是矩陣,包含一幅或多幅圖像的,陣列操作是以逐個像素為基礎執行的。算術操作如下:
圖像算術操作涉及相同大小的圖像。
回到拉普拉斯銳化
拉普拉斯算子是常用的邊緣增強算子,是一種各向同性的線性運算(旋轉不變性),這種濾波器的響應與濾波器作用的圖像的突變方向無關,也就是各向同性濾波器是旋轉不變的。
以90度為增量進行旋轉各向同性。c的取值要合理,如果c過大,圖像輪廓邊緣會產生過沖;而過小,銳化效果就不明顯。
另外,對角線也可以這樣組成:在下式中添入兩項,即兩個對角線方向各加1個。由于每個對角線方向上的項還包含一個-2f(x,y),所以總共應減去-8f(x,y)。得到的新模板對450增幅的結果是各向同性的。如下所示
做一比對:
Part2. 梯度銳化
假設M(x,y)是與原圖像大小相同的圖,稱為該圖像的梯度圖像,可簡稱為梯度。
梯度向量的分量是微分,是線性算子,但梯度的幅值不是線性算子,是做了平方和方根。
梯度的偏微分不是旋轉不變的,梯度向量的幅值是旋轉不變的。有時計算用絕對值來近似平方和方根。
這中方法保留了灰度的相對變化,但丟失了各向同向特性。
(1)離散情況下,對一階微分的最簡單的近似:
(2)交叉微分:
交叉梯度算子有一個缺陷:偶數尺寸不太容易實現。
(3)3x3近似:
Sobel算子:
則梯度幅值為:
示例效果圖:
小結:
梯度銳化
去除變化慢的背景
在灰度平坦區域中增強細小的突變
突出灰度圖像中看不見的斑點
拉普拉斯銳化
增強灰度突變處的對比度,形成細節比較好
大多數應用中,對圖像增強來說二階微分處理比一階微分好,因為形成細節的能力強, 而一階微分處理主要用于提取邊緣。
示例:
matlab:
%%%銳化%%%%
f_average = fspecial('average',[3 3])
f_sobel = fspecial('sobel')
f_laplacian = fspecial('laplacian',0)
A = mat2gray(imread('moon.tif'));
B1 = imfilter(A,f_average);
B2 = imfilter(A,f_sobel);
B3 = imfilter(A,f_laplacian);
figure;
subplot(221);imshow(A);
subplot(222);imshow(B1);
subplot(223);imshow(B2);
subplot(224);imshow(-B3);
figure;
subplot(221);imshow(A);
subplot(222);imshow(A-B1);
subplot(223);imshow(A-B2);
subplot(224);imshow(A-B3);
%%選擇圖片%%
[file, path] = uigetfile({'*.jpg'; '*.bmp'; '*.gif'; '*.png' }, '選擇圖片');
A = imread([path, file]);
結果:
reference:
李衛軍,肖宛昂,董肖莉,覃鴻老師《視覺信息處理及FPGA實現》課程等
越是憧憬,越要風雨兼程。
總結
以上是生活随笔為你收集整理的matlabrobert锐化_Matlab图像处理—锐化滤波器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在python中对列表套列表进行排序
- 下一篇: mysql将一个字符转换成多个字符_将分