关于嵌入式平台做图像处理但是内存不足的处理方法,求老哥们指教

2021-11-05 11:52:00 +08:00
 zhttp

基本情况是,一张 4k 的图片,有设备有 128m 内存,算法功能可以认为是降噪,按照现有算法,内存是完全不够的,现在有两个思路:
第一个是优化算法,用时间换空间,但是自己水平有限,降了一些内存消耗,但是还不够,暂时没有能力继续优化;

第二个是处理之前缩小图片尺寸,然后处理之后再放大回原来的尺寸,但是图片会肉眼可见的变糊;
现在想要请教的是,在第二个思路的基础上,有没有什么方法保留更多的细节,让处理后的图片没那么糊,例如说,有原始图像 A ,缩小之后的图像 Ai ,处理之后的图像 Ao ,目前是用 opencv 直接把 Ao 放大到 A 的尺寸得到最终结果 B ,是不是可以对比 Ao 和 Ai 的变化,直接把这个变化直接应用到原始图像 A 上面,相比于直接放大 Ao ,有没有可能获得质量更好的 B ?

1188 次点击
所在节点    问与答
16 条回复
villivateur
2021-11-05 11:59:28 +08:00
这种情况为什么不考虑换一个更大的内存呢?还是说硬件成本控制更重要?
Ediacaran
2021-11-05 12:02:10 +08:00
分块处理吧
qq316107934
2021-11-05 12:05:46 +08:00
如 2 楼所说,先裁剪成 N 块,处理后最后合并
zhttp
2021-11-05 13:35:38 +08:00
@villivateur 硬件方案我插不上话。。
zhttp
2021-11-05 13:36:02 +08:00
@Ediacaran @qq316107934 感谢建议,准备试一下
root99527
2021-11-05 14:24:03 +08:00
分块加 overlap 比较靠谱
booboo
2021-11-05 14:26:31 +08:00
降噪的这种,分块处理没有问题的
zhttp
2021-11-05 14:51:21 +08:00
@root99527 你好,能麻烦简单解释一下 overlap 是什么吗?我之前都是纯开发,第一次接触算法。。。
zhttp
2021-11-05 14:56:49 +08:00
@Ediacaran @qq316107934 @root99527 @booboo 另外各位老哥,我尝试了一下把原始图像简单切成上下左右四块处理完再拼起来,可以看到四块明显有区别,可能是算法本身用到了图像的全局信息,切割之后每块的信息都有区别,导致降噪结果各不相同,我现在打算试试类似于降采样的方法抽出来几张图,分别处理一下试试。
qq316107934
2021-11-05 15:00:08 +08:00
@zhttp 是边缘有问题对吧,应该是算法会用到周围像素的信息,如果你不清楚的算法可以加一个出血框,也就是过量裁剪一部分,拼接的时候使用出血框内的。
lysS
2021-11-05 15:07:46 +08:00
降噪?快速傅立叶变化和窗函数都是有专有硬件的,性能很高;看是否可以考虑下
root99527
2021-11-05 15:17:59 +08:00
@zhttp overlap 指的是比如 256x256 的一张图,分成四个 block 时,不能直接割成 64x64 的块,需要增加冗余像素比如 80x80 ,在拼接的时候再取平均。
zhttp
2021-11-05 16:26:55 +08:00
感谢楼上老哥们的帮助,就不一一 @叨扰了,我现在采用的方法是按降采样的方式分成四个,这样每个图像可以最大程度保持相似,处理完再按原位置合成,目前内存和时间消耗算是可以接受,以后有需要我再研究研究其他的方法,再次感谢各位。
c0xt30a
2021-11-05 18:36:27 +08:00
@zhttp 图片里的每个像素与它的邻居是强相关的,最好像前面提到的那样,有 overlap 的切割,直接切成四块再拼接太粗暴了
vance123
2021-11-05 23:19:25 +08:00
想当年我的板子只有 32k 内存
zhttp
2021-11-06 09:39:46 +08:00
@c0xt30a 明白了,感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/813245

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX