边缘检测的程序运行速度如何改进
X=imread('cameraman.tif');%load nbarb1;
image(X)
% Image coding.
nbcol = size(X,1)
cod_X = wcodemat(X,nbcol)
SIZE=nbcol
= swt2(X,1,'haar');
X=chd
edge_array=zeros(SIZE,SIZE);
for i=1:SIZE
one=1
for j=1:SIZE-2
if (((X(i,j+1)-X(i,j))>0&(X(i,j+2)-X(i,j+1))<0)&(two-one>10)|...
((X(i,j+1)-X(i,j))<0&(X(i,j+2)-X(i,j+1))>0&(two-one>10)))
two=j+1
if two-one>10
edge_array(i,j+1)=255
one=two
end
end
end
end
figure
imshow(edge_array)
先不说边缘检测效果如何,单是速度就很让人头疼了,大侠帮忙啊。
[ 本帖最后由 eight 于 2008-1-22 20:39 编辑 ] 呵呵,two没有初值啊? 哦,谢谢,是我的程序赋值有毛病,谢谢指点。 请描述一下你要实现的功能,具体一些,不要看你的程序,效率很低。 请在置顶贴中找热点问题讨论帖,然后参考一下矢量化技巧编程的帖子自己修改
页:
[1]