gpt4 book ai didi

ios - 如何使用加速框架(vImage)缩放灰度图像

转载 作者:行者123 更新时间:2023-12-01 19:18:12 26 4
gpt4 key购买 nike

嗨,我需要快速缩放灰度图像,所以我尝试了 vImage,但应用程序崩溃了,请帮忙。在下面的代码中 srcimg.data/dstimg.data 是指向无符号字符图像数据(单 channel 仅灰度数据)。

vImage_Buffer src;
src.data=srcimg.data;
src.height=srcimg.cols;
src.width=srcimg.rows;
src.rowBytes=srcimg.cols;

vImage_Buffer dest;
dest.data=dstimg.data;
dest.height=dstimg.cols;
dest.width=dstimg.rows;
dest.rowBytes=dstimg.cols;
vImageScale_Planar8(&src, &dest, NULL, kvImageNoFlags);

最佳答案

对于 vImage/Geometry.h 中的重采样 API,我们选择使用矢量单元来提供更好的质量而不是更快的速度。这是因为向量单元在内存中进行分散访问时通常很差,这在很大程度上是您为简单的事情所做的,例如线性或最近邻重采样与非单元步幅。他们似乎并不擅长使最近邻或线性过滤快速进行。因此,我们转而使用 Lanczos 过滤,它查看更大的连续像素区域以找出每个结果像素。它看起来很棒(我认为),但要获得出色的效果还需要做更多的工作。

另外,如果你想要的只是线性或最近邻过滤,那么 GPU 有硬件支持!

确实,vImage 中的一般 API 旨在为您提供比滚动自己更快的结果。

关于ios - 如何使用加速框架(vImage)缩放灰度图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11629823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com