欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数字图像处理实验(四)图像锐化

程序员文章站 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}');

实验结果

数字图像处理实验(四)图像锐化
数字图像处理实验(四)图像锐化

数字图像处理实验(四)图像锐化

相关标签: 数字图像处理