我有一张照片,我得到每个像素并将RGB乘以一个数字。当R * number>时我还需要注意255.当发生这种情况时,r = 255。 完成1024x768图像需要大约10s +。执行亮度的常用软件只需不到1秒即可完成。有什么想法可以改善我的策略?感谢。
答案 0 :(得分:3)
我遇到了类似的问题:
How to use ColorMatrix in .NET to change Brightness, Color, Saturation, Hue
仅对于亮度,colormatrix就可以正常工作。如果您想开始使用对比等,您将需要使用其他一些解决方案。似乎SetPixel是最慢的部分。请参阅此解决方案以快速执行此操作:
http://www.codeproject.com/KB/GDI-plus/csharpgraphicfilters11.aspx
答案 1 :(得分:2)
使用ColorMatrix可能是最好的方法。这是一篇文章,可以帮助您:http://www.c-sharpcorner.com/UploadFile/mahesh/Transformations0512192005050129AM/Transformations05.aspx
答案 2 :(得分:1)
当我在多兆字节图像上进行一些简单的图像处理时,我使用不安全的代码和指针操作显着提高了性能,以获得原始字节。
这可能会让您朝着正确的方向http://wcode.net/2009/08/unsafe-in-c-and-image-processing/
答案 3 :(得分:0)