目录
- 一、在Ubuntu下安装opencv和准备工作
-
- 1.下载并opencv
- 2.安装cmake并配置
- 3、配置
- 二、用OpenCV打开图片
- 三、用OpenCV连接摄像头并打开
一、在Ubuntu下安装opencv和准备工作
1.下载并opencv
在虚拟机火狐浏览器中输入网址“opencv.org、open-3.4.10.html”点击source进行下载
下载完成后,将压缩文件放在主目录下,在命令行输入
unzip opencv-3.4.10.zip
解压完成后进入文件夹 cd opencv-3.4.10
2.安装cmake并配置
安装cmake:在命令行输入 sudo apt-get install cmake
安装依赖库:sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
安装完成后新建一个文件夹
mkdir my_build_dir
进入文件夹进行配置cd my_build_dir
sudo make此过程较长,请耐心等待
3、配置
sudo gedit /etc/ld.so.conf.d/opencv.conf
在文件末尾添加
/usr/local/lib
保存后返回命令行
配置bash
sudo gedit /etc/bash.bashrc
在最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/bash.bashrc
二、用OpenCV打开图片
首先 touch test.cpp
打开文件进行编辑,输入下面的代码
#include<opencv2/opencv.hpp>
#include<math.h>
using namespace cv;
int main()
{
//像素操作
Mat src,dst;
src = imread("/home/leo/1.jpg");
if(src.empty())
{
printf(“can not load image \n”);
return 0;
}
namedWindow(“input”);//创建窗口
imshow(“input”,src);//显示图片
cvtColor(src, dst, COLOR_BGR2GRAY);//将图片转为灰度图
namedWindow(“output”);
imshow(“output”,dst);
waitKey();
return 0;
}
需要注意的是,图片需要和test.cpp处于同一目录下,并且右键点击查看图片目录,将其填入代码中的路径,才能正确编译并运行
在命令行输入g++ test.cpp -o test
pkg-config --cflags --libs opencv
进行编译,如没有g++需要 sudo apt-get install g++进行下载
编译成功后,输入 ./test 运行程序,结果为
三、用OpenCV连接摄像头并打开
首先 touch test1.cpp
打开文件进行编辑,输入下面的代码
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
//从摄像头读取视频
VideoCapture capture(0);
//循环显示每一帧
while (1)
{
Mat frame;//定义一个Mat变量,用于存储每一帧的图像
capture >> frame;//读取当前帧
imshow(“读取视频帧”, frame);//显示当前帧
waitKey(30);//延时30ms
}
system("pause");
return 0;
}
查看虚拟机是否连接上摄像头
然后在虚拟机处选择移动设备,点击连接电脑的摄像头
编译test1
g++ test1.cpp -o test1
pkg-config --cflags --libs opencv
./test1运行,结果为