aihot  2017-05-25 21:02:02  OpenCV |   查看评论   

  Simd是开源的图像处理库,它提供了很多高性能的算法,这些优化算法主要由SIMD指令来实现,包括SSE、SSE2、SSSE3、SSE4.1、SSE4.2、AVX等,此库可以应用在windows/Linux 32bit/64bit等系统中。此库更新较频繁。此库的license是MIT。

 
下面详细介绍其在vs2010中的编译及使用:
 
1.        从http://sourceforge.net/projects/simd/?source=typ_redirect下载最新版本simd.2.2.27.443,解压缩;
 
2.        新建一个libSimd静态库工程,将/simd.2.2.27.443/simd/src/Simd目录下的.h、.cpp文件加入到此工程中,将../../../src/simd.2.2.27.443/simd/src/加入到C/C++--> General --> Additional Include Directories中,编译即可生成静态库,其实/simd.2.2.27.443/simd/prj/vs11中已经有了vs2012的工程配置,只是工程数太多,我把它们都放在一个工程里了;
 
3. 新建一个testSimd控制台工程,测试生成的libSimd库的正确性,相关代码如下:
 
stdafx.h:
  1. #pragma once  
  2.   
  3. #include "targetver.h"  
  4.   
  5. #include <stdio.h>  
  6.   
  7. #include "Simd/SimdSse2.h"  
  8. #include "Simd/SimdBase.h"  
  9.   
  10. #include "../../OpenCV/2.4.9/vs2010/install/include/opencv2/core/core.hpp"  
  11. #include "../../OpenCV/2.4.9/vs2010/install/include/opencv2/highgui/highgui.hpp"  
  12. #include "../../OpenCV/2.4.9/vs2010/install/include/opencv2/imgproc/imgproc.hpp"  

 

 stdafx.cpp:

  1. #include "stdafx.h"  
  2.   
  3. #ifdef _DEBUG  
  4.     #pragma comment(lib, "../../../lib/dbg/x86_vc10/libSimd[dbg_x86_vc10].lib")  
  5.   
  6.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/zlibd.lib")  
  7.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/IlmImfd.lib")  
  8.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/libjasperd.lib")  
  9.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/libjpegd.lib")  
  10.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/libpngd.lib")  
  11.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/libtiffd.lib")  
  12.   
  13.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/opencv_core249d.lib")  
  14.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/opencv_highgui249d.lib")  
  15.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/opencv_imgproc249d.lib")  
  16.   
  17.     #pragma comment(lib, "comctl32.lib")   
  18. #else  
  19.     #pragma comment(lib, "../../../lib/rel/x86_vc10/libSimd[rel_x86_vc10].lib")  
  20.   
  21.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/zlib.lib")  
  22.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/IlmImf.lib")  
  23.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/libjasper.lib")  
  24.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/libjpeg.lib")  
  25.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/libpng.lib")  
  26.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/libtiff.lib")  
  27.   
  28.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/opencv_core249.lib")  
  29.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/opencv_highgui249.lib")  
  30.     #pragma comment(lib, "../../../../OpenCV/2.4.9/vs2010/install/x86/vc10/staticlib/opencv_imgproc249.lib")  
  31.   
  32.     #pragma comment(lib, "comctl32.lib")  
  33. #endif  

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自开源库Simd在vs2010中的编译及简单使用

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]