1.安装准备:
1.1安装cmake
sudo apt-get install cmake
1.2依赖环境
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
1.3下载opencv
下载地址:https://opencv.org/releases/
点击Sources进行下载自己需要的版本
2.安装
2.1解压文件
解压后,将文件夹放自己喜欢的地方,笔者这里就放在了~/opencv中下,在源程序文件夹中新建一个目录build:
2.2编译
- cd build
- sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local …
- 第二条命令指定安装位置为/usr/local/
- sudo make -j 8编译,等待几分钟
2.3 安装
- sudo make install
3.配置环境
gedit /etc/ld.so.conf
在文件最后加上opencv安装路径,也就是/usr/local/lib
运行sudo ldconfig命令
修改/etc/bash.bashrc文件:在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
然后在命令行中输入
source /etc/bash.bashrc
4.检验
在命令行中输入如下命令:
pkg-config opencv --modversion
此时表示安装好了
5.使用:
一个调用摄像头进行显示的程序:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
VideoCapture capture(0);
if (!capture.isOpened()) {
std::cerr << "Error opening video capture" << std::endl;
return -1;
}
while(1)
{
Mat frame;
capture >> frame;
imshow("读取视频帧",frame);
waitKey(30);
}
system("pause");
return 0;
}
如果直接编译出现报错:对‘cv::VideoCapture::VideoCapture(int)’未定义的引用
解决确认编译命令中已经包含了OpenCV库文件:在编译命令中,需要包含OpenCV库的链接库路径和需要链接的OpenCV库文件名。例如,可以使用以下命令进行编译链接:
- g++ main.cpp -o test
(
p
k
g
−
c
o
n
f
i
g
−
−
c
f
l
a
g
s
−
−
l
i
b
s
o
p
e
n
c
v
)
其中,
c
p
p
是需要编译的源代码文件,
(pkg-config --cflags --libs opencv) 其中,cpp是需要编译的源代码文件,
(pkg−config−−cflags−−libsopencv)其中,cpp是需要编译的源代码文件,(pkg-config --cflags --libs opencv)用于获取OpenCV库的链接库路径和需要链接的OpenCV库文件名。
此时可正常运行: