一、实验名称

图像锐化

二、实验目的

1.熟悉MATLAB软件的使用。
2.掌握图像锐化的原理及数学运算。
3.于MATLAB环境下编程实现对图片锐化。

三、实验内容

利用图像基于单方向梯度算子,Robert算子,Sobel算 子,Pritt算 子, Laplacian算子,多方向模板,LoG算子编写matlab增强程序;最后,显示边缘图像和锐化增强图像,并对这些仿真结果所呈现的边缘提取和增强效果进行对比分析。

四、实验仪器与设备

Win10 64位电脑
MATLAB2017a

五、实验原理

1.Sobel算子是像素图像边缘检测中最重要的算子之一。在技术上,它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量。
    2.Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内 产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。
    3.Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。
    4. Laplacian算子是n维欧几里得空间中的一个二阶微分算子,定义为梯度grad()的散度div()。因此如果f是二阶 可微的实函数,则f的laplacian算子定义为:
        (1) f的拉普拉斯算子也是笛卡尔坐标系xi中的所有非混合二阶偏导数求和:
        (2) 作为一个二阶 微分算子,拉普拉斯算子把C函数映射到C函数,对于k ≥ 2。

六、实验过程及代码

Sobel算子

 I=imread('a3.jpg'); %读取图像
I1=rgb2gray(I); %将彩色图变成灰色图
subplot(131),imshow(I1),title('原图');model=[-1,0,1;-2,0,2;-1,0,1];
[m,n]=size(I1);
I2=double(I1);for i=2:m-1for j=2:n-1I2(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
subplot(132),
imshow(I2),title('边缘提取后的图像');
I2 = I2 + double(I1);
subplot(133),
imshow(uint8(I2)),title('锐化后的图像');

Robert算子

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

Prewitt算子

 I=imread('a3.jpg');
I1=rgb2gray(I); %将彩色图变成灰色图
subplot(131);
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).*model;I2(i,j)=sum(sum(tem));
end
end
subplot(132),
imshow(uint8(I2)),title('边缘提取后的图像');
I2=I2+I1;
subplot(133),
imshow(I2),title('图像锐化')

laplacian算子

I=imread('a3.jpg');
I1=mat2gray(I);%实现图像矩阵的归一化操作
[m,n]=size(I1);
newGrayPic=I1;%为保留图像的边缘一个像素
LaplacianNum=0;%经Laplacian算子计算得到的每个像素的值
LaplacianThreshold=0.2;%设定阈值
for j=2:m-1 %进行边界提取for k=2:n-1LaplacianNum=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;elsenewGrayPic(j,k)=0;endend
end
I2=rgb2gray(I); %将彩色图变成灰色图
subplot(131),imshow(I2),title('原图');
subplot(132),
imshow(newGrayPic);
title('Laplacian算子的处理结果')
t=I1+newGrayPic;
subplot(133),imshow(t),title('图像锐化后')

Log算子

 t=imread('a3.jpg');
t=rgb2gray(t);
[m,n]=size(t);
subplot(1,3,1),imshow(t),title('原图')
tt=t;
model=[0,0,1,0,0; 0,1,2,1,0;
1,2,-16,2,1;
0,0,1,0,0;
0,1,2,1,0;]for i=3:m-2
for j=3:n-2tem=double(t(i-2:i+2,j-2:j+2)).*model;x=sum(sum(tem));tt(i,j)=x;
end
endsubplot(1,3,2),imshow(tt),title('log提取边缘后')
t_1=double(tt)+double(t);
subplot(1,3,3),imshow(uint8(t_1)),title('log锐化后')

七、实验结果与分析

Sobel算子


Robert算子


Prewitt算子


laplacian算子


Log算子


总结
    图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强。我的理解:图像锐化就是通过使得图像的边缘更加突出,可以是原图与原图的高频部分叠加而成。
    Sobel算法与Priwitt算法的思路相同,属于同一类型,因此处理效果基本相同。Roberts算法的模板为2*2,提取信息较弱。单方向锐化经过处理之后,也可以对边界进行增强。Laplacian算子对噪声比较敏感,Laplacian算子有一个缺点是它对图像中的某些边缘产生双重响应。所以图像一般先经过平滑处理,通常把Laplacian算子和平滑算子结合起来生成一个新的模板-Log算子。

八、实验总结及心得体会

通过此次实验,自己学习了图像锐化的几种算子。开始的时候,不懂每个算子的来源,后面看了老师的推导过程后,发现其实锐化就是先对图像进行差分(类似求导),再叠加到原图上。这里主要的问题就是对算子的差分原理的验证,然后在MATLAB上机过程中,没有注意到数据类型的限制,导致数据上溢。

更多

获取更多资料、代码,微信公众号:海轰Pro
回复 海轰 即可

MATLAB--数字图像处理 图像锐化相关推荐

  1. Matlab数字图像处理——图像的空间变换

    Matlab空间变换函数 imtransform Matlab空间变换函数 imtransform 可以实现图像仿射变换(如 平移.旋转.剪切.缩放).投影变换, 该函数可与 maketform 配合 ...

  2. matlab与数字图像处理--图像锐化imsharpen

    在对图像进行锐化时,图像灰度变化之处将引入一段"过冲",和人眼视觉中的马赫带效应相同.可以理解图像锐化即是增强了人眼的马赫带效应. mat=zeros(300,500); mat( ...

  3. matlab数字图像处理——图像的读写,灰度、二值图像

    一.实验目的 1.结合数字图像处理的知识,直观感受图像处理的基本实现过程 2.熟悉MATLAB工具的使用 3.了解图像的读写和显示 二.实验内容 实验内容一:图像读取 (1)利用编程实现读取图像 利用 ...

  4. Matlab数字图像处理——图像处理工具箱Image Processing Toolbox

    Image Processing Toolbox 图像处理工具箱包含的功能: 图像的读取和保存 图像的显示 创建GUI 图像的几何变换 图像滤波器设计及线性滤波 形态学图像处理 图像域变换 图像增强 ...

  5. Matlab数字图像处理——图像文件的读取

    文章目录 一.Matlab中获取图像信息的函数 imfinfo 二.Matlab读取图像文件的函数 imread 三.Matlab保存图像文件的函数 imwrite 完整目录 一.Matlab中获取图 ...

  6. 数字图像处理课设图像的锐化_数字图像处理图像锐化处理.ppt

    数字图像处理图像锐化处理 4.7.2 灰度级到彩色转换 灰度级到彩色转换(例) 在HSI彩色空间的直方图均衡强度均衡处理没有改变图像的色调和饱和度值,但它的确影响了整体图像的彩色感观. 向量分量可以用 ...

  7. matlab 求其骨架,数字图像处理图像的骨架生成和提取(Matlab)三种方法

    [实例简介] 数字图像处理图像的骨架生成和提取(Matlab),有三种方法,推荐给大家! [实例截图] [核心代码] Programe ├── Programe1 │   ├── 00.JPG │   ...

  8. matlab图像低通滤波器 实验报告,基于matlab数字图像处理之低通滤波器

    <基于matlab数字图像处理之低通滤波器>由会员分享,可在线阅读,更多相关<基于matlab数字图像处理之低通滤波器(6页珍藏版)>请在人人文库网上搜索. 1.实践一:理想低 ...

  9. MATLAB说明图像增强,MATLAB数字图像处理(二)图像增强

    1         图像增强 1.1            直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: 1 2 3I2=histeq( ...

  10. matlab空域滤波,MATLAB数字图像处理基本操作及空域滤波

    MATLAB数字图像处理基本操作及空域滤波 实验一 MATLAB 数字图像处理基本操作及空域滤波实验目的1.了解有关数字图像处理的基本概念,熟悉Matlab软件中关于数字图像处理的基本命令,掌握利用M ...

最新文章

  1. mysql 5.7 编译_Mysql5.7版本编译安装及配置
  2. 双目图像重叠的视差计算_双目视觉(stereo vision)
  3. Xamarin.Android开发实践(四)
  4. rabbitmq channel参数详解【转】
  5. bc显示小数点前的0
  6. 8位可控加减法电路设计_100以内加减法速算方法,口算速度快一倍
  7. Windows的同步I/O和异步I/O
  8. 【干货】python正则表达式应用笔记
  9. python下载pps视频
  10. 电信中兴f452光猫路由改桥接最简单的方式,亲自体验成功。
  11. 计算机录制视频的方法,怎么录制电脑屏幕视频步骤(电脑录屏的方法有4种)...
  12. python爬虫读后感-学习爬虫的感想和心得
  13. 积分,积分兑换,英语怎么说?
  14. lzg_ad:XPE网络功能组件
  15. 关于python的列表以下选项中描述错误的是_关于Python的元组类型,以下选项中描述错误的是 (4.0分)_学小易找答案...
  16. 加粉推广全能助手 推广辅助工具 好多粉微信号加粉复制统计工具加强版,加粉推广神器,持续完善升级,新增统计点击转化,页面插件功能,完美支持ocpc接口
  17. 互联网晚报 | 7月17日 星期日 | iPhone 14量产在即;首款国产科学计算软件研发成功;上半年广东人均收入2.47万元...
  18. RGB-D立体视觉导航之图像预处理
  19. 让Linux支持手机,让linux支持qq手机音乐播放
  20. 我的世界服务器java进不去_萌新求助 mc服务器进不去

热门文章

  1. 在vue的templete中使用js方法时踩坑
  2. Go语言GOPROXY设置
  3. 2022-3-27学习博客
  4. 专业工具软件AutoCAD复习资料
  5. 集合!对!!这就是最细致的Java集合(List)学习总结①---Java学习总结
  6. 多个html5页面背景音乐,微信H5页面背景音乐推荐
  7. Muse-UI表格行样式的自定义
  8. mschart走势图 vc_VC++操作MSChart表格控件,效果不错。
  9. C# 中GUID生成格式的四种格式
  10. 药店app的布局html,药店公告.html · dengzhao/prd_zhangyao - Gitee.com