参照哔哩大学的视频:【小白用】在Ubuntu 16.04 上安装 OpenCV 3.4.7
ubuntu16安装opencv3.4.7的历程如下(我用的ubuntu18安装opencv4.5.4一样成功,步骤一样):
1. 更改下载源,我使用的是清华源。
2. 打开终端 sudo apt-get update
3. sudo apt-get install build-essential
4. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
5. sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
6. 登入opencv.org/releases/,下载OpenCV 3.4.7
7. 下载后把压缩包移到home,然后解压。
8. 在home内右键打开终端。
9. mkdir build 创建文件夹
10. cd build 进入文件夹
11. cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
12. make -j4 把“4”换成你的内核数
13. sudo make install
14. sudo gedit /etc/ld.so.conf.d/opencv.conf
15. 执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加: /usr/local/lib
16. sudo ldconfig 使得刚才的配置路径生效
17. sudo gedit /etc/bash.bashrc
18. 在末尾加上:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
19. source /etc/bash.bashrc 使得配置生效
20. sudo updatedb 更新
21. 测试OpenCV安装:
22. 创建新文件夹,我命名为OpenCV-Test
23. 进入文件夹后右键打开终端
24. touch main.cpp 创建名为main.cpp的文件
25. 右键main.cpp,使用IDE打开
26. 复制代码:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
//读取照片
Mat image = imread("OpenCV_Logo.png");
//检测失误
if (image.empty())
{
cout << "Could not open or find the image" << endl;
cin.get(); //等待键盘输入
return -1;
}
String windowName = "OpenCV Test"; //窗口名称
namedWindow(windowName); //创建新窗口
imshow(windowName, image); //使用新窗口显示照片
waitKey(0); //等待键盘输入
destroyWindow(windowName); //关闭所有窗口
return 0;
}
27. 网上随意下载张图片,放入与main.cpp相同的文件夹中。
28. 更改图片路径。
29. g++ -o main main.cpp `pkg-config --libs --cflags opencv` 编译
30. ./main 运行程序
31. 没有报错就是安装成功了
安装经验:
一、建议先进行第6步:登入opencv.org/releases/,下载OpenCV 3.4.7(我下载的opencv4.5.4)
二、其中第5步若报错:无法定位软件包 libjasper-dev
的解决方式为下边两个方法:参照https://ask.youkuaiyun.com/questions/694647,方式二亲侧可用。
方法一:
echo "deb http://us.archive.ubuntu.com/ubuntu/ yakkety universe" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install libjasper-dev
方法二:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
三、执行 29. g++ -o main main.cpp pkg-config --libs --cflags opencv
编译
后报错:
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
main.cpp:1:10: fatal error: opencv2/opencv.hpp: 没有那个文件或目录
#include <opencv2/opencv.hpp>
^~~~~~~~~~~~~~~~~~~~
compilation terminated.
解决方法:
sudo apt-get install libopencv-dev
等待完成后再执行第29步即可。
opencv安装完成!!!!