MATLAB--数字图像处理 图像锐化(纯代码篇)

简介: MATLAB--数字图像处理 图像锐化(纯代码篇)

图像锐化

概念:
图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强。

我的理解:
图像锐化就是通过使得图像的边缘更加突出,可以是原图与原图的高频部分叠加而成。

Sobel算子

 I=imread('a2.jpg'); %读取图像
I1=rgb2gray(I); %将彩色图变成灰色图
imshow(I1),title('原图');

model=[-1,0,1;
       -2,0,2;
       -1,0,1];
[m,n]=size(I1);
I2=double(I1);

for i=2:m-1
    for j=2:n-1
        I2(i,j)=I1(i+1,j+1)+2*I1(i+1,j)+I1(i+1,j-1)-I1(i-1,j+1)-2*I1(i-1,j)-I1(i-1,j-1);
    end
end
figure,
imshow(I2),title('边缘提取后的图像');
I2 = I2 + double(I1);
figure,
imshow(uint8(I2)),title('锐化后的图像');

效果图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Robert算子

 I=imread('a2.jpg'); %读取图像
I1=rgb2gray(I); %将彩色图变成灰色图
imshow(I1),title('原图');
model=[0,-1;1,0];
[m,n]=size(I1);
I2=double(I1);
for i=2:m-1
    for j=2:n-1
        I2(i,j)=I1(i+1,j)-I1(i,j+1);
    end
end
figure,imshow(I2),title('边缘提取后的图像');
I2 = I2 + double(I1);

figure,
imshow(uint8(I2)),title('锐化后的图像');

效果图
在这里插入图片描述
在这里插入图片描述

Prewitt算子

 I=imread('a2.jpg'); 
I1=rgb2gray(I); %将彩色图变成灰色图
subplot(1,2,1);
imshow(I1),title('原图');

model=[-1,0,1;
       -1,0,1;
       -1,0,1];
[m,n]=size(I1);

I2=I1;
for i=2:m-1
    for j=2:n-1
        tem=I1(i-1:i+1,j-1:j+1);
        tem=double(tem).*double(model);
      
        I2(i,j)=sum(sum(tem));
          
         end
end

figure,
imshow(uint8(I2)),title('边缘提取后的图像');

效果图
在这里插入图片描述
laplacian算子

 I=imread('C:\Users\LiCongliang\Desktop\数字图像处理\数字图像处理第五次作业\tea.png'); 
I1=mat2gray(I);%实现图像矩阵的归一化操作
[m,n]=size(I1);
newGrayPic=I1;%为保留图像的边缘一个像素
LaplacianNum=0;%经Laplacian算子计算得到的每个像素的值
LaplacianThreshold=0.2;%设定阈值
for j=2:m-1 %进行边界提取
    for k=2:n-1
        LaplacianNum=abs(4*I1(j,k)-I1(j-1,k)-I1(j+1,k)-I1(j,k+1)-I1(j,k-1));
        if(LaplacianNum > LaplacianThreshold)
            newGrayPic(j,k)=255;
        else
            newGrayPic(j,k)=0;
        end
    end
end
I2=rgb2gray(I); %将彩色图变成灰色图
imshow(I2),title('原图');
figure,
imshow(newGrayPic);
title('Laplacian算子的处理结果')

效果图
在这里插入图片描述

目录
相关文章
|
7月前
|
计算机视觉
数字图像处理笔记(一)Matlab实现直方图均衡化
数字图像处理笔记(一)Matlab实现直方图均衡化
|
编解码 计算机视觉
MATLAB--数字图像处理 图像的采样与量化
MATLAB--数字图像处理 图像的采样与量化
435 0
MATLAB--数字图像处理 图像的采样与量化
|
算法 C++ 计算机视觉
MATLAB--数字图像处理 图像的灰度变换与直方图修正
MATLAB--数字图像处理 图像的灰度变换与直方图修正
310 0
MATLAB--数字图像处理  图像的灰度变换与直方图修正
|
计算机视觉
MATLAB--数字图像处理 Hough变换
MATLAB--数字图像处理 Hough变换
180 0
MATLAB--数字图像处理 Hough变换
|
算法 计算机视觉
MATLAB--数字图像处理 Otsu算法(MATLAB原理验证)
MATLAB--数字图像处理 Otsu算法(MATLAB原理验证)
371 0
MATLAB--数字图像处理 Otsu算法(MATLAB原理验证)
|
算法 计算机视觉
MATLAB--数字图像处理 击中击不中变换
MATLAB--数字图像处理 击中击不中变换
190 0
MATLAB--数字图像处理  击中击不中变换
|
计算机视觉
MATLAB--数字图像处理 傅里叶变换实现图像压缩
MATLAB--数字图像处理 傅里叶变换实现图像压缩
270 0
MATLAB--数字图像处理 傅里叶变换实现图像压缩
|
缓存 算法 数据可视化
数字图像处理Matlab函数全汇总
数字图像处理Matlab函数全汇总
404 0
|
计算机视觉
MATLAB--数字图像处理 cumsum()
MATLAB--数字图像处理 cumsum()
95 0
|
存储 Unix 计算机视觉
MATLAB--数字图像处理 sort()函数
MATLAB--数字图像处理 sort()函数
117 0

热门文章

最新文章