作者zel (柚植)
看板C_Sharp
标题[问题] 关於使用C#编写影像处理程序的效能
时间Sat Aug 9 00:48:38 2014
因为在学校时只碰过MATLAB,在工作时也只接触过C#没碰过其他语言,所
以最近工作上碰到影像处理问题时也尝试着用C#编写.dll档供设备测试
使用.
因为公司同事之前都是用LabVIEW撰写设备控制介面,手边资源找不到一
个标准可以参考, 网路上也找不到相关资讯. 所以想请教有相关经验的
前辈, 如果对一张接近5M大小的8bit灰阶图片(2560*1800),做自动二值
化(我是使用Otsu法)所花费的时间大概是多少呢?
我把stopwatch摆在进入程序前後进行统计, 电脑CPU是Celeron G540双
核 2.5GHz. 结果运算时间居然要耗费约10ms......... Orz
这个还是在release mode build成exe档的执行速度...
不知道是不是因为使用C#编写所以执行效率低落..?
还是说其实正常速度不是这样, 是我要重新检查我的撰写逻辑?(如果是
这样就太棒了!! 代表我不用换语言编写...囧>)
还忘有经验的前辈能给予指点, 感恩m(_ _)m
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.173.101.139
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1407516523.A.574.html
※ 编辑: zel (218.173.101.139), 08/09/2014 01:00:30
1F:→ Abbee:你用指标写吗? 08/09 20:46
2F:→ zel:是的,用byte* 去读影像阵列 08/09 20:51
3F:→ Abbee:用Otsu法抓阈值, 应该花了不少时间吧~不能换别种法算阈值吗? 08/09 23:40
4F:→ zel:目前是有备案的,不过是需要设参数的方法。 08/10 00:26
5F:→ Abbee: 你可以先把图缩到十分之一大小再找阈值,这样应该会快很多 08/10 08:47
6F:→ zel: 对吼!降阶对灰阶分布比例影响应该不大 08/10 11:55
7F:→ Litfal: 但resize还不是需要开销 = = 如果只用一次好像没什麽必要 08/11 13:31
8F:→ zel: 我是没先resize,在指标寻值时固定跳个range取值。 08/11 20:06
9F:→ zel: 虽然这样也会增加运算量,但是实测的结果感觉还好。另外阀值 08/11 20:06
10F:→ zel: 搜结果有时会差很多,我的case是後续还有其他步骤所以影响小 08/11 20:09
11F:→ zel: 但如果要直接用这张图的资讯做分析的话可能就要考虑一下 08/11 20:10
12F:→ zel: 实测的一点小心得 08/11 20:11
13F:→ zel: 还有整个运算最花时间的部分是纪录灰阶直方图 08/11 20:12
14F:推 yaolling: 个人觉得你的pc跑这个时间差不多耶 09/09 07:31