加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
头疼,两个大数组寻找近似值的问题,求助
AnthraX2011/08/23软件综合 IP:澳大利亚
其实还是图片处理的问题,有两个图片,一个16000像素,一个9000像素,9000像素的图片里面大部分像素是来源于16000像素图片的一部分,不一定是完全相同,可能一些像素的rgb差会在20以内。
目的是在9000像素图片里把和16000像素里面任何一个像素近似的像素变成纯白色(255,255,255),我现在用的算法是最垃圾型,把两个图片的所有像素都变成数组,然后循环两个数组里面的每一个像素,通过函数判断是否近似,是的话就变白。
说白了就是:
9000像素图片=数组a
16000像素图片=数组b

用数组a的第一个像素和数组b的每一个像素对比近似值
用数组a的第二个像素和数组b的每一个像素对比近似值
.
.
.
一直到第9000个像素
总循环数9000*16000=144000000
处理时间……python下加了psyco加速器单线程用了4分多钟,cpu i7 920 3.8Ghz,内存6g DDR3 1448Mhz

这样虽说速度慢,但是效果很好,基本能把所有相同像素都去掉,我也想过用平均值的方法,但是效果不够好。求算法优化……最好能把时间缩到3秒以内,9000个循环基本用不到2秒。
来自:计算机科学 / 软件综合
12
新版本公告
~~空空如也
AnthraX 作者
13年10个月前 IP:未同步
318005
现在去除了16000数组里面的相同值,剩下差不多10000个数据
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
AnthraX作者
13年10个月前 IP:未同步
318110
引用第3楼我说要有光于2011-08-23 23:16发表的  :
并行的话用CUDA试试看?

主要问题是要优化算法……而且我用python= =哪来的cuda
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
AnthraX作者
13年10个月前 IP:未同步
318671
搞定了,先把大图缩成60x20了,然后扩大像素近似值的搜索范围,然后加上8线程同时执行,0.5秒
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
AnthraX
学者 笔友
文章
106
回复
1411
学术分
2
2008/03/06注册,6个月28天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的