灰度图像--图像分割 Sobel算子,Prewitt算子和Scharr算子平滑能力比较
来源:互联网 发布:阿里云盾 80端口 编辑:程序博客网 时间:2024/06/05 00:28
学习DIP第47天
转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发: https://github.com/Tony-Tan/DIPpro
开篇废话
依然是废话,这篇主要想对比下Sobel,Prewitt和Scharr算子的平滑能力,由于一阶微分对噪声响应强,进行微分之前进行降噪是非常必要的,这里我们进行的实验是,以lena图作为实验原图,取其中一行数据作为无噪声的原始信号,分别加上不同的强度的高斯白噪声,对噪声的分类和噪声具体性质的研究将在图像恢复中描述。但这里我们使用不同强度的高斯白噪声。
数学原理
数学原理主要介绍下衡量噪声强度的方法-均方根误差root-mean-square error,第
代码
%matlab代码clear all;clc;noise_ratio=3;%噪声的标准差3%x=imread('/Users/Tony/DIPImage/lena','jpg');signal=double(x(250,:));noiseImage=uint8(randn(512,512)*2.55*noise_ratio);dst=x+noiseImage;figure(1);imshow(dst);for m=1:100 noise=randn(1,512)*2.55*noise_ratio; signal_noise=signal+noise; for n=2:511 scharr(n)=signal_noise(n-1)*3./16.+signal_noise(n)*10./16.+signal_noise(n+1)*3./16.; sobel(n)=signal_noise(n-1)*0.25+signal_noise(n)*0.5+signal_noise(n+1)*0.25; prewitt(n)=signal_noise(n-1)*1./3.+signal_noise(n)*1./3.+signal_noise(n+1)*1./3.; end d_noise(m)=0; d_scharr(m)=0; d_sobel(m)=0; d_prewitt(m)=0; for n=2:511 d_scharr(m)=(d_scharr(m)+(scharr(n)-signal(n))^2); d_sobel(m)=(d_sobel(m)+(sobel(n)-signal(n))^2); d_prewitt(m)=(d_prewitt(m)+(prewitt(n)-signal(n))^2); d_noise(m)=d_noise(m)+noise(m)^2; endendx=1:100;figure(2);plot(x,d_scharr,'-r',x,d_sobel,'.-b',x,d_prewitt,'-g',x,d_noise,'-k');
Matlab写程序写的不多,所以将就看。
实验结果
下面我们分别使用不同强度的高斯加性白噪声叠加到图像上,并计算
对叠加了噪声的lena图的第250行数据进行平滑,叠加的噪声的标准差分别是当前信号的
下面折线图中,为了观察清楚,均方误差未乘以
总结
当噪声强度超过标准差为信号的
自此简单的评估了下各算子的噪声平滑效果,在小噪声情况下,
待续。。。。
- 灰度图像--图像分割 Sobel算子,Prewitt算子和Scharr算子平滑能力比较
- 灰度图像--图像分割 Scharr算子
- 灰度图像--图像分割 Prewitt算子
- 灰度图像--图像分割 Sobel算子
- 图像处理中的梯度、导数如何求?(Robert算子,Sobel算子,Prewitt算子,Laplace算子)
- 图像处理中的梯度、导数如何求?(Robert算子,Sobel算子,Prewitt算子,Laplace算子)
- 图像处理中的梯度、导数如何求?(Robert算子,Sobel算子,Prewitt算子,Laplace算子)
- 灰度图像--图像增强 Robert算子、Sobel算子
- 灰度图像--图像增强 Robert算子、Sobel算子
- 13. 用Roberts、Sobel、Prewitt和Laplace算子对一幅灰度图像进行边缘检测。观察异同。
- 灰度图像--图像分割 Marr-Hildreth算子(LoG算子)
- 灰度图像--图像分割 Robert算子
- 图像梯度特征的常用算子:Sobel、Prewitt、Roberts
- Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子
- 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny)
- 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny)
- 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny)
- 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny)
- 如何按占用内存大小查看Linux下的进程
- 2015.2.10--记录我的机器学习之路--hmm模型
- Java回调理解,以Android中Button为例
- 在ubuntu12.04下安装rtl8723be无线网卡驱动
- 梯度、散度和旋度及在图像处理中的应用(图像融合)
- 灰度图像--图像分割 Sobel算子,Prewitt算子和Scharr算子平滑能力比较
- Valid Parentheses - LeetCode
- lightoj 1005 - Rooks
- ubuntu12.04 secureCRT 安装、破解、修改权限
- <string.h>和<string>的区别
- 欢迎使用CSDN-markdown编辑器
- Android Push Notification实现信息推送使用
- uvalive3882(约瑟夫环)
- Android基础教程(二)之五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.