图像处理的代码效率问题
来源:互联网 发布:信封设计软件 编辑:程序博客网 时间:2024/06/06 12:36
原文地址:http://www.cnblogs.com/Thinknet/archive/2009/01/13/1375106.html
整理如下:
以彩色图像灰度化为例,彩色图像的加权灰度化公式如下:
Gray= (0.11* Blue + 0.59* Green + 0.30* Red)
实际计算机处理时,这种方法已经很快了,但实际上还存在可以优化的余地。以上代码所采用的是浮点运算。而在图像处理中,速度就是生命,实时性往往是很重要的指标,这就要求我们在实现算法时必须考虑到代码的效率问题。所以有一个原则:在图像处理中,能不用浮点运算,就最好不要用!
因此,上述代码可以等效的优化为:
Gray = (30 * Red + 59 *Green + 11 * Blue) / 100;
这样一改,可以有效避免浮点运算,因此可以提高代码的效率
对这行代码还可以继续改进为如下:
同样的,还可以实现为:
Gray= (77 * Red + 151 * Green + 28 * Blue) shr 8;
shr 8指右移运算,这种方法实现了移位运算,避免了除法,效率上又有所提高。
0 0
- 图像处理的代码效率问题
- 对比使用C# unsafe代码和OpenCV进行图像处理的效率(上)
- OracleSpatial处理多图层的效率问题
- Android开发代码的效率问题
- 浅谈代码提高运行效率的问题
- Android从文件读取图像显示的效率问题
- 一些有关图像处理的代码片段
- 图像处理代码的一些思考
- Java的图像处理代码示例
- 托管代码和非托管代码效率的对比问题
- 图像处理代码
- 图像处理代码
- 图像处理代码
- 图像处理代码库
- 图像处理代码库
- 关于图像处理的一点问题
- NDK 图像处理遇到的相关问题
- opencv关于图像处理坐标的问题
- hdu 3602 2012
- Next Permutation :from LeetCode
- PJOI 1024 Hamilton Circles 矩阵快速幂
- 生活不应将就
- iOS企业ipa(299)证书制作、打包发布全流程
- 图像处理的代码效率问题
- HTTP协议详解(真的很经典)
- 深入理解C++的指针和引用
- org.apache.ibatis java.sql debug模式不显示
- Insecure default in Elasticsearch enables remote code execution
- PHP基础加强(第十四天)
- Java开发中的23种设计模式详解
- zookeeper学习记录
- 画图形去锯齿