matlab中图像边缘检测 edge函数总在报错??

I=imread('E:\MATLAB\work\lenna.tif');BW1=edge(I,'prewitt');BW2=edge(I,'canny');subplo... I=imread('E:\MATLAB\work\lenna.tif');
BW1=edge(I,'prewitt');
BW2=edge(I,'canny');
subplot(1,2,1);
subimage(BW1);
title('prewitt算子分割效果图');
subplot(1,2,2);
subimage(BW2);
title('canny算子分割效果图');
报错:

??? Error using ==> edge>parse_inputs at 537
Not enough input arguments.

Error in ==> edge at 197
[a,method,thresh,sigma,thinning,H,kx,ky] = parse_inputs(varargin{:});
展开
 我来答
流星日食
2013-07-20 · TA获得超过1056个赞
知道小有建树答主
回答量:287
采纳率:83%
帮助的人:252万
展开全部
《数字图像处理》课程,图像分割实验我的matlab代码。希望对你有用,望采纳!
clc
clear all;
I=imread('bacteria.BMP');
figure(1)
imshow(I);title('原图像');
I=double(I);
BW1=edge(I,'sobel');
figure(2)
subplot(221)
imshow(BW1);title('原图像Sobel算子边缘检测');
BW2=edge(I,'prewitt');
subplot(222)
imshow(BW2);title('原图像Prewitt算子边缘检测');
BW3=edge(I,'log');
subplot(223)
imshow(BW3);title('原图像Log算子边缘检测');
BW4=edge(I,'canny');
subplot(224)
imshow(BW4);title('原图像Canny算子边缘检测');
jimtien
推荐于2017-12-15 · TA获得超过7654个赞
知道大有可为答主
回答量:2146
采纳率:88%
帮助的人:1131万
展开全部
注意图像格式,double格式的灰度图!
I=imread('原始图像');
I1=rgb2gray(I);
I2=im2double(I1);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chouchouNUDT
2013-07-20 · TA获得超过1706个赞
知道小有建树答主
回答量:2954
采纳率:50%
帮助的人:1063万
展开全部
转换成double(I)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式