多版本OpenCV共存安装
由于跑一些项目的时候,由于时代问题,有些程序是使用opencv2写的,现在大家普遍都安装的opencv4,由于项目代码繁多,修改源码过于麻烦,因此考虑多版本opencv共存安装。
20 篇
由于跑一些项目的时候,由于时代问题,有些程序是使用opencv2写的,现在大家普遍都安装的opencv4,由于项目代码繁多,修改源码过于麻烦,因此考虑多版本opencv共存安装。
在调用opencv安装包时,会出现ImportError No module named cv2的问题。我确定我已经安装了opencv,查阅资料后发现是因为安装opencv是会安装的python版本,与系统默认使用的版本不一致,才会导致找不到模块。
CMake是一一个跨平台的开源元构建系统,可以构建、测试和打包软件。它可以用来支持多种本地编译环境。越来越多的项目正在使用cmake作为其构建工具,这也使得cmake正在成为一个主流的构建体系。
KNN算法,即K最近邻算法,其原理是当要预测一个新的值x的时候,根据离他最近的K个点大多属于什么类别来判断x属于哪个类别。同理可类比到图像识别方面。
本文的目标是实现识别摄像头图像中的数字。实际应用场景包括 车牌号识别 ,部分竞赛的 A4纸打印数字识别 。摄像头数字识别分为两个步骤:1. 提取图像中的ROI区域,如截取车牌的矩形区域,或截取A4纸的图像。2. 对ROI区域进行数字识别。数字识别相对来说较为简单,先介绍数字识别的方法和原理。
首先需要到opencv的github网站上下载`opencv/samples/dnn/face_detector/`中所有的文件,并覆盖到本地的目录中。然后用记事本打开weights.meta4文件,下载其中两个url对应的文件。
均值滤波用到的是图像卷积原理。由下图所示,卷积核为三阶单位矩阵时,进行均值滤波,原图像的每个三阶子矩阵都会求其均值,并将均值赋给中间的元素。
图像直方图是图像像素值的统计学特征、计算代价较小,具有图像平移、旋转、缩放不变性等众多优点,广泛地应用于图像处理的各个领域,特别是灰度图像的阈值分割、基于颜色的图像检索以及图像分类、反向投影跟踪。常见的分为灰度直方图和颜色直方图。
在图像处理中,读取视频并进行处理是必不可少的操作,在OpenCV中,读取摄像头的视频所用到的主要函数为 capture()。本文介绍了使用OpenCV读取摄像头视频的方法,以及对摄像头视频进行存储操作的函数实现过程以及具体的解释。
常见的图像变换方法包括图像的放缩、图像的翻转、图像的旋转等。在OpenCV中,这些图像变换操作都有着其对应的函数。通过对函数定义的解释以及具体例子,介绍各种图像变换的方法。
归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在一定范围的之内。为了后面数据处理的方便,其次是保证程序运行时收敛加快。
主要介绍了OpenCV中键盘和鼠标的响应方法,其中用到的各种函数,以及函数各个参数的解释。利用鼠标和键盘的响应编写了一些有趣的小程序。
C和C++中提供了rand() 和srand()函数用于产生随机数,使用C++编写OpenCV代码时也可以使用。同时OpenCV自身也提供了生成随机数的类RNG,使用起来也十分方便,本文主要介绍RNG的使用方法,以及基于RNG生成的随机数,绘制随机线条的方法。
本文介绍了使用C++与OpenCV4完成矩形、圆形、直线、椭圆的绘制方法,重点总结了OpenCV内置函数(如rectangle()、circle()、line()、ellipse())的定义以及各参数的作用,并给出了示例程序作为参考。此外本文还总结了多边形的绘制方法,包括多边形边框的绘制函数polylines()、多边形填充函数fillPoly()、绘制多个多边形的函数drawContours()等。
绿幕图像的背景替换需要经历①色彩空间转换、②提取绿幕区域、③反转绿幕区域、④复制图像,其中遇到的各种函数和代码也都在本文有详细介绍。
图像通道的分离后输出的多通道序列一般使用 std::vector mv; 来存储,mv[0]、mv[1]、mv[2]、分别对应BGR三个通道。但是现在显示的相当于是三张单通道的图像,也就相当于三张灰度图像。要想让三张图像恢复直观意义上的色彩,就需要使用下面通道合并的方法了。
OpenCV中使用 createTrackbar() 来创建滚动条,函数的使用方法如下,各个参数的作用也在下面的表格中给出。
图像的像素操作包括读写操作、算数操作、逻辑运算操作等。像素的操作方式不仅多样,对于灰度图的操作和对彩色图的操作也有各自的特点。对像素点的操作可以使我们访问图像的每一个像素点,实现许多意想不到的功能。
色彩空间转换函数:cvtColor。GRAY:指灰度,只有一个参数灰度值Channel。BGR:指BGR颜色空间,以红绿蓝三基色(0~255)为基础,叠加形成各种颜色。HSV:指六角椎体模型,色调Hue用角度度量(0~180),饱和度Saturation(0 ~ 255),亮度Value(0 ~ 255)。
首先下载并解压OpenCV。建议到opencv的官网下载windows版本的安装包。如果觉得下载速度过慢,我也把opencv4.5.2安装包上传了阿里云https://www.aliyundrive.com/s/VGkaM7vyuck 注意解压的路径,一定要是一个英文路径