我有一个应用程序需要调整很多大灰度图像(最多 4000 * 4000)的大小。我不想使用 java 图形,因为它适用于 CPU。有没有办法在 GPU 上执行类似于 directX9::StretchRect 的调整大小。在stretchRect 中,我只需一步即可调整大小和渲染。
问问题
1258 次
1 回答
0
缩放的问题使得它(有时)对并行化不那么友好(这就是人们使用 GPU 的原因)是缩放期间需要插值。更具体地说,对周围像素的颜色值进行平均以获得新像素的值(扩展时)或智能地将所有周围像素平均为您尝试并代表多个像素的单个颜色值(收缩时)。
这需要您知道给定像素周围的所有值,这意味着像素上方/下方/左侧/右侧的所有行都需要准备好读取。
我相信您可以在 GPU 上进行图像缩放,我只是认为您不会获得超并行化的高质量缩放,在这种情况下,在 CPU 上进行可能是您想要的。
如果您正在执行的图像缩放有一些独特的方面可以进行严重并行化,并且可以在没有围绕它们的图像数据的情况下平均每行或每组行,那么是的,这将是一个很好的推送到显卡。
于 2012-07-10T20:13:41.380 回答