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{:}); 展开
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{:}); 展开
3个回答
展开全部
《数字图像处理》课程,图像分割实验我的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算子边缘检测');
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算子边缘检测');
展开全部
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
转换成double(I)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询