c++ - 英特尔 IPP 图像调整大小功能是否关心 alpha 值的位置?

标签 c++ image image-processing

我正在使用 IPP 有效地调整图像大小,但 IPP 真正令人好奇的部分是“IPP 图像调整功能是否关心 alpha 值位置?”

图像的像素类型确实很多,但有两种像素类型使用得很好:“ARGB、RGBA”。和ippiResizeNearest_8u_C4R 函数根据Intel IPP function naming documentation 调整四 channel 图像 的大小| .

正如您在文档中看到的,我们可以区分 alpha channel 的函数关注位置,如:AA0。但是 ippiResizeNearest_8u_C4R 函数没有任何 alpha channel 描述符。所以我什至不能指望哪个颜色顺序 IPP 会调整大小。

所以我的问题是:英特尔 IPP 图像调整大小功能是否关心 alpha 值的位置?如果不是,ippiResizeNearest_8u_C4R 函数的默认像素类型是什么?

最佳答案

我不是 IPP 专家,但快速阅读文档似乎证实了我认为是正确的。其他任何内容对我来说都没有意义。

调整多 channel 图像的大小通常针对每个 channel 单独完成,因为 channel 之间的插值没有意义(假设我们正在谈论 2d 图像)。它会完全弄乱颜色和透明胶片。

如果我们分别为每个 channel 执行此操作,IPP 不应该关心您如何调用您的 channel 。它会像 RGBA 一样调整 ARGB 的大小。它不会更改 channel 顺序,因此如果您将 ARGB 放入,您将获得调整大小的 ARGB。在调整大小的情况下,您在这 4 个 channel 中存储的内容无关紧要。

试试吧。在每个 channel 中创建具有不同值的测试图像。调整大小后的图像仍应具有这些值。

关于c++ - 英特尔 IPP 图像调整大小功能是否关心 alpha 值的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43184123/

相关文章:

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

python - Pyfst 安装错误

html - 样式不会被图像覆盖

保存多个图像后 C# GDI+ 一般错误/外部异常

opencv - 膨胀/侵 eclipse - 矩阵内核左上角与中间的 anchor

c++ - 在 Qt 中,如何从模型重置 ListView 中项目的背景颜色?

c++ - 将字符串 vector 连接到 std::ostream(如 boost::join)

javascript - 如何根据输出值添加同一图像的 'x' 编号?

CSS Float 属性不会将图像元素并排放置,有人看到代码有什么问题吗?

c++ - 像 Adob​​e Photoshop 一样的 OpenCV 和 USM 锐化