数字图像处理实验(四)图像锐化
程序员文章站
2024-01-28 08:42:58
...
数字图像处理实验(四)图像锐化
实验目的
进一步加深理解和掌握图像锐化的的概念,掌握常用空域锐化增强技术。观
察和理解图像锐化处理对加强图像中的目标边缘和图像细节的作用。理解图象锐
化增强的处理过程和特点。
实验器材
MATLAB 2018b
实验内容
1、一阶微分锐化增强
设计程序,分别实现 Roberts、Sobel、Priwitt 算子的锐化处理。观察处理前
后图象效果,分析实验结果和算法特点。
2、拉普拉斯锐化增强
设计程序,实现拉普拉斯图像和原始图像叠加的增强处理,即
观察处理前后图像效果,分析实验结果和算法特点。
实验原理
图像锐化技术的基本方法是对图像进行微商处理,并且将运算结果与原图像
叠加。图像的梯度模值反映了图像灰度变化的速率,它包含了边缘及细节信息。
我们可以梯度模值的计算作为算子,这个算子称为梯度算子。常用的有 Roberts、
Sobel、Priwitt、Laplace 等算子。
实验记录
imsharpening.m
function B = imsharpening(filename,type)
%%输入参数
R = imread(filename);
if strcmp(type,'Roberts')
B1 = [0,0,0;0,-1,0;0,0,1];
B2 = [0,0,0;0,0,-1;0,1,0];
elseif strcmp(type,'Sobel')
B1 = [-1,-2,-1;0,0,0;1,2,1];
B2 = [-1,0,1;-2,0,2;-1,0,1];
elseif strcmp(type,'Priwitt')
B1 = [-1,0,1;-1,0,1;-1,0,1];
B2 = [1,1,1;0,0,0;-1,-1,-1];
elseif strcmp(type,'Laplacian')
B1 = [-1,0,1;-1,0,1;-1,0,1];
B2 = [0,0,0;0,0,0;0,0,0];
else
error('请输入正确的算子类型:Roberts、Sobel、Priwitt或Laplacian');
end
%% 彩色图像转换为灰度图像
image_size=size(R);
dimension=numel(image_size);
if dimension==2 %灰度图像
R1 = R;
elseif dimension==3 %彩色图像
R1 = rgb2gray(R);
end
%% 边缘扩展
[m,n] = size(R1);
R2 = zeros(m+2,n+2);
R2(2:m+1,2:n+1) = R1(1:m,1:n);
R2(1,1) = R1(1,1);
R2(1,n+2) = R1(1,n);
R2(m+2,1) = R1(m,1);
R2(m+2,n+2) = R1(m,n);
R2(1,2:n+1) = R1(1,1:n);
R2(m+2,2:n+1) = R1(m,1:n);
R2(2:m+1,1) = R1(1:m,1);
R2(2:m+1,n+2) = R1(1:m,n);
%% diff
%D0 = zeros(3,3);
D1 = zeros(m,n);
for i =1:m
for j = 1:n
D0 = R2(i:i+2,j:j+2);
C1 = B1.*D0;
C2 = B2.*D0;
if strcmp(type,'Laplacian')
D1(i,j) = sum(sum(C1));
D1(i,j) = R1(i,j) - D1(i,j);
else
D1(i,j) = abs(sum(sum(C1)))+abs(sum(sum(C2)));
end
end
end
%% 数据类型转换
B = uint8(D1);
end
sharpening.m
clc;
clear;
I0 = imread('实验4原图1(一阶微分空域锐化实验).jpg');
I1 = imsharpening('实验4原图1(一阶微分空域锐化实验).jpg','Roberts');
I2 = imsharpening('实验4原图1(一阶微分空域锐化实验).jpg','Sobel');
I3 = imsharpening('实验4原图1(一阶微分空域锐化实验).jpg','Priwitt');
I4 = imread('实验4原图2(拉普拉斯锐化实验).jpg');
I5 = imsharpening('实验4原图2(拉普拉斯锐化实验).jpg','Laplacian');
figure,imshow(I0),title('{\fontsize{18} Original}');
figure,imshow(I1),title('{\fontsize{18} Roberts}');
figure,imshow(I2),title('{\fontsize{18} Priwitt}');
figure,imshow(I3),title('{\fontsize{18} Priwitt}');
figure,imshow(I4),title('{\fontsize{18} Original}');
figure,imshow(I5),title('{\fontsize{18} Laplacian}');
实验结果
上一篇: 苹果日子不好过:供应链也“爆雷”了