我有一张图片,我得到每个像素并将 RGB 乘以一个数字。当 R * number > 255 时,我还需要小心。发生这种情况时,r = 255。完成 1024x768 图像大约需要 10 秒以上。做亮度的常用软件,不到1s就可以搞定。有什么想法可以改进我的策略吗?谢谢。
问问题
939 次
4 回答
3
我有一个类似的问题:
如何在 .NET 中使用 ColorMatrix 更改亮度、颜色、饱和度、色调
仅就亮度而言,colormatrix 就可以正常工作。如果您想开始使用对比度等,您将需要使用其他解决方案。似乎 SetPixel 是最慢的部分。请参阅此解决方案以快速执行此操作:
http://www.codeproject.com/KB/GDI-plus/csharpgraphicfilters11.aspx
于 2011-03-29T16:21:13.530 回答
2
使用ColorMatrix可能是最好的方法。这是一篇让您上路的文章:http ://www.c-sharpcorner.com/UploadFile/mahesh/Transformations0512192005050129AM/Transformations05.aspx
于 2011-03-29T16:15:10.510 回答
1
当我对多兆字节的图像进行一些简单的图像处理时,我使用不安全的代码和指针操作来获取原始字节,从而显着提高了性能。
这可能会让你朝着正确的方向前进http://wcode.net/2009/08/unsafe-in-c-and-image-processing/
于 2011-03-29T16:13:29.067 回答
0
于 2011-03-29T18:48:35.950 回答