社区
图形处理/算法
帖子详情
对于2千万次的一个循环,如何提高计算速度?
ironjie
2012-07-26 06:54:15
我有一个程序,里面先拷屏,然后对拷屏图像做畸变处理并保存。程序中对图像1700*1700大小进行逐点遍历并计算,现在每个图像处理一遍要3秒左右,惠普z800的工作站,4核2.3ghz。但是任务要求在1秒以内完成1张,2秒以内连续处理2张图像。我感觉完成不了这个指标,求大神出主意?
算法没法优化。
...全文
403
16
打赏
收藏
对于2千万次的一个循环,如何提高计算速度?
我有一个程序,里面先拷屏,然后对拷屏图像做畸变处理并保存。程序中对图像1700*1700大小进行逐点遍历并计算,现在每个图像处理一遍要3秒左右,惠普z800的工作站,4核2.3ghz。但是任务要求在1秒以内完成1张,2秒以内连续处理2张图像。我感觉完成不了这个指标,求大神出主意? 算法没法优化。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ironjie
2012-07-31
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
这个计算量,怎么优化都比较悬,
对LZ的题目,我理解是同一个相机抓的图?也就是每次的图片处理,实际的畸变矫正计算是一样的?
如果这样,那就计算一次后,把映射矩阵保存下来,以后的每次处理只要查表就行了。
这么做能对1080p图像畸变矫正处理在900M DSP上达到8帧,实现实时。至于PC就更高了,每秒15帧没问题
[/Quote]
good idea。但是映射矩阵这个应该怎么做,不知道大神可否给demo让我学习下!
ironjie
2012-07-31
打赏
举报
回复
楼上几位大神的意见都非常好,很实用。目前我自己的解决方法是用多线程,因为技术能力不够,所以多核分块计算以及gpu编程都没实现。结贴!谢谢大家!
zju510
2012-07-28
打赏
举报
回复
这个计算量,怎么优化都比较悬,
对LZ的题目,我理解是同一个相机抓的图?也就是每次的图片处理,实际的畸变矫正计算是一样的?
如果这样,那就计算一次后,把映射矩阵保存下来,以后的每次处理只要查表就行了。
这么做能对1080p图像畸变矫正处理在900M DSP上达到8帧,实现实时。至于PC就更高了,每秒15帧没问题
artzers
2012-07-27
打赏
举报
回复
这个图片确实小了,像我现在要编写处理10G图像的数据压力大啊。正在考虑联机并行运算。
relaxisland
2012-07-27
打赏
举报
回复
用 simd 汇编吧
不懂汇编,可以采用intrinsic函数
kimiwa1
2012-07-27
打赏
举报
回复
算法优化下吧先
如果多核还不行的话,考虑gpgpu 如果有n卡考虑cuda,简直就是专为你的需求设计的
南京短暂的春天
2012-07-26
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
想到个不用编程的方法。
开4个程序,每个程序用任务管理器绑定一个核。
突发奇想,欢迎吐槽
[/Quote]
有些专业的程序是支持这么做的
我以前用过流体力学计算软件FLUENT就可以为算例指定用哪几个核运算
副组长
2012-07-26
打赏
举报
回复
① 1700*1700其实是一个很小的图像,看不见你循环内的代码不知道是不是还有优化的空间。
② 多核用OPenMP #pragma omp for 就是干这个用的。
应该没问题吧。
laviewpbt
2012-07-26
打赏
举报
回复
你怎么知道算法没法优化呢?
傻X
2012-07-26
打赏
举报
回复
想到个不用编程的方法。
开4个程序,每个程序用任务管理器绑定一个核。
突发奇想,欢迎吐槽
hztj2005
2012-07-26
打赏
举报
回复
omp是简单有效的多线程方法。
调试得合理,降低到1秒没问题。
很羡慕你这么好的工作站。
长尾巴的悟空
2012-07-26
打赏
举报
回复
一般也就是优化内外循环的效率。
zhouzhipen
2012-07-26
打赏
举报
回复
分块,然后用多个线程去计算。
然只有在计算代码中优化了。
南京短暂的春天
2012-07-26
打赏
举报
回复
[Quote=引用 2 楼 wsfxzxb 的回复:]
改用多线程处理,4核,应该速度有明显提高
[/Quote]
那这么说,可以开4个算例
不用特意编写多线程代码
梦之领域
2012-07-26
打赏
举报
回复
改用多线程处理,4核,应该速度有明显提高
南京短暂的春天
2012-07-26
打赏
举报
回复
图形是bmp的?
对图像处理不太了解
你先把目前处理的算法说一下吧
让大家看看有什么可以改进的
深入浅出
循环
神经网络_TensorFlow2
深入浅出
循环
神经网络... 浅出: 四个项目实战,全面掌握TensorFlow2构建各种
循环
神经网络模型的方法,掌握序列式数据预测,文本分类与文本生成的全过程。 所有代码实时输入,每一行代码进行相关讲解,确保理解0障碍。
python
循环
速度
提高
_
提高
python中for
循环
的速度
我正在计算从1到10^7的数字的分区数。...总之,长话短说,我使用两个
循环
,
一个
从1到10^7,另
一个
使用x的定义,并根据特定的公式计算。正如您可以想象的,代码执行得相当慢。有什么方法可以
提高
这些for
循环
的速...
matlab
提高
循环
运行效率,
提高
MATLAB运行效率
提高
MATLAB运行效率
提高
MATLAB运行效率 用过Matlab的人都知道,Matlab是一种解释性语言,存在
计算速度
慢的问题,为了
提高
程序的运行效率,matlab提供了多种实用工具及编码技巧。 1.
循环
矢量化 Matlab是为矢量和...
如何
提高
matlab
计算速度
运算效率
最近在网上查了一些资料,并结合自己的经验,就如何
提高
matlab计算效率,总结一下几个原则: 1. 提前给数组分配大小。 2. 尽量用矢量计算,减少 for
循环
。 3. 尽量调用 maltab自带的函数来实现一些功能。 4...
如何
提高
for
循环
效率?
MATLAB 中,矩阵运算会比 for
循环
效率更高,例如对
一个
矩阵的所有元素求 sin 值,并不需要用 for
循环
,直接: a=[1 2 3] b=sin(a) 这样就避免了对 a 中的每个元素进行 for
循环
。 3)并行化 使用 parfor,将 for ...
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章