利用 GPU 应用 ColorMatrix
我有一个使用 ColorMatrix 对图像重新着色的 C# 应用程序。据我所知,ColorMatrix 不使用 GPU。如果我想使用 GPU 对图像重新着色,最好的探索途径是什么?指向在任何建议的库中查找的位置的指针将不胜感激,示例更是如此!
I have a C# application that recolors an image using ColorMatrix. I understand that ColorMatrix doesn't make use of the GPU. What would be the best avenue to explore if I wanted to use the GPU to recolor the image? Pointers to where look in any suggested libraries would be appreciated, examples even more so!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在搜索的是像素着色器,它们是并行执行的微小例程GPU 处理给定纹理/图像的每个像素。由于您使用的是 C#,因此您可以使用 WPF,它允许将像素着色器应用于任何元素。 这是 Codeplex 上的一个库,其中包含许多着色器,例如制作单色或负片图像。
如果您不打算使用 WPF,如果您只想进行图像处理,那么可能会“大材小用”,请开始使用 Direct3D、OpenGL 或最新的 Direct2D 等技术,以便在渲染目标上轻松应用像素着色器。
What you're searching for are call Pixel Shaders, they are tiny routines that are executed in parallel on each pixel of a given texture/image by the GPU. Since you're using C#, you can use WPF that allows pixel shaders to be applied on any element. Here's a lib on Codeplex that includes many shaders like making a monochrome or a negative image.
If you don't plan on using WPF which might be 'overkill' if you only intend to do image processing, starts using technologies like Direct3D, OpenGL or the recent Direct2D to apply with ease pixel shaders on a rendering target.