signal-processing - 如何最好地使用 Eign 过滤和调整图像大小?
问题描述
我有一个图像,一个 uint8_ts 的二维数组。我想使用可分离过滤器调整图像大小。考虑先缩小宽度。因为原始尺寸和目标尺寸不相关,我们将为每个目标像素使用一组不同的系数。对于特定的进出尺寸,对于所有 y,我们可能有:
out(500, y) = in(673, y) * 12 + in(674, y) * 63 + in(675, y) * 25
out(501, y) = in(674, y) * 27 + in(675, y) * 58 + in(676, y) * 15
我如何使用 Eigen 来加快速度,例如为我矢量化它?这可以表示为矩阵乘以稀疏矩阵,维度为 in_width * out_width,其中在每一行中,in_width 值中只有 3 个非零。在实际用例中,4 到 8 通常不为零。但是那些非零值将是连续的,使用 SSE 或任何使其快速的东西会很好。
请注意,源矩阵有 8 位标量。最终结果,在缩放宽度和高度后也将是 8 位。中间矩阵(图像)和过滤器的精度可能更好,比如 16 位。但即使它们是 8 位,在相乘时,我们也需要取乘积的最高有效位,而不是最低有效位。
难道这离Eigen能做的太远了吗?这种卷积,每个像素的内核都不同(只是因为输出大小不是输入大小的整数倍),似乎很常见。
解决方案
推荐阅读
- three.js - TREE.JS / GLSL 如何将着色器大小与世界坐标匹配?
- algorithm - DFS Graph Traversal 打印所有可能的路径,而不会丢失任何贡献的边缘
- javascript - ES6 链式访问以前的方法
- python - 自定义层中的偏差不存在 Tensorflow 梯度
- java - 是否可以从 Java 中的客户端应用程序遍历 ADT 链接列表中的项目?
- firebase - Flutter - 如何使用 FCM onResume 和 onLaunch 方法?
- authentication - 通讯微服务——邮箱验证链接
- r - 使用 JAGS 调整线性模型时出现问题
- php - 使用 '&' 字符的查询返回 NULL,在 JS 中使用 encodeURIComponent(),在 PHP 中使用 urldecode()
- kubernetes - cert-manager:让我们用 nginx 加密 HTTP01 挑战(没有入口)