声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2335|回复: 3

[编程技巧] 一个matlab小程序,如何改进运行效率?

[复制链接]
发表于 2005-9-19 10:31 | 显示全部楼层 |阅读模式

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

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

x
是一个求图像中每个小颗粒的面积和周长:<BR>I = imread('jwutest.bmp');<BR>level = graythresh(I); %求出阀值参数<BR>BW = im2bw(I,level); % 用阀值参数 转化为二值图像 <BR>[L,N] = bwlabel(BW,4); % 标注二进制图像中已连接的部分<BR>% 这里用4连接 , 函数返回与输入图像大小相同的数据矩阵,从而区分图 % 像 的不同物体 ,L为 数据矩阵,N为颗粒的个数 <BR>for i = 1 : N <BR>[r,c] = find(L == i); % 寻找矩阵中为i的 行和列的下标<BR>BWI = bwselect(L,c,r,4); % 选择出第i个颗粒<BR>a(i) = bwarea(BWI); % 计算第i个颗粒的 面积<BR>p= bwperim(BWI,4);<BR>b(i) = sum(sum(p)); % 计算第i个颗粒的 周长<BR>end <BR>这段代码一共花了 48秒,太慢了。可以有方法改进一下速度吗?
回复
分享到:

使用道具 举报

 楼主| 发表于 2005-9-19 14:48 | 显示全部楼层
这里没人在吗?<BR>上面的代码是逐个 求出一幅图像中 分散的小颗粒的面积和周长 ,请问还有其它效率更高的方法吗?
发表于 2005-9-20 11:16 | 显示全部楼层

回复:(naicky)一个matlab小程序,如何改进运行效率...

好像没有更好的办法了,个人水平有限帮不了你
发表于 2005-9-21 08:40 | 显示全部楼层
楼主应该把图片贴一下,再做仔细说明.<BR>就目前的代码已经很难优化了.<BR>另外我觉得48s已经不算慢了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 23:22 , Processed in 0.061631 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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