一.实验内容:

⑴图像的锐化:使用Sobel,Laplacian算子分别对图像进行运算,观察并体会运算结果。

⑵综合练习:对需要进行处理的图像分析,正确运用所学的知识,采用正确的步骤,对图像进行各类处理,以得到令人满意的图像效果。

[3] 编程实现Roberts梯度锐化算法。

二.实验目的:

学会用Matlab中的下列函数对输入图像按实验内容进行运算;感受各种不同的图像处理方法对最终图像效果的影响。

imfilter;fspecial;imadjust;

三.实验步骤:

1.仔细阅读Matlab帮助文件中有关以上函数的使用说明,能充分理解其使用方法并能运用它们完成实验内容。

2.将cameraman.jpg图像文件读入Matlab,使用imfilter函数分别采用Sobel,Laplacian算子对其作锐化运算,显示运算前后的图像。算子输入方法(两种方法都做):

(1)用fspecial函数产生(注意:fspecial仅能产生垂直方向sobel算子,产生Laplacian算子时alpha参数选择0,详见Help)。

(2)直接输入,其中Sobel算子形式为

(水平Sobel)(垂直Sobel)

Laplacian算子形式为

对于Sobel算子,采用生成图像;对于Laplacian算子,直接采用计算结果作为锐化后图像。

3.将skeleton.jpg图像文件读入Matlab,按照以下步骤对其进行处理:

1)用带对角线的Laplacian对其处理,以增强边缘。对角线Laplacian算子为。

2)将1)结果叠加到原始图像上。可以看出噪声增强了(Laplacian算子对噪声敏感),应想法降低。

3)获取Sobel图像并用imfilter对其进行5×5邻域平均,以减少噪声。

4)获取2)和3)相乘图像,噪声得以减少。

5)将4)结果叠加到原始图像上。

6)最后用imadjust函数对5)结果做幂指数为0.2的灰度变换。

4.编写Roberts梯度锐化函数。Roberts梯度为

锐化图像的形成以下式为准,

LG=255,LB=0,门限T适当选择。要求:输入参数为待锐化图像和设定的门限,输出为锐化后图像。读入cell.jpg图像进行验证。显示图像时给出选择的门限值。

解析:%2

a=imread('e:\cameraman.tif');

a=im2double(a);

%(1)

figure;

subplot(1,3,1);imshow(a);title('input image');

h1 = fspecial('sobel');

MotionBlur1 = imfilter(a,h1);

subplot(1,3,2);imshow(MotionBlur1);title('sobel-Motion Blurred Image ');

h2 = fspecial('Laplacia',0);

MotionBlur2 = imfilter(a,h2);

subplot(1,3,3);imshow(MotionBlur2);title('Laplacia-Motion Blurred Image');

%(2)

figure('name','直接输入算子锐化处理','NumberTitle','Off');

subplot(1,3,1);imshow(a);title('input image');

dx=[-1 -2 -1;0 0 0;1 2 1];

dy=[-1 0 1;-2 0 2;-1 0 1];

d=(dx.^2+dy.^2).^0.5;

MotionBlur3= imfilter(a,d);

subplot(1,3,2);imshow(MotionBlur3);title('sobel-direct input-Motion Blurred Image ');

l=[0 -1 0;-1 4 -1;0 -1 0];

MotionBlur4 = imfilter(a,l);

subplot(1,3,3);imshow(MotionBlur4);title('Laplacia-direct input-Motion Blurred Image');

%3

a=imread('e:\skeleton.jpg');

a=im2double(a);

figure;

%(1);

subplot(1,3,1);imshow(a);title('input image');

L=[-1 -1 -1;-1 8 -1;-1 -1 -1];

MotionBlur1 = imfilter(a,L);

subplot(1,3,2);imshow(MotionBlur1);title('对角线Laplacian算子');

%(2)

MotionBlur2=MotionBlur1+a;

subplot(1,3,3);imshow(MotionBlur2);title('叠加后图形');

%(3)

figure;

subplot(2,3,1);imshow(a);title('input image');

h1 = fspecial('sobel');

h2 = imfilter(a,h1);

subplot(2,3,2);imshow(h2);title('sobel-Motion Blurred Image ');

MotionBlur3=imfilter(h2,[5 5]);

subplot(2,3,3);imshow(MotionBlur3);title('sobel-领域平均 ');

%(4,5,6)

MotionBlur4 = imsubtract(MotionBlur2,h2);

subplot(2,3,4);imshow(MotionBlur4);title('相乘图象 ');

MotionBlur5=MotionBlur4+a;

subplot(2,3,5);imshow(MotionBlur5);title('与原始图叠加后图形');

MotionBlur6=imadjust(MotionBlur5,[],[],0.2);

subplot(2,3,6);imshow(MotionBlur6);title('幂指数为0.2的灰度变换');

%4

a1=imread('e:\cell.jpg');

a=im2double(a1);

f=double(a1);

[m,n]=size(f);

for i=1:m

for j=1:n

if i==m

G(i,j)=G(i-1,j) ;

elseif j==n

G(i,j)=G(i,j-1);

else

G(i,j)=abs(f(i,j)-f(i+1,j+1))+abs(f(i+1,j)-f(i,j+1));

end

end

end

Z=f;

figure;

for i=4:8

k=find(G>=i);Z(k)=255;

q=find(G

subplot(2,3,1);imshow(a);title('input image');

subplot(2,3,i-2);imshow(Z);title(['门限T为',num2str(i)]);

end;

图像锐化拉普拉斯算子matlab,Matlab图像锐化-Sobel,Laplacian算子 实验教程相关推荐

  1. MATLAB虚拟动画显示球杆,球杆系统实验教程_球杆系统根轨迹代码matlab,球杆系统的状态反馈实验总结-软件测试工具类资源...

    基于球杆的控制系统分析与设计实验教程分析和系统的测定 前言 臼动控制珄论是自动控制及相关专业的必修专业基础课,自动控制理论实验是学习和掌 握控制系统分析和设计方法最有效的途径之 机电控制系统分析设计是 ...

  2. matlab按图像边缘抠图_MATLAB--数字图像处理 图像锐化

    一.实验名称 图像锐化 二.实验目的 1.熟悉MATLAB软件的使用. 2.掌握图像锐化的原理及数学运算. 3.于MATLAB环境下编程实现对图片锐化. 三.实验内容 利用图像基于单方向梯度算子,Ro ...

  3. matlabrobert锐化_基于Matlab的图像锐化的研究

    杨虹++吴萌 摘要:在图像处理时,常常需要对图像进行平滑,但是平滑后图像的轮廓往往变的有些模糊,为了改变这一影响,需要对图像进行锐化处理,使图像边缘信息呈现出来.对几种图像锐化的方法进行研究,并且对S ...

  4. 基于MATLAB的图像处理程序

    目录 1.     图像变换 2. 图像增强 3. 图像重建 4. 滤波 5. 边缘检测 6. 图像压缩 图像变换(傅立叶变换), 图像增强, 边缘检测, 滤波, 图像压缩等. 实验工具:MATLAB ...

  5. 图像清晰度识别之Laplacian算子

    最近在做图像清晰度检测的时候,用到了Laplacian算子,所以系统整理下这方面的相关知识. Laplacce算子是一种各向同性算子,二阶微分算子,在只关心边缘的位置而不考虑其周围的象素灰度差值时比较 ...

  6. python-opencv之图像梯度Sobel、Scharr、Laplacian算子边缘检测

    Sobel算子 是离散微分算子(discrete differentiation operator),用来计算图像灰度的近似梯度,梯度越大越有可能是边缘. Soble算子的功能集合了高斯平滑和微分求导 ...

  7. python怎么计算图像梯度_Opencv-Python学习笔记十——图像梯度、边缘检测 Gradient, Edge Detection...

    图像梯度 边缘检测 图像梯度,图像边界 使用到的函数有: cv2.Sobel(), cv2.Schar(), cv2.Laplacian() 梯度简单来说就是求导,OpenCV 提供了三种不同的梯度滤 ...

  8. 【图像处理】——Python图像分割边缘检测算法之二阶梯度算子(laplace、log、dog算子)

    目录 一.二阶算子简介 二.laplace(拉普拉斯算子) 1.什么是拉普拉斯算子 (1)连续二维函数的二阶导 (2)离散二维函数的二阶导数 2.常用算子模块及代码 3.结果 三.log算子 1.什么 ...

  9. sobel算子,scharr算子,Laplacian算子

    1.sobel算子: sobel算子可以计算图像梯度,计算图像梯度的作用是提取边界,一般我们用一个3x3的卷积核去指示sobel算子是如何运算的: 图中左边就是计算水平梯度时的卷积核,简单来说就是右边 ...

最新文章

  1. 【转】MySQL sql_mode 说明(及处理一起 sql_mode 引发的问题)
  2. chrome java上传文件_springboot+webuploader 实现大文件切片上传,兼容IE8+,chrome等浏览器,可运行...
  3. 将10000H-1000FH这段空间当做栈,初始状态栈是空的,设置AX=001AH,BX=001BH,利用栈,交换AX和BX的数据
  4. CF722D. Generating Sets[贪心 STL]
  5. 64位 iee754_IEEE754浮点表示法详解
  6. python中下拉菜单大小_请问各位大神如何将下拉菜单的文字设定成一个值?
  7. [转]netstat 输出内容详解,TCP链接握手对应state
  8. 如何解决JSP中文乱码问题
  9. opencv 文字识别_Python+opencv+EAST做自然场景文本检测!
  10. Jconsole/jvisualvm远程监控weblogic中间件配置
  11. 【转】 一定要让孩子知道的20个小故事
  12. 学习C++: VSCode配置C++开发环境
  13. Cacti监控Varnish
  14. 电视盒子 android tv6,【亲测】S905L/S905L-B安卓TV6.0通刷固件
  15. 工作流引擎Activiti详解
  16. Bitdefender 发布GandCrab V5.2勒索病毒解密工具
  17. Keil4与keil5共存问题
  18. Mac电脑安装win7系统,解决前端IE浏览器兼容性问题
  19. java中堆和堆栈的区别
  20. DDD | 领域驱动设计 Vs 敏捷 Vs 面向对象

热门文章

  1. USA 2008 Presidential Debate
  2. ASP.NET MVC5----了解我们使用的@HTML帮助类
  3. easyui datagrid 动态绑定列
  4. 使用T-SQL配置日志传送
  5. Windows Server 2003 SP2中文版开放下载
  6. 用JAVA写出1到999的随性化数_请详细翻译一个简单的JAVA程序问题
  7. 基于Python3-Pygame的植物大战僵尸小游戏
  8. ALSA播放时杂音问题
  9. GTK测试程序(十四)
  10. 升级win11-需要开启主板的tpm2.0