概述
- 一、在Ubuntu中安装opencv-3.4.1
- 1.下载
- 2.解压
- 3.编译
- 4.配置
- 二、使用opencv处理图片
- 三、使用opencv播放和录制视频
- 1.获取主机摄像头权限
- 2.播放视频
- 3.录制视频
一、在Ubuntu中安装opencv-3.4.1
1.下载
在官网中下载source版本的opencv并保存文件到home目录中
2.解压
(1)在终端打开,输入命令行unzip opencv-3.4.1.zip
(2)输入命令行cd opencv-3.4.1
进入解压后的文件包
3.编译
(1)输入命令行sudo apt-get install cmake
安装依赖库和cmake
(2)输入命令
mkdir my_build_dir
cd my_build_dir
cmake -D CMAKE_BUILD_TYPE=Release -D
CMAKE_INSTALL_PREFIX=/usr/local ..
创建编译文件夹,并进行cmake
(3)输入命令sudo make
进行编译
(4)输入命令sudo make install
进行编译
4.配置
(1)输入命令sudo gedit /etc/ld.so.conf.d/opencv.conf
打开文件
(2)在文件中添加/usr/local/lib
并保存
(3)在命令行界面输入命令sudo ldconfig
(4)输入命令行sudo gedit /etc/bash.bashrc
打开bash文件进行配置
(5)在文件末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
Export PKG_CONFIG_PATH
(6)返回命令界面,输入命令
source /etc/bash.bashrc
sudo updatedb
二、使用opencv处理图片
1.新建一个code目录,并下载一张jpg在此目录下
2.在目录中新建程序test1.cpp
3.终端打开,输入命令g++ test1.cpp -o test1 pkg-config --cflags --libs opencv
编译文件
4.输入命令./test1
运行程序
三、使用opencv播放和录制视频
1.获取主机摄像头权限
(1)win+R输入sercices.msc
打开本地服务管理找到图中的红色方块的内容
(2)在虚拟机中点开设置,将USB版本设置为3.0
(3)右键点击虚拟机右下角的摄像图标,选择连接到主机,当图标表亮时表示连接成功
(注:此时虚拟机可能会没反应,然后你强制关机再次打开则会出现黑屏现象,这里提供一个解决办法①重启电脑确保所有进程关闭
②断开网络连接
③在虚拟机下载目录中找到所有.lck的文件夹并删除
④重启VM)
(注:如果VM虚拟机安装版本为15,则不能启动摄像头与主机连接,需下载VM16版本,下载地址:https://www.downkuai.com/soft/120135.html)
2.播放视频
(1)在虚拟机和主机之间建立一个共享文件夹:在虚拟机设置中找到共享文件夹建立文件
(2)在主机的文件夹中下载一段视频,在虚拟机的中找到并复制到code文件夹中
(3)编写test2.cpp程序
(4)在终端打开编译文件g++ test2.cpp -o test2 pkg-config --cflags --libs opencv
运行文件./test2
3.录制视频
(1)编写test.cpp程序
/*********************************************************************
打开电脑摄像头,空格控制视频录制,ESC退出并保存视频RecordVideo.avi
*********************************************************************/
#include<iostream>
#include <opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
//打开电脑摄像头
VideoCapture cap(0);
if (!cap.isOpened())
{
cout << "error" << endl;
waitKey(0);
return 0;
}
//获得cap的分辨率
int w = static_cast<int>(cap.get(CV_CAP_PROP_FRAME_WIDTH));
int h = static_cast<int>(cap.get(CV_CAP_PROP_FRAME_HEIGHT));
Size videoSize(w, h);
VideoWriter writer("RecordVideo.avi", CV_FOURCC('M', 'J', 'P', 'G'), 25, videoSize);
Mat frame;
int key;//记录键盘按键
char startOrStop = 1;//0 开始录制视频; 1 结束录制视频
char flag = 0;//正在录制标志 0-不在录制; 1-正在录制
while (1)
{
cap >> frame;
key = waitKey(100);
if (key == 32)//按下空格开始录制、暂停录制 可以来回切换
{
startOrStop = 1 - startOrStop;
if (startOrStop == 0)
{
flag = 1;
}
}
if (key == 27)//按下ESC退出整个程序,保存视频文件到磁盘
{
break;
}
if (startOrStop == 0 && flag==1)
{
writer << frame;
cout << "recording" << endl;
}
else if (startOrStop == 1)
{
flag = 0;
cout << "end recording" << endl;
}
imshow("picture", frame);
}
cap.release();
writer.release();
destroyAllWindows();
return 0;
}
(2)编译文件g++ test3.cpp -o test3 pkg-config --cflags --libs opencv
运行文件./test
最后
以上就是眼睛大小猫咪为你收集整理的使用opencv库编写打开摄像头压缩视频一、在Ubuntu中安装opencv-3.4.1二、使用opencv处理图片三、使用opencv播放和录制视频的全部内容,希望文章能够帮你解决使用opencv库编写打开摄像头压缩视频一、在Ubuntu中安装opencv-3.4.1二、使用opencv处理图片三、使用opencv播放和录制视频所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复