声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1135|回复: 4

[编程技巧] 边缘检测的程序运行速度如何改进

[复制链接]
发表于 2008-1-20 21:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
X=imread('cameraman.tif');
%load nbarb1;
image(X)
% Image coding.
nbcol = size(X,1)
cod_X = wcodemat(X,nbcol)
SIZE=nbcol
[ca,chd,cvd,cdd] = 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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-1-20 21:32 | 显示全部楼层
呵呵,two没有初值啊?

评分

1

查看全部评分

 楼主| 发表于 2008-1-21 10:50 | 显示全部楼层
哦,谢谢,是我的程序赋值有毛病,谢谢指点。
发表于 2008-1-21 14:19 | 显示全部楼层
请描述一下你要实现的功能,具体一些,不要看你的程序,效率很低。
发表于 2008-1-22 20:40 | 显示全部楼层
请在置顶贴中找热点问题讨论帖,然后参考一下矢量化技巧编程的帖子自己修改
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 15:30 , Processed in 0.063720 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表