opencv2在centos6.5上开发

前端之家收集整理的这篇文章主要介绍了opencv2在centos6.5上开发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

博客写的有点乱,一般都是工作中遇到的问题,做一下笔记

1) 因为之前opencv是在centos7上开发调试的.突然发现服务器是cents6.x的.只能移植

centos 直接使用

  1. pip install pyopenssl
  2. yum install opencv opencv-core -y
  3. yum install gtk+-devel gtk2-devel -y
  4. yum install python-devel -y

2) centos 6.x安装opencv2.4.9

下载 :

  1. http://heanet.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip

解压缩到目录opencv-2.4.9,编译:

  1. yum install cmake -y
  2.  
  3. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=NO .
  4.  
  5. make

编译之后,可以发现 opencv-2.4.9/lib目录下有好多东西

  1. make install

其他: 为下一步做好准备:

  1. 1.配置
  2.  
  3. 新建文件 /etc/ld.so.conf.d/opencv.conf
  4.  
  5. 文件添加 /usr/local/lib
  6.  
  7. 保存之后执行配置
  8.  
  9. sudo ldconfig
  10.  
  11. 2.环境变量配置
  12.  
  13. sudo vim /etc/bashrc
  14.  
  15. PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  16. export PKG_CONFIG_PATH
  17.  
  18. 保存之后执行
  19.  
  20. source /etc/bashrc
  21.  
  22. 具体可以参考:
  23. http://www.cnblogs.com/changingivan/archive/2013/01/17/2864076.html

3) 从centos7环境的/usr/include目录下,把opencv和opencv2的头文件目录拷贝至centos6.x的/usr/include目录下

可以参考:

  1. http://blog.csdn.net/unixor/article/details/10894455

4) 因为开发的so库是提供给python的,所以需要安装python-devel.

但是python的运行环境是2.7,安装python2.7 编译.

下载:

  1. https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz

解压缩

  1. xz -d Python-2.7.12.tar.xz
  2. 生成文件Python-2.7.12.tar
  3.  
  4. 继续解压缩
  5. tar xvf Python-2.7.12.tar

编译,安装(注意include文件夹下面有个Python2.7目录,如果没有,可以从centos7上复制)

  1. ./configure
  2.  
  3. make
  4.  
  5. make install

5) 编译项目源代码

  1. g++ `pkg-config opencv --libs --cflags opencv` -fPIC -c -I/usr/include/python2.7 -I /usr/lib/python2.7/config 添加自己的cpp代码以及h文件

6) 测试验证

  1. [root@vmpc opencvDemo]# ldd pyxxxxxx.so
  2. linux-vdso.so.1 => (0x00007fffe73ff000)
  3. libopencv_calib3d.so.2.4 => /usr/local/lib/libopencv_calib3d.so.2.4 (0x00007f2c5cc5c000)
  4. libopencv_contrib.so.2.4 => /usr/local/lib/libopencv_contrib.so.2.4 (0x00007f2c5c970000)
  5. libopencv_core.so.2.4 => /usr/local/lib/libopencv_core.so.2.4 (0x00007f2c5c4d0000)
  6. libopencv_features2d.so.2.4 => /usr/local/lib/libopencv_features2d.so.2.4 (0x00007f2c5c223000)
  7. libopencv_flann.so.2.4 => /usr/local/lib/libopencv_flann.so.2.4 (0x00007f2c5bfaf000)
  8. libopencv_gpu.so.2.4 => /usr/local/lib/libopencv_gpu.so.2.4 (0x00007f2c5bd65000)
  9. libopencv_highgui.so.2.4 => /usr/local/lib/libopencv_highgui.so.2.4 (0x00007f2c5b938000)
  10. libopencv_imgproc.so.2.4 => /usr/local/lib/libopencv_imgproc.so.2.4 (0x00007f2c5b450000)
  11. libopencv_legacy.so.2.4 => /usr/local/lib/libopencv_legacy.so.2.4 (0x00007f2c5b130000)
  12. libopencv_ml.so.2.4 => /usr/local/lib/libopencv_ml.so.2.4 (0x00007f2c5aeac000)
  13. libopencv_nonfree.so.2.4 => /usr/local/lib/libopencv_nonfree.so.2.4 (0x00007f2c5ac6f000)
  14. libopencv_objdetect.so.2.4 => /usr/local/lib/libopencv_objdetect.so.2.4 (0x00007f2c5a9ed000)
  15. libopencv_ocl.so.2.4 => /usr/local/lib/libopencv_ocl.so.2.4 (0x00007f2c5a60a000)
  16. libopencv_photo.so.2.4 => /usr/local/lib/libopencv_photo.so.2.4 (0x00007f2c5a3ea000)
  17. libopencv_stitching.so.2.4 => /usr/local/lib/libopencv_stitching.so.2.4 (0x00007f2c5a178000)
  18. libopencv_superres.so.2.4 => /usr/local/lib/libopencv_superres.so.2.4 (0x00007f2c59f36000)
  19. libopencv_video.so.2.4 => /usr/local/lib/libopencv_video.so.2.4 (0x00007f2c59cdc000)
  20. libopencv_videostab.so.2.4 => /usr/local/lib/libopencv_videostab.so.2.4 (0x00007f2c59a9e000)
  21. librt.so.1 => /lib64/librt.so.1 (0x00007f2c59896000)
  22. libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2c59678000)
  23. libdl.so.2 => /lib64/libdl.so.2 (0x00007f2c59474000)
  24. libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f2c5916b000)
  25. libm.so.6 => /lib64/libm.so.6 (0x00007f2c58ee6000)
  26. libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2c58cd0000)
  27. libc.so.6 => /lib64/libc.so.6 (0x00007f2c5893c000)
  28. libz.so.1 => /lib64/libz.so.1 (0x00007f2c58725000)
  29. libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00007f2c584ff000)
  30. libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f2c582fa000)
  31. libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f2c57fe3000)
  32. /lib64/ld-linux-x86-64.so.2 (0x000000337d000000)

使用python脚本测试.

一切ok

备注: 编译opencv / 安装opencv / 编译python源码,/ 安装python

涉及到了头文件,g++编译.

最后依赖的文件写成Makefile (有一些.a文件可能是多余的,没有去验证)

  1. install:
  2.  
  3. sudo chmod +x centos6.5lib/*
  4.  
  5. echo "copy lib to /usr/local/lib/ "
  6.  
  7. sudo cp centos6.5lib/libopencv_calib3d_pch_dephelp.a /usr/local/lib/
  8. sudo cp centos6.5lib/libopencv_calib3d.so /usr/local/lib/
  9. sudo cp centos6.5lib/libopencv_calib3d.so.2.4 /usr/local/lib/
  10. sudo cp centos6.5lib/libopencv_calib3d.so.2.4.9 /usr/local/lib/
  11. sudo cp centos6.5lib/libopencv_contrib_pch_dephelp.a /usr/local/lib/
  12. sudo cp centos6.5lib/libopencv_contrib.so /usr/local/lib/
  13. sudo cp centos6.5lib/libopencv_contrib.so.2.4 /usr/local/lib/
  14. sudo cp centos6.5lib/libopencv_contrib.so.2.4.9 /usr/local/lib/
  15. sudo cp centos6.5lib/libopencv_core_pch_dephelp.a /usr/local/lib/
  16. sudo cp centos6.5lib/libopencv_core.so /usr/local/lib/
  17. sudo cp centos6.5lib/libopencv_core.so.2.4 /usr/local/lib/
  18. sudo cp centos6.5lib/libopencv_core.so.2.4.9 /usr/local/lib/
  19. sudo cp centos6.5lib/libopencv_features2d_pch_dephelp.a /usr/local/lib/
  20. sudo cp centos6.5lib/libopencv_features2d.so /usr/local/lib/
  21. sudo cp centos6.5lib/libopencv_features2d.so.2.4 /usr/local/lib/
  22. sudo cp centos6.5lib/libopencv_features2d.so.2.4.9 /usr/local/lib/
  23. sudo cp centos6.5lib/libopencv_flann_pch_dephelp.a /usr/local/lib/
  24. sudo cp centos6.5lib/libopencv_flann.so /usr/local/lib/
  25. sudo cp centos6.5lib/libopencv_flann.so.2.4 /usr/local/lib/
  26. sudo cp centos6.5lib/libopencv_flann.so.2.4.9 /usr/local/lib/
  27. sudo cp centos6.5lib/libopencv_gpu_pch_dephelp.a /usr/local/lib/
  28. sudo cp centos6.5lib/libopencv_gpu.so /usr/local/lib/
  29. sudo cp centos6.5lib/libopencv_gpu.so.2.4 /usr/local/lib/
  30. sudo cp centos6.5lib/libopencv_gpu.so.2.4.9 /usr/local/lib/
  31. sudo cp centos6.5lib/libopencv_haartraining_engine.a /usr/local/lib/
  32. sudo cp centos6.5lib/libopencv_highgui_pch_dephelp.a /usr/local/lib/
  33. sudo cp centos6.5lib/libopencv_highgui.so /usr/local/lib/
  34. sudo cp centos6.5lib/libopencv_highgui.so.2.4 /usr/local/lib/
  35. sudo cp centos6.5lib/libopencv_highgui.so.2.4.9 /usr/local/lib/
  36. sudo cp centos6.5lib/libopencv_imgproc_pch_dephelp.a /usr/local/lib/
  37. sudo cp centos6.5lib/libopencv_imgproc.so /usr/local/lib/
  38. sudo cp centos6.5lib/libopencv_imgproc.so.2.4 /usr/local/lib/
  39. sudo cp centos6.5lib/libopencv_imgproc.so.2.4.9 /usr/local/lib/
  40. sudo cp centos6.5lib/libopencv_legacy_pch_dephelp.a /usr/local/lib/
  41. sudo cp centos6.5lib/libopencv_legacy.so /usr/local/lib/
  42. sudo cp centos6.5lib/libopencv_legacy.so.2.4 /usr/local/lib/
  43. sudo cp centos6.5lib/libopencv_legacy.so.2.4.9 /usr/local/lib/
  44. sudo cp centos6.5lib/libopencv_ml_pch_dephelp.a /usr/local/lib/
  45. sudo cp centos6.5lib/libopencv_ml.so /usr/local/lib/
  46. sudo cp centos6.5lib/libopencv_ml.so.2.4 /usr/local/lib/
  47. sudo cp centos6.5lib/libopencv_ml.so.2.4.9 /usr/local/lib/
  48. sudo cp centos6.5lib/libopencv_nonfree_pch_dephelp.a /usr/local/lib/
  49. sudo cp centos6.5lib/libopencv_nonfree.so /usr/local/lib/
  50. sudo cp centos6.5lib/libopencv_nonfree.so.2.4 /usr/local/lib/
  51. sudo cp centos6.5lib/libopencv_nonfree.so.2.4.9 /usr/local/lib/
  52. sudo cp centos6.5lib/libopencv_objdetect_pch_dephelp.a /usr/local/lib/
  53. sudo cp centos6.5lib/libopencv_objdetect.so /usr/local/lib/
  54. sudo cp centos6.5lib/libopencv_objdetect.so.2.4 /usr/local/lib/
  55. sudo cp centos6.5lib/libopencv_objdetect.so.2.4.9 /usr/local/lib/
  56. sudo cp centos6.5lib/libopencv_ocl_pch_dephelp.a /usr/local/lib/
  57. sudo cp centos6.5lib/libopencv_ocl.so /usr/local/lib/
  58. sudo cp centos6.5lib/libopencv_ocl.so.2.4 /usr/local/lib/
  59. sudo cp centos6.5lib/libopencv_ocl.so.2.4.9 /usr/local/lib/
  60. sudo cp centos6.5lib/libopencv_perf_calib3d_pch_dephelp.a /usr/local/lib/
  61. sudo cp centos6.5lib/libopencv_perf_core_pch_dephelp.a /usr/local/lib/
  62. sudo cp centos6.5lib/libopencv_perf_features2d_pch_dephelp.a /usr/local/lib/
  63. sudo cp centos6.5lib/libopencv_perf_gpu_pch_dephelp.a /usr/local/lib/
  64. sudo cp centos6.5lib/libopencv_perf_highgui_pch_dephelp.a /usr/local/lib/
  65. sudo cp centos6.5lib/libopencv_perf_imgproc_pch_dephelp.a /usr/local/lib/
  66. sudo cp centos6.5lib/libopencv_perf_nonfree_pch_dephelp.a /usr/local/lib/
  67. sudo cp centos6.5lib/libopencv_perf_objdetect_pch_dephelp.a /usr/local/lib/
  68. sudo cp centos6.5lib/libopencv_perf_ocl_pch_dephelp.a /usr/local/lib/
  69. sudo cp centos6.5lib/libopencv_perf_photo_pch_dephelp.a /usr/local/lib/
  70. sudo cp centos6.5lib/libopencv_perf_stitching_pch_dephelp.a /usr/local/lib/
  71. sudo cp centos6.5lib/libopencv_perf_superres_pch_dephelp.a /usr/local/lib/
  72. sudo cp centos6.5lib/libopencv_perf_video_pch_dephelp.a /usr/local/lib/
  73. sudo cp centos6.5lib/libopencv_photo_pch_dephelp.a /usr/local/lib/
  74. sudo cp centos6.5lib/libopencv_photo.so /usr/local/lib/
  75. sudo cp centos6.5lib/libopencv_photo.so.2.4 /usr/local/lib/
  76. sudo cp centos6.5lib/libopencv_photo.so.2.4.9 /usr/local/lib/
  77. sudo cp centos6.5lib/libopencv_stitching_pch_dephelp.a /usr/local/lib/
  78. sudo cp centos6.5lib/libopencv_stitching.so /usr/local/lib/
  79. sudo cp centos6.5lib/libopencv_stitching.so.2.4 /usr/local/lib/
  80. sudo cp centos6.5lib/libopencv_stitching.so.2.4.9 /usr/local/lib/
  81. sudo cp centos6.5lib/libopencv_superres_pch_dephelp.a /usr/local/lib/
  82. sudo cp centos6.5lib/libopencv_superres.so /usr/local/lib/
  83. sudo cp centos6.5lib/libopencv_superres.so.2.4 /usr/local/lib/
  84. sudo cp centos6.5lib/libopencv_superres.so.2.4.9 /usr/local/lib/
  85. sudo cp centos6.5lib/libopencv_test_calib3d_pch_dephelp.a /usr/local/lib/
  86. sudo cp centos6.5lib/libopencv_test_contrib_pch_dephelp.a /usr/local/lib/
  87. sudo cp centos6.5lib/libopencv_test_core_pch_dephelp.a /usr/local/lib/
  88. sudo cp centos6.5lib/libopencv_test_features2d_pch_dephelp.a /usr/local/lib/
  89. sudo cp centos6.5lib/libopencv_test_flann_pch_dephelp.a /usr/local/lib/
  90. sudo cp centos6.5lib/libopencv_test_gpu_pch_dephelp.a /usr/local/lib/
  91. sudo cp centos6.5lib/libopencv_test_highgui_pch_dephelp.a /usr/local/lib/
  92. sudo cp centos6.5lib/libopencv_test_imgproc_pch_dephelp.a /usr/local/lib/
  93. sudo cp centos6.5lib/libopencv_test_legacy_pch_dephelp.a /usr/local/lib/
  94. sudo cp centos6.5lib/libopencv_test_ml_pch_dephelp.a /usr/local/lib/
  95. sudo cp centos6.5lib/libopencv_test_nonfree_pch_dephelp.a /usr/local/lib/
  96. sudo cp centos6.5lib/libopencv_test_objdetect_pch_dephelp.a /usr/local/lib/
  97. sudo cp centos6.5lib/libopencv_test_ocl_pch_dephelp.a /usr/local/lib/
  98. sudo cp centos6.5lib/libopencv_test_photo_pch_dephelp.a /usr/local/lib/
  99. sudo cp centos6.5lib/libopencv_test_stitching_pch_dephelp.a /usr/local/lib/
  100. sudo cp centos6.5lib/libopencv_test_superres_pch_dephelp.a /usr/local/lib/
  101. sudo cp centos6.5lib/libopencv_test_video_pch_dephelp.a /usr/local/lib/
  102. sudo cp centos6.5lib/libopencv_ts.a /usr/local/lib/
  103. sudo cp centos6.5lib/libopencv_ts_pch_dephelp.a /usr/local/lib/
  104. sudo cp centos6.5lib/libopencv_video_pch_dephelp.a /usr/local/lib/
  105. sudo cp centos6.5lib/libopencv_video.so /usr/local/lib/
  106. sudo cp centos6.5lib/libopencv_video.so.2.4 /usr/local/lib/
  107. sudo cp centos6.5lib/libopencv_video.so.2.4.9 /usr/local/lib/
  108. sudo cp centos6.5lib/libopencv_videostab_pch_dephelp.a /usr/local/lib/
  109. sudo cp centos6.5lib/libopencv_videostab.so /usr/local/lib/
  110. sudo cp centos6.5lib/libopencv_videostab.so.2.4 /usr/local/lib/
  111. sudo cp centos6.5lib/libopencv_videostab.so.2.4.9 /usr/local/lib/
  112.  
  113. echo "copy finished..."
  114.  
  115. echo "ln -s so to /lib64/ "
  116.  
  117. sudo ln -s /usr/local/lib/libopencv_calib3d.so.2.4 /lib64/libopencv_calib3d.so.2.4
  118. sudo ln -s /usr/local/lib/libopencv_contrib.so.2.4 /lib64/libopencv_contrib.so.2.4
  119. sudo ln -s /usr/local/lib/libopencv_core.so.2.4 /lib64/libopencv_core.so.2.4
  120. sudo ln -s /usr/local/lib/libopencv_features2d.so.2.4 /lib64/libopencv_features2d.so.2.4
  121. sudo ln -s /usr/local/lib/libopencv_flann.so.2.4 /lib64/libopencv_flann.so.2.4
  122. sudo ln -s /usr/local/lib/libopencv_gpu.so.2.4 /lib64/libopencv_gpu.so.2.4
  123. sudo ln -s /usr/local/lib/libopencv_highgui.so.2.4 /lib64/libopencv_highgui.so.2.4
  124. sudo ln -s /usr/local/lib/libopencv_imgproc.so.2.4 /lib64/libopencv_imgproc.so.2.4
  125. sudo ln -s /usr/local/lib/libopencv_legacy.so.2.4 /lib64/libopencv_legacy.so.2.4
  126. sudo ln -s /usr/local/lib/libopencv_ml.so.2.4 /lib64/libopencv_ml.so.2.4
  127. sudo ln -s /usr/local/lib/libopencv_nonfree.so.2.4 /lib64/libopencv_nonfree.so.2.4
  128. sudo ln -s /usr/local/lib/libopencv_objdetect.so.2.4 /lib64/libopencv_objdetect.so.2.4
  129. sudo ln -s /usr/local/lib/libopencv_ocl.so.2.4 /lib64/libopencv_ocl.so.2.4
  130. sudo ln -s /usr/local/lib/libopencv_photo.so.2.4 /lib64/libopencv_photo.so.2.4
  131. sudo ln -s /usr/local/lib/libopencv_stitching.so.2.4 /lib64/libopencv_stitching.so.2.4
  132. sudo ln -s /usr/local/lib/libopencv_superres.so.2.4 /lib64/libopencv_superres.so.2.4
  133. sudo ln -s /usr/local/lib/libopencv_video.so.2.4 /lib64/libopencv_video.so.2.4
  134. sudo ln -s /usr/local/lib/libopencv_videostab.so.2.4 /lib64/libopencv_videostab.so.2.4
  135.  
  136.  
  137. echo "....finished...."

只需要在需要使用的环境,执行make,自动安装到lib64目录里面.

猜你在找的CentOS相关文章