【发布时间】:2013-07-22 20:43:19
【问题描述】:
我有一个 8 位 640x480 图像,我想将其缩小为 320x240 图像:
void reducebytwo(uint8_t *dst, uint8_t *src)
//src is 640x480, dst is 320x240
使用 ARM SIMD NEON 的最佳方法是什么?任何地方的示例代码?
作为一个起点,我只是想做相当于:
for (int h = 0; h < 240; h++)
for (int w = 0; w < 320; w++)
dst[h * 320 + w] = (src[640 * h * 2 + w * 2] + src[640 * h * 2 + w * 2 + 1] + src[640 * h * 2 + 640 + w * 2] + src[640 * h * 2 + 640 + w * 2 + 1]) / 4;
【问题讨论】:
-
最佳需要被定义。最快、最高质量、最小尺寸等?对于最高质量,图像缩小有不同的权衡。在某些情况下保持低频内容很重要,在其他情况下保持高频内容很重要。什么是 8 位?灰度、颜色映射或其他?
-
这是一个灰度输入。最好 = 最快。
标签: image image-processing arm simd neon