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

图像确实有很多像素类型,但是有两种使用良好的像素类型:“ ARGB,RGBA”。 ippiResizeNearest_8u_C4R函数根据Intel IPP function naming documentation调整四通道图像的大小。

正如您在文档中所看到的,我们可以区分alpha通道的功能关注位置,例如:AA0。但是ippiResizeNearest_8u_C4R函数没有任何Alpha通道描述符。因此,我什至无法期待IPP会调整哪种颜色顺序。

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

最佳答案

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

调整多通道图像的大小通常是针对每个通道分别进行的,因为通道之间的插值根本没有意义(假设我们正在谈论2D图像)。它将完全弄乱颜色和透明胶片。

而且,如果我们分别对每个频道进行此操作,那么IPP不必在乎您如何称呼频道。它将以与RGBA相同的方式调整ARGB的大小。它不会改变通道顺序,因此,如果您将ARGB放入其中,则会得到调整大小的ARGB。在调整大小的情况下,在这4个通道中存储的内容无关紧要。

尝试一下。在每个通道中创建一个具有不同值的测试图像。调整大小后的图像仍应具有这些值。

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

10-11 13:17