matlabrobert锐化_Matlab图像处理—锐化滤波器
銳化濾波器
銳化處理的主要目的是,突出灰度的過(guò)渡部分,增強(qiáng)圖像中的細(xì)節(jié)??臻g域像素鄰域平均法可以使圖像變模糊,均值處理與積分類似,所以銳化處理可以用空間微分(差分)來(lái)完成。
對(duì)比模糊:
模糊(平滑)是去除圖像的細(xì)節(jié),均值處理。
銳化是突出圖像的細(xì)節(jié),微分(差分)處理。
銳化濾波器主要有兩種銳化方法:
1. 使用二階微分的圖像銳化:拉普拉斯銳化
2. 使用一階微分的圖像銳化:梯度銳化
Part1. 拉普拉斯銳化
用算子產(chǎn)生的圖像暗色背景疊加淺灰色邊及突變點(diǎn)明顯。
拉普拉斯算子銳化圖像的后處理(背景和邊緣):
由于拉普拉斯是一種微分算子,拉普拉斯圖像強(qiáng)調(diào)原圖中的灰度突變區(qū)域,衰減灰度變化慢區(qū)域,恒定區(qū)域變?yōu)?。
將原始圖像和拉普拉斯圖像疊加在一起的簡(jiǎn)單方法可以保護(hù)拉普拉斯銳化處理的效果,同時(shí)又能復(fù)原背景信息。所以適用拉普拉斯變換對(duì)圖像銳化增強(qiáng)的基本方法可表示為:
插入介紹 圖像的算術(shù)的操作:
就是陣列操作,圖像可以等價(jià)的被看成是矩陣,包含一幅或多幅圖像的,陣列操作是以逐個(gè)像素為基礎(chǔ)執(zhí)行的。算術(shù)操作如下:
圖像算術(shù)操作涉及相同大小的圖像。
回到拉普拉斯銳化
拉普拉斯算子是常用的邊緣增強(qiáng)算子,是一種各向同性的線性運(yùn)算(旋轉(zhuǎn)不變性),這種濾波器的響應(yīng)與濾波器作用的圖像的突變方向無(wú)關(guān),也就是各向同性濾波器是旋轉(zhuǎn)不變的。
以90度為增量進(jìn)行旋轉(zhuǎn)各向同性。c的取值要合理,如果c過(guò)大,圖像輪廓邊緣會(huì)產(chǎn)生過(guò)沖;而過(guò)小,銳化效果就不明顯。
另外,對(duì)角線也可以這樣組成:在下式中添入兩項(xiàng),即兩個(gè)對(duì)角線方向各加1個(gè)。由于每個(gè)對(duì)角線方向上的項(xiàng)還包含一個(gè)-2f(x,y),所以總共應(yīng)減去-8f(x,y)。得到的新模板對(duì)450增幅的結(jié)果是各向同性的。如下所示
做一比對(duì):
Part2. 梯度銳化
假設(shè)M(x,y)是與原圖像大小相同的圖,稱為該圖像的梯度圖像,可簡(jiǎn)稱為梯度。
梯度向量的分量是微分,是線性算子,但梯度的幅值不是線性算子,是做了平方和方根。
梯度的偏微分不是旋轉(zhuǎn)不變的,梯度向量的幅值是旋轉(zhuǎn)不變的。有時(shí)計(jì)算用絕對(duì)值來(lái)近似平方和方根。
這中方法保留了灰度的相對(duì)變化,但丟失了各向同向特性。
(1)離散情況下,對(duì)一階微分的最簡(jiǎn)單的近似:
(2)交叉微分:
交叉梯度算子有一個(gè)缺陷:偶數(shù)尺寸不太容易實(shí)現(xiàn)。
(3)3x3近似:
Sobel算子:
則梯度幅值為:
示例效果圖:
小結(jié):
梯度銳化
去除變化慢的背景
在灰度平坦區(qū)域中增強(qiáng)細(xì)小的突變
突出灰度圖像中看不見(jiàn)的斑點(diǎn)
拉普拉斯銳化
增強(qiáng)灰度突變處的對(duì)比度,形成細(xì)節(jié)比較好
大多數(shù)應(yīng)用中,對(duì)圖像增強(qiáng)來(lái)說(shuō)二階微分處理比一階微分好,因?yàn)樾纬杉?xì)節(jié)的能力強(qiáng), 而一階微分處理主要用于提取邊緣。
示例:
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]);
結(jié)果:
reference:
李衛(wèi)軍,肖宛昂,董肖莉,覃鴻老師《視覺(jué)信息處理及FPGA實(shí)現(xiàn)》課程等
越是憧憬,越要風(fēng)雨兼程。
總結(jié)
以上是生活随笔為你收集整理的matlabrobert锐化_Matlab图像处理—锐化滤波器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何在python中对列表套列表进行排序
- 下一篇: mysql将一个字符转换成多个字符_将分