matlab 图像边缘检测

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 图像边缘检测相关的知识,希望对你有一定的参考价值。

I=imread('Mary.bmp');
imshow(I);
title('宿主图像');

BW1=edge(I,'canny');
BW2=edge(I,'log');
BW3=edge(I,'soble');
BW4=edge(I,'Roberts');
BW5=edge(I,'Prewitt');
figure;
subplot(2,3,1);imshow(BW1);
title('canny算子');
subplot(2,3,2);imshow(BW2);
title('log算子');
subplot(2,3,3);imshow(BW3);
title('soble算子');
subplot(2,3,4);imshow(BW4);
title('Roberts算子');
subplot(2,3,5);imshow(BW5);
title('Prewitt算子');
imwrite(BW1,'cannyedge.bmp');

就出现一个图像,
error

??? Error using ==> edge>parse_inputs
Invalid input string: 'soble'.

Error in ==> edge at 161
[a,method,thresh,sigma,H,kx,ky] = parse_inputs(varargin:);

参考技术A 你把这行代码BW3=edge(I,'soble'); 改成BW3=edge(I,'sobel');就可以运行了,我试过了,这地方拼写错了,所以无法运行。本回答被提问者采纳

图像的亚像素边缘检测 MATLAB代码

求助亚像素边缘检测的程序
本人急需亚像素边缘检测算法的程序,只要是亚像素边缘检测的都可以。帮帮忙! 我这有基于小波的, 谁能给改成基于小波的图像亚像素边缘检测,发我邮箱:410756340@qq.com
%装载并显示原始图像
load bust;
%加入含噪
init=2055615866;
randn('seed',init);
X1=X+20*randn(size(X));
subplot(221);image(X1);
%colormap(map);
title('原始图像');axis square;
%用小波db4对图像X进行一层小波包分解
T=wpdec2(X1,1,'db4');
%重构图像近似部分
A=wprcoef(T,[1 0]);
subplot(222);image(A);
title('图像的近似部分');
axis square;
%边缘检测
%%原图像的边缘检测
BW1 = edge(A,'sobel');
subplot(223);imshow(BW1);
title('原图像的边缘');
axis square;
%图像近似部分的边缘检测
BW2= edge(X1,'sobel');
subplot(224);imshow(BW2);
title('图像近似部分的边缘');
axis square;
做出来追加100分
做出来追加100分
哥您是会做 专家级的??我是看不懂 对不对 您给个准信 行吗???????谢谢了

参考技术A Press the "Start" button to see a demonstration of
denoising tools in the Wavelet Toolbox.

This demo uses Wavelet Toolbox functions.
% Set signal to noise ratio and set rand seed.
sqrt_snr = 3; init = 2055615866;
% Generate original signal and a noisy version adding
% a standard Gaussian white noise.
[xref,x] = wnoise(3,11,sqrt_snr,init);
% Denoise noisy signal using soft heuristic SURE thresholding
% and scaled noise option, on detail coefficients obtained
% from the decomposition of x, at level 5 by sym8 wavelet.
% Generate original signal and a noisy version adding
% a standard Gaussian white noise.
lev = 5;
xd = wden(x,'heursure','s','one',lev,'sym8');
% Denoise noisy signal using soft SURE thresholding.

xd = wden(x,'rigrsure','s','one',lev,'sym8');
% Denoise noisy signal using fixed form threshold with
% a single level estimation of noise standard deviation.

xd = wden(x,'sqtwolog','s','sln',lev,'sym8');
% Denoise noisy signal using fixed minimax threshold with
% a multiple level estimation of noise standard deviation.

xd = wden(x,'minimaxi','s','sln',lev,'sym8');
% If many trials are necessary, it is better to perform
% decomposition one time and threshold it many times :

% decomposition.
[c,l] = wavedec(x,lev,'sym8');

% threshold the decomposition structure [c,l].
xd = wden(c,l,'minimaxi','s','sln',lev,'sym8');
% Load electrical signal and select a part.

load leleccum; indx = 2600:3100;
x = leleccum(indx);
% Use wdencmp for signal de-noising.

% find default values (see ddencmp).
[thr,sorh,keepapp] = ddencmp('den','wv',x);

% denoise signal using global thresholding option.
xd = wdencmp('gbl',x,'db3',2,thr,sorh,keepapp);
% Some trial examples without commands counterpart.

% Rand initialization: init = 2055615866;
% Square root of signal to noise ratio: sqrt_snr = 5;
% [xref,x] = wnoise(1,11,sqrt_snr,init);
% Some trial examples without commands counterpart (more).

% Rand initialization: init = 2055615866;
% Square root of signal to noise ratio: sqrt_snr = 4;
% [xref,x] = wnoise(2,11,sqrt_snr,init);
% Some trial examples without commands counterpart (more).

% Rand initialization: init = 2055615866;
% Square root of signal to noise ratio: sqrt_snr = 3;
% [xref,x] = wnoise(3,11,sqrt_snr,init);
% Some trial examples without commands counterpart (more).

% Rand initialization: init = 2055615866;
% Square root of signal to noise ratio: sqrt_snr = 3;
% [xref,x] = wnoise(3,11,sqrt_snr,init);
% Some trial examples without commands counterpart (more).

% Rand initialization: init = 2055615866;
% Square root of signal to noise ratio: sqrt_snr = 3;
% [xref,x] = wnoise(3,11,sqrt_snr,init);
% Some trial examples without commands counterpart (more).

% Rand initialization: init = 2055615866;
% Square root of signal to noise ratio: sqrt_snr = 3;
% [xref,x] = wnoise(3,11,sqrt_snr,init);

以上是关于matlab 图像边缘检测的主要内容,如果未能解决你的问题,请参考以下文章

图像边缘检测基于matlab灰度图像的积累加权边缘检测含Matlab源码 2010期

边缘检测基于matlab八方向sobel图像边缘检测含Matlab源码 1865期

MATLAB 图象去噪 边缘检测

MATLAB进行边缘检测

图像边缘检测基于matlab Zernike矩亚像素边缘检测含Matlab源码 1536期

图像边缘检测基于matlab自适应阈值的八方向和四方向sobel图像边缘检测含Matlab源码 2058期