05 2021 档案

摘要:一个稳定的分类器必须有一个好模型 要想构建分类器,必须构建较大的样本集,一般来说,像素级别的建模太过低级,难以稳定地表示每个类别的内在特征,最好能在多尺度描述图像 就是Haar特征 为了支持本教程,将使用几个官方的OpenCV应用程序:opencv_createsamples,opencv_anno 阅读全文
posted @ 2021-05-16 19:57 KAVEI 阅读(183) 评论(0) 推荐(0)
摘要:opencv提供了很多人脸识别方法,大多是通用类face::facerecognizer的子类 局部二值模式(LBP) LBP原理介绍以及算法实现_holly的专栏-CSDN博客 再来看cv::face:: LBPHFaceRecognizer类,它的 create方法的前两个参数分别指定了邻域的大 阅读全文
posted @ 2021-05-16 19:38 KAVEI 阅读(551) 评论(0) 推荐(0)
摘要:人们现在通常用机器学习来解决复杂的计算机视觉问题。机器学习是一个内容非常广泛的研究领域,包含很多重要概念,写成一本书绝对不为过。本章将探讨几种主要的机器学习技术,并说明如何在 OpenCV计算机视觉系统中加以应用。机器学习的核心内容是建立一套计算机系统,使其能自己学会如何处理数据。向机器学习系统输入 阅读全文
posted @ 2021-05-16 19:22 KAVEI 阅读(194) 评论(0) 推荐(0)
摘要:在处理可视化物体跟踪问题时,通常假设事先并不知道待跟踪的物体。开始跟踪前要先在个帧中标识出物体,然后从这个位置开始跟踪。标识物体的方法就是指定一个包含该物体的矩,而跟踪模块的任务就是在后续的帧中重新识别出这个物体。 opencv物体跟踪框架类 cv::tracker包含两种方法: 1.init方法 阅读全文
posted @ 2021-05-16 19:20 KAVEI 阅读(130) 评论(0) 推荐(0)
摘要:什么是光流 相机在进行拍摄时,物体的亮度值被投影到成像传感器上,从而形成了照片。我们通常关注视频序列中运动的部分,即场景中不同元素的三维运动在成像平面上的投影。三维运动向量的投影图被称作运动场。但是在只有一个相机传感器的情况下,是不可能直接测量三维运动的,我们 只能观察到帧与帧之间运动的亮度模式。亮 阅读全文
posted @ 2021-05-16 18:52 KAVEI 阅读(112) 评论(0) 推荐(0)
摘要:void resize(size_t sz,T c=T()); 1.总的来讲:resize()就是重新申请有效空间的大小;2.再用运该函数的时候最多可以有两个参数,至少要有一个参数(sz:表示你要申请多少有效元素空间的个数)3.第一个参数sz:代表的是当前要申请的有效元素的个数;4.第二个参数c:代 阅读全文
posted @ 2021-05-16 17:42 KAVEI 阅读(1219) 评论(0) 推荐(0)
摘要:c++ std::swap() 函数 发现容器中提供的swap()函数并不是交换了两个容器的内容,而是交换了两个容器的地址。 opencv中的swap函数与之类似,只是对象不同 阅读全文
posted @ 2021-05-16 17:39 KAVEI 阅读(517) 评论(0) 推荐(0)
摘要:视频序列显示的是运动中的场景和物体,非常有趣。上一章介绍了读取、处理和存储视频的工具,本章将介绍几种跟踪图像序列中运动物体的算法。之所以能产生这种可见运动或表观运动,是因为物体以不同的速度在不同的方向上移动,或者是因为相机在移动(或者两者都有)在很多应用程序中,跟踪表观运动都是极其重要的。它可用来追 阅读全文
posted @ 2021-05-16 17:37 KAVEI 阅读(150) 评论(0) 推荐(0)
摘要:1)Rect boundingRect(InputArray points) points:输入信息,可以为包含点的容器(vector)或是Mat。返回包覆输入信息的最小正矩形。 2)RotatedRect minAreaRect(InputArray points) points:输入信息,可以为 阅读全文
posted @ 2021-05-15 12:26 KAVEI 阅读(56) 评论(0) 推荐(0)
摘要:opencv 帧差法 absdiff 如果摄像机是固定的,那么我们可以认为场景(背景)大多数情况下是不变的,而只有前景(被跟踪的目标)会运动,这样就可以建立背景模型。通过比较当前帧和背景模型,就能轻松地跟踪目标运动情况了。这里,最容易想到的比较方式就是当前帧减去背景模型了 void AbsDiff( 阅读全文
posted @ 2021-05-15 12:15 KAVEI 阅读(227) 评论(0) 推荐(0)
摘要:构造函数: VideoWriter(const string& filename,//文件名 int fourcc, //所用编码器 double fps,//帧的速率 Size frameSize, //帧的尺寸 bool isColor=true);//是否是彩色视频 写入: VideoWrit 阅读全文
posted @ 2021-05-14 22:51 KAVEI 阅读(59) 评论(0) 推荐(0)
摘要:帧 帧速率:帧是以固定的时间间隔获取的(称为帧速率,通常用帧/s表示) videocapture类 https://www.cnblogs.com/KAVEI/p/14650519.html 额外补充: //跳转到100帧 position = 100; capture.set(CV_CAP_PRO 阅读全文
posted @ 2021-05-13 22:39 KAVEI 阅读(117) 评论(0) 推荐(0)
摘要:相机标定就是设置各种参数(即投影公式中的项目)的过程。 相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。 相机标定的输入:标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三 阅读全文
posted @ 2021-05-13 16:02 KAVEI 阅读(971) 评论(0) 推荐(0)
摘要:进行透视变换(将两幅图像平面化拼接) void warpPerspective(InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONST 阅读全文
posted @ 2021-05-13 15:41 KAVEI 阅读(77) 评论(0) 推荐(0)
摘要:单应矩阵 是指在特殊情况下(纯旋转或平面目标),投影矩阵为3x3的矩阵 单应矩阵格式 应用:图像校正 视角变换 图像拼接 增强现实 找到单应矩阵的函数: Mat cv::findHomography ( InputArray srcPoints, InputArray dstPoints, int 阅读全文
posted @ 2021-05-13 13:39 KAVEI 阅读(503) 评论(0) 推荐(0)
摘要:特征匹配要是遇到误匹配时,如何筛选处理?答案就是用ransac算法进行过滤。 RANSAC算法背后的核心思想是:支撑集越大,所计算矩阵正确的如果一个(或多个)随机选取的匹配项是错误的,那么计算得到的基础矩的支撑集肯定会很小。反复执行这个过程,最后留下支撑集最大的矩阵作因此我们的任务就是随机选取8个匹 阅读全文
posted @ 2021-05-12 22:42 KAVEI 阅读(500) 评论(0) 推荐(0)
摘要:成像过程: 薄镜公式:1/f=1/do=1/di;do:物体到镜子距离 di:成像面到镜子距离 针孔照相机模型 对极线 十五天掌握OpenCV——对极几何(Epipolar Geometry)_尹江 _ Cecil-CSDN博客 计算基础矩阵的函数: int cvFindFundamentalMat 阅读全文
posted @ 2021-05-10 13:03 KAVEI 阅读(419) 评论(0) 推荐(0)
摘要:匹配局部强度值模式对资源耗费巨大 为此,引入一组比特位组成二值描述子的概念 步骤:1.定义检测器 2.检测关键点 3.提取描述子 设立mat类 使用feature2d::compute(src,keypoint,descriptors//产生兴趣点的结果是一个矩阵,行数等于关键点容器元素个数) de 阅读全文
posted @ 2021-05-10 12:51 KAVEI 阅读(80) 评论(0) 推荐(0)
摘要:步骤:1.定义检测器 2.检测关键点 3.提取描述子 设立mat类 使用feature2d::compute(src,keypoint,descriptors//产生兴趣点的结果是一个矩阵,行数等于关键点容器元素个数) detectandcompute(image,noarray,keypoint, 阅读全文
posted @ 2021-05-10 12:38 KAVEI 阅读(95) 评论(0) 推荐(0)
摘要:dmatch类用来计算特征匹配; Dmatch对象保存的是匹配成功的结果,当然这个匹配结果里面包含了不少的误匹配。 成员说明: queryIdx : 查询点的索引(当前要寻找匹配结果的点在它所在图片上的索引).类似于序号 trainIdx : 被查询到的点的索引(存储库中的点的在存储库上的索引)di 阅读全文
posted @ 2021-05-09 14:57 KAVEI 阅读(636) 评论(0) 推荐(0)
摘要:局部模板匹配 通过特征点匹配,可以将一幅图像的点集和另一幅图像(或一批图像)的点集关联起来。如果两个点集对应着现实世界中的同一个场景元素,它们就应该是匹配的。仅凭单个像素就判断两个关键点的相似度显然是不够的,因此要在匹配过程中考虑每个关键点周围的图像块。如果两幅图像块对应着同一个场景元素,那么它们的 阅读全文
posted @ 2021-05-09 14:35 KAVEI 阅读(170) 评论(0) 推荐(0)
摘要:特点 具有较好的稳定性和不变性,能够适应旋转、尺度缩放、亮度的变化,能在一定程度上不受视角变化、仿射变换、噪声的干扰。2、区分性好,能够在海量特征数据库中进行快速准确的区分信息进行匹配3、多量性,就算只有单个物体,也能产生大量特征向量4、高速性,能够快速的进行特征向量匹配5、可扩展性,能够与其它形式 阅读全文
posted @ 2021-05-08 22:56 KAVEI 阅读(213) 评论(0) 推荐(0)
摘要:关键点集合,特征检测经常使用 函数补充说明:keypoint数据结构 - penuel - 博客园 (cnblogs.com) nth_element 用法简介 std::nth_element(std::begin(numbers), std::begin(numbers) + count, st 阅读全文
posted @ 2021-05-08 17:02 KAVEI 阅读(492) 评论(0) 推荐(0)
摘要:im_with_keypoints = cv2.drawKeypoints(im, keypoints, np.array([]), (255,0,0), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) image:也就是原始图片keypoints:从原图中获 阅读全文
posted @ 2021-05-05 22:10 KAVEI 阅读(229) 评论(0) 推荐(0)
摘要:基于特征的图像配准方法是图像配准中最常见的方法之一。它不是直接利用图像像素值,二十通过像素值导出的符号特征(如特征点、特征线、特征区域)来实现图像配准,因此可以克服利用灰度信息进行图像配准的缺点,主要体现在以下三个方面:(1)利用特征点而不是图像灰度信息,大大减少了在匹配过程中的计算量;(2)特征点 阅读全文
posted @ 2021-05-05 21:47 KAVEI 阅读(141) 评论(0) 推荐(0)
摘要:findcontours(image, contours, retr_external,//检索外部元素 chain_approx_none//每个轮廓的所有像素 OpenCV中的findContours函数参数详解_小白_努力-CSDN博客_findcontours 可以提取图像中连续区域的轮廓( 阅读全文
posted @ 2021-05-05 19:41 KAVEI 阅读(101) 评论(0) 推荐(0)
摘要:使用简单二值分布的问题:检测到的边缘过厚;很难确定阈值 canny算子基于sobel算子,类似于为sobel返回的图像添加两个阈值; canny( image, dst, 低阈值, 高阈值) 在滞后阈值化之前,如果检测到梯度幅值不是梯度方向最大值,那么对应的边缘点被移除,这也是为什么边缘可以变薄 滞 阅读全文
posted @ 2021-05-05 18:16 KAVEI 阅读(520) 评论(0) 推荐(0)
摘要:滤波 是信号和图像处理中的一种基本操作。它的目的是选择性地提取图像中某些方面的内容,这些内容在特定应用环境下传达了重要信息。滤波可去除图像中的噪声,提取有用的视觉特征,对图像重新采样,等等。它起源于通用的信号和系统理论。 频域1.通过观察变化的频率,图像中灰度级的变化。有些图像含有大片强度值几乎不变 阅读全文
posted @ 2021-05-05 12:27 KAVEI 阅读(639) 评论(0) 推荐(0)
摘要:cv::convertScaleAbs()用于实现对整个图像数组中的每一个元素,进行如下操作: void cv::convertScaleAbs( cv::InputArray src, // 输入数组 cv::OutputArray dst, // 输出数组 double alpha = 1.0, 阅读全文
posted @ 2021-05-05 10:26 KAVEI 阅读(640) 评论(0) 推荐(0)
摘要:mser算法是基于分水岭算法查找稳定区域的,如果当前区域面积与上一个水位面积在你所设置的范围内,你将得到一个稳定的区域,而且区域面积必须在你所定义的预定义范围内, 为确保有效性,父类mser必须与子类有足够差异性,默认参数为0.25,由构造函数第五个参数规定 阅读全文
posted @ 2021-05-05 10:24 KAVEI 阅读(894) 评论(0) 推荐(0)
摘要:将图像分割为多个同质区域, 分水岭算法是一种图像区域分割法,在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓,封闭性是分水岭算法的一个重要特征。 watershed原理:对图像中部分区域做标记,表明已知,根据这个 阅读全文
posted @ 2021-05-04 22:14 KAVEI 阅读(558) 评论(0) 推荐(0)
摘要:开启与闭合 开启:先腐蚀后膨胀 闭合:先膨胀后开启 开启:用来背景中的消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。所有小到不能容纳结构元素的物体都会被移除。 闭合:闭运算用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。基本上所有小到不能完整容 阅读全文
posted @ 2021-05-04 21:08 KAVEI 阅读(201) 评论(0) 推荐(0)
摘要:数学形态学最基本的概念是结构元素,简单定义为像素的组合 结构元素可以简单的定义为像素的组合,在对应的像素上定义了原点(也称锚点)。形态学滤波器的应用过程就是利用这个结构元素探测图像中每个像素的操作过程。把某个像素设为结构元素的锚点后,结构元素和图像重叠部分的像素集合就是特定形态学运算的应用对象。结构 阅读全文
posted @ 2021-05-04 20:47 KAVEI 阅读(460) 评论(0) 推荐(0)
摘要:void adaptiveThreshold(InputArray src, OutputArray dst, double maxValue, int adaptiveMethod, int thresholdType, int blockSize, double C) InputArray sr 阅读全文
posted @ 2021-05-04 19:51 KAVEI 阅读(239) 评论(0) 推荐(0)