MATLAB中edge函数用法

问题描述:

MATLAB中edge函数用法
>> I=imread('lena.jpg');
>> BW1=edge(I,'sobel');
Error using ==> iptcheckinput
Function EDGE expected its first input,I,to be two-dimensional.
Error in ==> edge>parse_inputs at 541
iptcheckinput(I,{'numeric','logical'},{'nonsparse','2d'},mfilename,'I',1);
Error in ==> edge at 197
[a,method,thresh,sigma,thinning,H,kx,ky] = parse_inputs(varargin{:});
1个回答 分类:综合 2014-11-12

问题解答:

我来补答
edge函数不能接收二进制图片~若是图片格式为.tiff就直接可以用~
二进制图像可以使用bwperim,但是是寻找图像的周边的.
如果你一定要使用edge函数,可以使用double强制把你的二进制图像转换成double型的.
例如:
Ijpg = imread('1.jpg'); %读取图像
BW1=im2bw(Ijpg,0.95);
BW2=double(BW1);
BW3=edge(BW2,'sobel');
 
 
展开全文阅读
剩余:2000