opencv的安装及使用

article/2025/10/9 10:48:19

文章目录

  • 一、opencv的安装
  • 二、图片示例
  • 三.视频示例
  • 四、录制视频
  • 五、总结
  • 六、参考资料

一、opencv的安装

参考该链接https://blog.csdn.net/ssj925319/article/details/109231145完成OpenCV3.4.11 的安装。
在这里插入图片描述

二、图片示例

创建code目录,并进入
在这里插入图片描述
在该目录下创建test1.cpp:
在这里插入图片描述
test1.cpp:

#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{CvPoint center;double scale = -3; IplImage* image = cvLoadImage("lena.jpg");argc == 2? cvLoadImage(argv[1]) : 0;cvShowImage("Image", image);if (!image) return -1; 	center = cvPoint(image->width / 2, image->height / 2);for (int i = 0;i<image->height;i++)for (int j = 0;j<image->width;j++) {double dx = (double)(j - center.x) / center.x;double dy = (double)(i - center.y) / center.y;double weight = exp((dx*dx + dy*dy)*scale);uchar* ptr = &CV_IMAGE_ELEM(image, uchar, i, j * 3);ptr[0] = cvRound(ptr[0] * weight);ptr[1] = cvRound(ptr[1] * weight);ptr[2] = cvRound(ptr[2] * weight);}Mat src;Mat dst;src = cvarrToMat(image);cv::imwrite("test.png", src);cvNamedWindow("test",1);  	imshow("test", src);cvWaitKey();return 0;
}

编译文件:
执行以下命令:

gcc test1.cpp -o test1 `pkg-config --cflags --libs opencv`

解释
编译cpp文件用g++ test.c -o test 编译生成可执行文件
pkg-config:
1、检查库的版本号,避免连接错误版本的库文件
2、获取编译预处理参数,如宏定义、头文件位置
3、获得链接参数,如库及以来的其它库位置,文件名及其它一些连接参数
4、自动加入所以来的其他库位置
而-cflags是用来指定程序再编译时需要的头文件所在目录
-libs是指定程序再链接时所需要的动态链接库的目录
以此来获取opencv的头文件与库文件

gcc编译器:gcc + 文件名 + -o + 输出文件流名称 +` 支持包

在这里插入图片描述
发现错误
在这里插入图片描述
改成g++后成功
在这里插入图片描述
在code文件夹下准备一张jpg格式的图片,命名为lena.jpg。
在这里插入图片描述
执行命令./test1
可以看到由 lena.jpg 生成了一个 test.png ,呈现的效果不同了
在这里插入图片描述
请解释这条编译命令,它是如何获得opencv头文件、链接lib库文件的路径的?
答:pkg-config --cflags --libs opencv 是向程序提供相应库的路径信息,然后将输出的字符串作为结果给前面的可执行文件

三.视频示例

在目录code下创建test2.cpp文件

#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{//从摄像头读取视频VideoCapture capture("worm.mp4");//循环显示每一帧while(1){Mat frame;//定义一个Mat变量,用于存储每一帧的图像capture >> frame;//读取当前帧if(frame.empty())//播放完毕,退出break;imshow("读取视频帧",frame);//显示当前帧waitKey(30);//掩饰30ms}system("pause");return 0;
}

代码讲解:

如果语句:VideoCapture capture(0),后面的参数设置为 0 ,则从摄像头读取视频并循环显示每一帧;如果设置为一个视频的文件名,比如:shiping.mp4 ,则会将视频读取并循环显示每一帧。
while 循环体中的 Mat 数据结构其实是一个点阵,对应图像上的每一个点,点的集合形成了一帧图像,有关 Mat 详解请看:OpenCV中Mat数据结构
语句:waitKey(30) ,中的参数单位是 ms 毫秒,也就是每一帧间隔 30 ms ,该语句时不能删除的,否则会执行错误,无法播放视频或录制视频。

编译test2.cpp文件

g++ test2.cpp -o test2 `pkg-config --cflags --libs opencv`

执行test2文件
./test2
在这里插入图片描述
如果要求打开你硬盘上一个视频文件来播放,请问以上示例代码第7行代码如何修改?
答:改成VideoCapture capture(“视频名.mp4”);

在示例代码1第9行的while循环中,Mat是一个什么数据结构? 为什么一定要加一句waitKey延时代码,删除它行不行?
答:Mat是一个数组;waitkey的作用就是一个延时函数,让界面持续一段时间出现,不然界面出现一下就会消失。

3)示例代码1代码会在while循环中一直运行,你如果试图用鼠标关闭图像显示窗口,会发现始终关不掉。需要用键盘Ctrl+C 强制中断程序,非常不友好。如何改进?
答:可以设置一个标志flag,编写一个if语句插入到while循环中,当flag等于某一个数时,break结束循环。

四、录制视频

虚拟机获取摄像头权限
使用快捷键 Win + R ,输入 services.msc ,并回车。
VMware USB Arbitration S… 服务,确保启动了。
在这里插入图片描述
点击虚拟机设置,在USB控制器中设置USB兼容性为USB3.0。
在这里插入图片描述
在Window下通过设备管理器查看自己摄像头名称,点击虚拟机可移动设备,连接摄像头,当虚拟机右下角该图标亮了表示连接成功。

在这里插入图片描述
在code目录下创建test3.cpp文件

test3.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;
}

编译test3.cpp文件

g++ test3.cpp -o test3 `pkg-config --cflags --libs opencv`

执行test3文件

./test3

执行结果:
在这里插入图片描述

五、总结

在安装opencv时遇到了很多麻烦,反复的重装和卸载,耽误了很多时间,但是安装成功后opencv的运用还是值得学习的,很有意义从

六、参考资料

https://blog.csdn.net/ssj925319/article/details/109231145

https://blog.csdn.net/qingyanyichen/article/details/51623178

https://blog.csdn.net/BigDream123/article/details/89477248

https://blog.csdn.net/BigDream123/article/details/89477248

http://linuxkiss.com/linux/162.html


http://chatgpt.dhexx.cn/article/DXJb3fyE.shtml

相关文章

Ubuntu下Opencv安装与使用

Opencv 前言一、Opencv的功能二、安装Opencv1.下载 OpenCV 3.4.11 数据包2.解压安装包3.安装cmake和依赖库 三、配置编译环境1.创建编译文件夹2.使用make创建编译3.配置编译环境 四、Opencv使用例程1.图片处理2.视频处理1.虚拟机获取摄像头权限2.播放视频3.录制视频 总结 前言 …

OpenCV库安装

OpenCV库安装 OpenCV库的调用名是cv2 所以会看到这样的import语句 import cv2这句话就是对openCV库的调用 openCV库的下载安装 First 好像不需要像网上的教程那样, 首先去官网下载exe执行文件, 然后在VS中进行配置 直接在teminal中, 进入要指定的conda环境, 然后输入pip…

如何安装OpenCV?OpenCV下载安装流程

安装OpenCV需要以下步骤&#xff1a; 下载OpenCV&#xff1a;首先需要从OpenCV官网&#xff08;https://opencv.org/releases/&#xff09;上下载适合自己操作系统版本的OpenCV。 安装依赖项&#xff1a;在安装OpenCV之前&#xff0c;需要先安装一些必要的依赖项&#xff0c;例…

opencv的安装

记得之前看博客的时候看过很多大佬写过opencv的各种安装方法&#xff0c;有使用网站先下载对应文件进行安装的&#xff0c;不过这个还像还得配置一些环境&#xff0c;也有一些大佬使用prompt命令进行安装的&#xff0c;在本人想要安装opencv时大体看了看大佬们的安装教程&#…

OpenCV安装教程:Windows 安装 Visual Studio + OpenCV + OpenCV contrib

目录 0.写作背景 1.安装visual studio 2.下载OpenCV相关的源码 下载OpenCV原始的源码 下载OpenCV contrib的源码 下载安装cmake 3.cmake编译OpenCV 初始编译 CmakeDownload的bug修复 OpenCV-crontrib编译&#xff1a; Generate生成代码 VS生成代码&#xff1a; 报…

openCV-python安装

同样在anaconda下创建一个opencv-python环境 首先&#xff0c;打开anaconda navigator,然后创建一个环境来放opencv-python。 先点击下面的create&#xff0c;然后创建一个新环境。 选择你的python版本&#xff0c;这里我选择的是Python3.6。你也可以根据你的需要和习惯来选择…

opencv安装教程(通用过程说明)

文章目录 环境说明安装方式说明预编译版本从OpenCV团队获取从第三方开发者获取 从源码编译步骤0&#xff1a;安装准备步骤1&#xff1a;获取源代码步骤2&#xff1a;配置构建环境步骤3&#xff1a;构建步骤4&#xff1a;安装&#xff08;可选&#xff09;步骤5&#xff1a;构建…

【安装】安装OpenCV简易教程

&#xff08;1&#xff09;安装opencv-python 执行命令&#xff1a;pip install opencv-python3.4.1.15 博主指定安装的3.4.1.15版本&#xff0c;根据需求可以自己决定需要什么版本。出现successfly字样即安装成功&#xff0c;如果不放心可以验证&#xff0c;在python解释器下…

OpenCV C++安装和配置

最新版的OpenVINO 2022.1 版本不在默认附带OpenCV工具&#xff0c;所以我们需要额外安装OpenCV工具。 1. 下载并安装OpenCV 访问OpenCV官网 https://opencv.org/ &#xff0c;选择Library下的Releases&#xff0c;进入到下载页面&#xff0c;或直接访问https://opencv.org/rel…

windows下OpenCV安装教程(小白教程)

OpenCV介绍 OpenCV 是一个基于 BSD 许可&#xff08;开源&#xff09;发行的跨平台计算机视觉库&#xff0c;可以运行在 Linux、Windows、 Android 和 Mac OS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C 类构成&#xff0c;同时 提供了 Python、Ruby、MATLAB 等…

VS2019+OpenCV安装与配置教程

目录 VS2019的下载安装OpenCV的下载安装OpenCV的配置配置系统变量给VS中的工程一键配置OpenCV测试配置的效果 最近要用到很多OpenCV的库&#xff0c;所以开始学了点OpenCV&#xff0c;本文记录VS和OpenCV的安装、配置过程。配置OpenCV使用配置文件的方法&#xff0c;配置完一次…

OpenCV下载、安装以及使用

一、安装Visual Studio OpenCV是一种开源的计算机视觉开发库。既然是开发库&#xff0c;那么必须依托某种语言程序来加载。以C为例&#xff0c;在安装OpenCV之前&#xff0c;必须安装C的程序开发环境&#xff08;IDE&#xff09;&#xff0c;在此我们选择Visual Studio Commun…

Ubuntu下Opencv的安装(亲测有效,超级简单!)

一.安装包下载 1.Opencv安装包下载 在这里面选择你想下载的opencv版本&#xff0c;这里以Opencv-4.6.0为例。 2.opencv_contrib下载&#xff08;注意这里要与你上面下载的opencv版本一致&#xff09; 3.两个都下载好以后&#xff0c;把opencv_contrib放到解压后opencv文件夹…

【OpenCV入门指南】第一篇 安装OpenCV

【OpenCV第一篇】安装OpenCV 本篇主要介绍如何下载OpenCV安装程序&#xff0c;如何在VS2008下安装配置OpenCV&#xff0c;文章最后还介绍了一个使用OpenCV的简单小例子。 《OpenCV入门指南》系列文章地址&#xff1a;http://blog.csdn.net/morewindows/article/category/1291…

windows下OpenCV的安装配置部署详细教程

零、简介   OpenCV的全称是Open Source Computer Vision Library&#xff0c;是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发&#xff0c;以BSD许可证授权发行&#xff0c;可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及…

openCV安装教程

01 通过网络进行安装 (1).在windows界面里找到Anaconda3里的终端并启动&#xff08;高版本下的anaconda可能会有两个&#xff0c;若有两个任意一个即可&#xff09; 2.启动后输入&#xff1a;pip install opencv-python&#xff0c;未报安装错误即为安装成功。 02 通过whl文件…

第一章之OpenCV安装

opencv 安装 一、地址 opencv官网 opencv Github 官方安装流程 二、概述 opencv有两种安装方式&#xff1a;1、根据自己的平台选择官方编译好的版本&#xff1b;2、下载源码自己编译。 三、预编译版本 官方预编译版本满足大多数需求。预编译版本有两个途径&#xff1a;…

opencv安装教程(详细)小白教程

opencv安装教程&#xff08;详细&#xff09;小白教程 我们以OpenCv的最新版本为3.1.0版本为例介绍其配置方法。 opencv安装教程&#xff08;详细&#xff09;小白教程一、OpenCv的官方下载地址二、下载步骤1.点击libarary下拉框的release2.选择你想要的版本和系统&#xff08;…

opencv怎么安装?opencv下载安装教程

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库&#xff0c;可以运行在Linux、Windows、Android和Mac OS操作系统上。下面就介绍OpenCV的下载和安装方法。 opencv怎么安装&#xff1f; 软件准备 步骤1&#xff1a;在官网上下载OpenCV的安装包&#xff0c;由于服务器…

OpenCV安装教程(全网最细,小白直接上手!!!)

OpenCV是Python、Ruby、MATLAB的接口&#xff0c;OpenCV在计算机视觉的发展中发挥了重要的作用&#xff0c;使成千上万的人能够在视觉上做更多的工作。由于在VSLAM技术研究过程中&#xff0c;经常会涉及OpenCV不同版本在ubuntu系统下的安装。文章简单总结了一下两个版本的OpenC…