在Ubuntu上使用opencv

在Ubuntu上使用opencv

  • 一、在Ubuntu上安装opencv
  • 二、一个打开摄像头显示处理视频的程序
  • 三、打开摄像头采集图像并保存
  • 四、心得:

一、在Ubuntu上安装opencv

1、下载安装包
2、解压
在这里插入图片描述
3、进入解压的到的文件中
在这里插入图片描述
4、安装cmake和依赖库
在这里插入图片描述
新建一个编译目录并对其进行配置
在Ubuntu上使用opencv_第1张图片
执行,开始编译
在这里插入图片描述
opencv的环境配置
添加opencv库的路径
在这里插入图片描述
添加内容:
在这里插入图片描述
保存文件修改,然后执行命令使配置内容生效
在这里插入图片描述
配置bash
在这里插入图片描述
添加内容:
在这里插入图片描述
保存文件修改,然后执行命令使配置内容生效
在这里插入图片描述

二、一个打开摄像头显示处理视频的程序

代码:
在Ubuntu上使用opencv_第2张图片

编译

在这里插入图片描述
在Ubuntu上使用opencv_第3张图片
然后运行
1、如果程序无法打开摄像头;
查看摄像头标志是否高亮,如果不是
在Ubuntu上使用opencv_第4张图片
2、查看是否可以使用摄像头:
susb 查看usb设备列表
ls /dev/video* 查看摄像头驱动安装
sudo apt-get install cheese 如果已经安装,这步可以省略
cheese 打开摄像头
3、摄像头能打开,但是画面却无法显示
解决办法:
首先虚拟机上打开虚拟机(M)->设置,接着点击USB控制器,更换USB兼容性,原来是USB 2.0就更换为USB 3.0,若是USB 3.0就更换为USB 2.0。选择确定,虚拟机就重新启动,启动完成,就重新设置摄像头的连接,完成后,使用cheese看摄像头是否能够看到画面,能看到画面就表示完成了。
在Ubuntu上使用opencv_第5张图片
编译过程获得opencv头文件、链接lib库文件的路径的方法:
如果编译没有指定路径,头文件就会查看gcc的环境变量和查找系统默认的目录:/usr/include;/usr/local/include,链接lib库gcc的环境变量和查找默认径/lib;/usr/lib;/usr/local/lib。
在Ubuntu上使用opencv_第6张图片

  1. 问题分析
    .①如果要求打开你硬盘上一个视频文件来播放,如何修改?
    将代码中的VideoCapture capture(0);修改为VideoCapture capture("/home/ubuntu/video/test.mp4")
    ②在while循环中,Mat是一个什么数据结构? 为什么一定要加一句waitKey延时代码,删除它行不行?
    Mat是一个矩阵,每个图像都是由无数的点构成的,即Mat是一个图像矩阵。
    waitKey()函数的功能是不断刷新图像,如果没有这个就无法实现画面的实时显示,即看不到画面的变化。
    ③此代码会在while循环中一直运行,你如果试图用鼠标关闭图像显示窗口,会发现始终关不掉。需要用键盘Ctrl+C 强制中断程序,非常不友好。如何改进。
    增加一个判断语句,来进行关闭

三、打开摄像头采集图像并保存

在Ubuntu上使用opencv_第7张图片
编译
编译过程会出现图片中的报错,有这个错误也不要担心,只需要将代码中判断摄像头是否能够打开的语句删掉或者将这段语句中的return语句后面加上0就可以解决了
运行
在Ubuntu上使用opencv_第8张图片

四、心得:

本次操作让我熟悉了如何使用opencv编写打开摄像头,在操作过程中也出现了很多问题,比如安装路径不对,安装后无法使用等,但是在网上不断查询资料以后问题终于得到了解决。在遇到一些自己解决不了的问题时要多去搜索看看别人的想法,这样才能更快进步。

你可能感兴趣的:(在Ubuntu上使用opencv)