图像增强学习笔记(三) | 图像锐化
目錄
梯度銳化法
Roberts算子
Prewitt算子
Sobel算子
Laplacian增強算子
效果圖
matlab代碼
梯度銳化法
圖像銳化最常用的是梯度法。對于圖像f(x,y),在(x,y)處梯度定義為
梯度是一個向量,其大小和方向分別為
梯度變換方向是f(x,y)在該點灰度變換率最大的方向。
離散圖像處理常用到梯度的大小,因此把梯度的大小簡稱為"梯度"。并且一階偏導數采用一階差分近似表示,即
為簡化梯度計算,常使用近似表達式
或????
對于一幅圖像中突出的邊緣區,其梯度值較大;對于平滑區,梯度值較小;對于灰度值為常數的區域,梯度為零。
除梯度算子外,還可以采用Roberts,Prewitt和Sobel算子計算梯度,來增強邊緣。
Roberts算子
| -1 | |
| 1 |
| -1 | |
| 1 |
?差分計算式:
?
Prewitt算子
在銳化邊緣的同時減少噪聲的影響,Prewitt從加大邊緣增強算子的模板出發,由2*2擴大到3*3來計算差分
| -1 | 0 | 1 |
| -1 | 0 | 1 |
| -1 | 0 | 1 |
| -1 | -1 | -1 |
| 0 | 0 | 0 |
| 1 | 1 | 1 |
Sobel算子
Sobel在Prewitt算子的基礎上,對4-鄰域采用加權的方法計算差分,對應的模板如下
| -1 | 0 | 1 |
| -2 | 0 | 2 |
| -1 | 0 | 1 |
| -1 | 2 | 1 |
| 0 | 0 | 0 |
| 1 | 2 | 1 |
根據梯度計算近似表達式可以計算Roberts,Prewitt,Sobel梯度。一旦梯度算出就可以根據需要生成 不同的增強圖像。
第一種增強:(g(x,y)為各點灰度,下同)
g(x,y)=grad(x,y)
缺點:僅顯示梯度變化比較陡的邊緣輪廓,灰度變化平緩或均勻的地方呈現黑色。
第二種增強:
T是一個非負的閾值,適當性選取可以使邊緣突出,且不會破壞灰度比較平緩的背景。
第三種增強:
使根據需要指定的一個灰度級,它將明顯邊緣用固定的灰度級表示。
第四種增強:
此方法用一個固定的灰度表示,便于研究邊緣灰度的變化。
第五種增強:
?生成二值圖像,便于研究邊緣所在的位置。
Laplacian增強算子
Laplacian算子是線性二階微分算子。
對于離散的數字圖像而言,二階偏導數與二階差分近似,由此可以推導出Laplacian算子表達式為:
Laplacian增強算子為
???????????
其特點如下:
(1)由于灰度均勻的區域或斜坡中間?? ?? 為0,Laplacian增強算子不起作用
(2)在斜坡底或低灰度側形成“下沖”;而在斜坡頂或高灰度側形成“上沖”,說明Laplacian增強算子具有突出邊緣的特點、
| 0 | -1 | 0 |
| -1 | 5 | -1 |
| 0 | -1 | 0 |
效果圖
matlab代碼
I=imread('C:\Users\ASUS\Desktop\Digital image processing\photo\5ff2f784ee976a38221a0151c5a4e2a0.jpg'); I=rgb2gray(I); I=im2double(I); figure subplot(3,2,1),imshow(I);title('原圖片');%顯示原圖片 I=medfilt2(I);%第一次降噪濾波 subplot(3,2,2),imshow(I);title('3*3(默認)中值濾波');%顯示中值濾波圖像 I=histeq(I);%直方圖均衡化以增加對比度 subplot(3,2,3),imshow(I);title('直方圖均衡化后的圖像');%顯示直方圖均衡化后的圖像 I=medfilt2(I);%再進行一次濾波降噪 subplot(3,2,4),imshow(filter2(fspecial('sobel'),I,'same'));title('Sobel濾波圖像');%顯示Sobel濾波圖像 subplot(3,2,5),imshow(filter2(fspecial('prewitt'),I,'same'));title('Prewitt濾波圖像');%顯示Prewitt濾波圖像 subplot(3,2,6),imshow(filter2(fspecial('laplacian'),I,'same'));title('Laplacian濾波圖像');%顯示Laplacian濾波圖像總結
以上是生活随笔為你收集整理的图像增强学习笔记(三) | 图像锐化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么在html中加校验,如何通过W3C验
- 下一篇: 【得物技术】机器学习在图形验证码识别上的