虚拟机ubuntu16.04系统安装opencv

时间:2024-03-14 12:16:07

1.opencv编译安装

  1. # Get all the up-to-date tools you'll need
  2. sudo apt-get update
  3. sudo apt-get install git cmake build-essential
  4. # Get latest greatest OpenCV from GitHub
  5. git clone https://github.com/opencv/opencv.git
  6. # Go build and install that puppy
  7. cd opencv
  8. mkdir build
  9. cd build
  10. cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
  11. sudo make(漫长的编译过程)
  12. sudo make install(执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到)
  13. sudo gedit /etc/ld.so.conf.d/opencv.conf (执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加:/usr/local/lib )
  14. sudo ldconfig (执行命令使得刚才的配置路径生效)
  15. sudo gedit /etc/bash.bashrc (配置bash,在末尾添加:
  16.             PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  17.             export PKG_CONFIG_PATH            )
  18. source /etc/bash.bashrc 使得配置生效
  19. 更新   sudo updatedb
  20. 用一个小程序测试一下,找到 cd到opencv-3.4.1/samples/cpp/example_cmake目录下 ,我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下 按顺序执行:
  21. cmake .
  22. make
  23. ./opencv_example
  24. 即可看到打开了摄像头,在左上角有一个hello opencv ,即表示配置成功

 

    在导入的时候可能会出现错误,可以sudo apt-get install python-opencv

 2.OpenCV运用到anaconda下

opencv安装目录下的cv2.so拷贝到python的site-packages/中, cv2.so通常在编译的lib文件夹下

如果是anaconda,拷贝至~/anaconda2/lib/python3.6/site-packages中;

下面运行一个用notebook运行的程序,OpenCV打开图片和tensorflow转置图片

import tensorflow as tf

import cv2

filename = "/home/dong/01.jpg"

image = cv2.imread(filename, 1)

cv2.namedWindow('image', 0)

cv2.imshow('image', image)

# Create a TensorFlow Variable

x = tf.Variable(image, name='x')

model = tf.initialize_all_variables()

with tf.Session() as session:

  x = tf.transpose(x, perm=[1, 0, 2])

  session.run(model)

  result = session.run(x)

cv2.namedWindow('result', 0)

cv2.imshow('result', result)

cv2.waitKey(0)

虚拟机ubuntu16.04系统安装opencv

如果是系统的python,可以拷贝至/usr/local/lib/python2.7/site-packages中。

一个便捷的方法找cv2.so,find / -name "cv2.so"(权限问题在之前输入sudo su   ,再输入find / -name "cv2.so")

在python中导入

cp /usr/local/lib/python2.7/site-packages/cv2.so ~/anaconda2/lib/python2.7/site-packages