编写高效的C#图像处理程序(4) Rgb=>Lab,C# vs. C++(VC)
2014-03-14 13:13
579 查看
作者:xiaotie
转自:/article/4621706.html
在 《编写高效的C#图像处理程序(3) Rgb=>Lab,图像缺陷检测的例子》 一文中比较了 C#/Unsafe 和 P/Invoke/C情况下的性能,本文比较 C#/Unsafe 和 C++(VC)下的性能。
为消除两种语言的测试区别,C#版本查表时使用指针而非数组,VC下使用无Stride的Rgb24,相关测试代码见
下载链接 。
这又形成了4个测试用例:
H- C#,非查表;I-C#,查表; J-C++,非查表; K-C++,查表
C# 版为 .Net 4.0, VS2010 ,代码中选择快速一项为测试I,不选择为测试H。
C++版 - VS2008。选择快速一项为测试K,不选择为测试J。
测试结果(毫秒):
图像2,大小:1845×611
H: 31 29 36 32
I: 10 10 10 10
J: 39 33 33 30
K: 9 8 8 8
图像3,大小:3888×2592
H: 195 194 194 195
I: 53 52 51 52
J: 220 218 218 222
K: 41 42 41 41
转自:/article/4621706.html
在 《编写高效的C#图像处理程序(3) Rgb=>Lab,图像缺陷检测的例子》 一文中比较了 C#/Unsafe 和 P/Invoke/C情况下的性能,本文比较 C#/Unsafe 和 C++(VC)下的性能。
为消除两种语言的测试区别,C#版本查表时使用指针而非数组,VC下使用无Stride的Rgb24,相关测试代码见
下载链接 。
这又形成了4个测试用例:
H- C#,非查表;I-C#,查表; J-C++,非查表; K-C++,查表
C# 版为 .Net 4.0, VS2010 ,代码中选择快速一项为测试I,不选择为测试H。
C++版 - VS2008。选择快速一项为测试K,不选择为测试J。
测试结果(毫秒):
图像2,大小:1845×611
H: 31 29 36 32
I: 10 10 10 10
J: 39 33 33 30
K: 9 8 8 8
图像3,大小:3888×2592
H: 195 194 194 195
I: 53 52 51 52
J: 220 218 218 222
K: 41 42 41 41
结论:
C#下图像开发在性能上是很给力的!还在犹豫什么呢?WPF强大的UI交互功能(Layout,缩放,控件体系……)结合C#/Unsafe高效的性能,是一套超级无敌的技术组合!在xp下WPF的性能还是有点杯具,呃呃呃,在Win7下,WPF是相当给力的!相关文章推荐
- 编写高效的C#图像处理程序(4) Rgb=>Lab,C# vs. C++(VC)
- 编写高效的C#图像处理程序(3) Rgb=>Lab,图像缺陷检测的例子
- 编写高效的C#图像处理程序(3) Rgb=>Lab,图像缺陷检测的例子
- 【数字图像处理】YUV420转RGB并BMP存储<纯C++实现>
- 编写高效的C#图像处理程序——我的实验(续)
- 基于qml创建最简单的图像处理程序(2)-使用c++&qml进行图像处理
- 【数字图像处理】<纯C++>读取、裁剪、缩放、旋转和存储8位bmp灰度图像
- 用VC写高效的图像处理程序
- 编写高效的C#图像处理程序
- 编写高质量代码之改善C++程序语法篇2<从C到C++需要做的改变>
- 编写高质量代码之改善C++程序语法篇3<内存管理 >
- ZT:编写高效的C#图像处理程序
- 【数字图像处理】<纯C++>读取、裁剪、缩放、旋转和存储8位bmp灰度图像
- <C++精英内参-程序员高效指南>-4搭配VS的好用工具
- 编写高效的C#图像处理程序——我的实验
- 编写高效的C#图像处理程序——我的实验
- C++&nbsp;C#&nbsp;VC&nbsp;VC.net以及VC++有…
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- 在Matlab中调用C/C++程序<三>
- VC与Matlab混合编程之调用动态链接库dll(C++)——<二>