opencv
文章平均质量分 92
HandsomeJing
这个作者很懒,什么都没留下…
展开
-
【OpenCV学习笔记】OpenCV角点检测汇总(深入feature2D组件)——亚像素级角点检测
前言亚像素级角点检测的位置在摄像机标定,跟踪并重建摄像机的轨迹,或者重建被跟踪目标的三维结构时,是一个基本的测量值;这就需要比较高的精度,而前面我们提到的goodFeaturesToTrack()函数只能提供简单的像素坐标(因为有时候我们需要的是实数坐标而不是整数坐标)关于亚像素级角点检测的算法本人能力有限无法清晰的阐述,所以有兴趣的小伙伴可以访问https://blog.csdn.n...原创 2019-08-03 12:19:03 · 378 阅读 · 0 评论 -
【opencv学习笔记】LBP特征原理及代码实现
一、LBP特征的背景介绍LBP局部二值模式,英文全称:Local Binary Pattern,是一种用来描述图像局部特征的算子,LBP特征具有灰度不变性和旋转不变性等显著优点。LBP特征比较出名的应用是用在人脸识别和目标检测中,在计算机视觉开源库Opencv中有使用LBP特征进行人脸识别的接口,也有用LBP特征训练目标检测分类器的方法,Opencv实现了LBP特征的计算,但没有提供一个单独的计...转载 2019-08-11 18:54:38 · 831 阅读 · 0 评论 -
【opencv学习笔记】Harr与LBP级联分类器
# include<opencv2\opencv.hpp># include <iostream>using namespace std;using namespace cv;CascadeClassifier face_classifier;CascadeClassifier eye_classifier;string facefile = "F:/ope...原创 2019-08-24 22:50:21 · 351 阅读 · 0 评论 -
【opencv小案例-对象计数】关于粘连对象的计数
处理方法1、二值分割(整体threshold只有一个阈值)2、形态学处理3、距离变换4、阈值化二值分割(局部AdaptiveThreshold每个区域都有一个阈值)5、连通区域计数原图代码# include<opencv2\opencv.hpp># include <iostream># include <math.h>using na...原创 2019-08-20 22:49:16 · 1501 阅读 · 5 评论 -
【opencv小案例-透视校正】过二值分割 + 形态学方法 + Hough直线 +透视变换
在日常生活我们经常会看见这样的图片,它不是正对我们的,通过透视校正我们可以得到较好的图片。处理流程:1、二值处理2、形态学操作3、轮廓检测(通过横纵比去除干扰轮廓)4、hough直线5、计算交点坐标6、透视变换函数getPerspectiveTransform()根据输入和输出点获得图像透视变换的矩阵Mat GetPerspectiveTransform(const Poi...原创 2019-08-21 22:27:11 · 583 阅读 · 0 评论 -
【opencv学习笔记】积分图
1、 前言积分图(integral image),是一种在图像中快速计算矩形区域和的方法。它可以在短时间内计算图像中任意大小矩形区域内像素的和。这样在图像模糊、边缘提取、对象检测的时候极大降低计算量、提高计算速度。2、原理积分图中任意一点(x,y)的值等于灰度图的左上角与当前点所围成的矩形区域内所有像素点灰度值之和。快速计算方法:3、函数说明4、参数详解第一个参数,InputAr...原创 2019-08-13 11:13:47 · 341 阅读 · 0 评论 -
【opencv学习笔记】BF暴力匹配
1、前言暴力匹配(Brute-Force-Match)是opencv中一种很基础的匹配方法,它的算法比较简单。2、算法//暴力匹配算法#include<iostream>int main(){ char *s = "BBCABCDABABCDABCDABDE"; char *p = "ABCDABD"; int slen = strlen(s); int plen ...原创 2019-08-13 10:41:32 · 1961 阅读 · 0 评论 -
【opencv-小案例-对象提取与测量】
有这么一幅图像我们要对它进行面积与周长的测量步骤:1、模糊处理2、二值化3、形态学处理3、最大轮廓检测4、计算面积与周长代码# include<opencv2\opencv.hpp># include <iostream>using namespace std;using namespace cv;int main(int argc, char*...原创 2019-08-22 10:43:19 · 352 阅读 · 0 评论 -
【opencv学习笔记】级联分类器人脸检测
浅析人脸检测之Haar分类器方法一、Haar分类器的前世今生 人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来。 目前的人脸检测...转载 2019-08-17 11:10:29 · 642 阅读 · 0 评论 -
【opencv学习笔记——Kmeans数据聚类与图像分割】
简介kmeans作为一种聚类算法,可以将数据贴以标签,进而进行数据或图像的数据聚类.算法原理Step 1 :从数据集中随机选取一个样本点作为初始聚类中心C1;Step 2:首先计算每个样本与当前已有聚类中心之间的最短距离(即最近的聚类中心的距离),用D(x)表示;接着计算每个样本点被选为下一个聚类中心的概率D(x)2∑ni=1D(xi)2。最后,按照轮盘法选择出下一个聚类中心;Step ...原创 2019-09-11 21:18:20 · 919 阅读 · 1 评论 -
【opencv学习笔记】BRISK局部检测
简介 BRISK算法是2011年ICCV上《BRISK:Binary Robust Invariant Scalable Keypoints》文章中,提出来的一种特征提取算法,也是一种二进制的特征描述算子。 它具有较好的旋转不变性、尺度不变性,较好的鲁棒性等。在图像配准应用中,速度比较:...转载 2019-08-15 10:12:24 · 231 阅读 · 0 评论 -
【opencv学习笔记】AKAZE局部特征
简介AKAZE是KAZE的加速版,和SIFT,SURF特征检测一样,它也可以检测图像的特征点,和描述子但是它与SIFT和SURF的比较:更加稳定,更加迅速;非线性尺度空间;比较新的算法。这里它和前二者的使用方法类似。代码#include <opencv2/opencv.hpp>#include <iostream>#include <math...原创 2019-08-14 17:19:49 · 1071 阅读 · 0 评论 -
【opencv学习笔记】HOG+SVM特征点检测
先可以参考 https://blog.csdn.net/passball/article/details/82254256可以了解函数描述http://blog.sina.com.cn/s/blog_13879a2d40102x62i.htmlhttps://www.cnblogs.com/long5683/p/9735903.html步骤:https://www.cnblogs.com/...原创 2019-08-10 10:42:25 · 1497 阅读 · 0 评论 -
【opencv学习笔记】SURF特征点检测
简介特征检测特征检测是从图像中自动提取对象特征用以表述该对象,同时还可以利用得到的特征数据 描述在不同的图像中发现相同的对象,(一旦得到两个对象的描述子,就可以使用它们实现特征数据的匹配与比对,从而分辨出它们是否具有相似性)而且特征对对象的旋转、缩放、光照等具有不变性SURF(speed up robust feature)是加速版的SIFTSURF可以用于对象定位和识别、人脸...原创 2019-08-04 20:57:37 · 555 阅读 · 0 评论 -
【OpenCV学习笔记35】基于距离变换与分水岭图像分割算法
这里写自定义目录标题图像分割距离变换图像分水岭处理流程代码导出与导入导出导入图像分割图像分割(Image Segmentation)是图像处理最重要的处理手段之一。图像分割的目标是将图像中像素根据一定的规则分为若干(N)个cluster集合,每个集合包含一类像素。根据算法分为监督学习方法和无监督学习方法,图像分割的算法多数都是无监督学习方法 (KMeans !)距离变换距离变换的...原创 2019-07-31 23:29:48 · 756 阅读 · 0 评论 -
【opencv学习笔记】FLANN特征点检测
简介Flann-based matcher (cv::FlannBasedMatcher),使用快速近似最近邻搜索算法寻找。相关函数代码展示# include<opencv2\opencv.hpp># include<opencv2/xfeatures2d.hpp># include <iostream>using namespace std;u...原创 2019-08-13 12:21:04 · 313 阅读 · 0 评论 -
【opencv安装和配置】(win10+vs2017+opencv4.0.1+opencv_contrib-4.0.1+永久配置)
前言opencv分为两个模块,一般只要使用msi的版本,当要使用【SURF】和【SIFT】等涉及专利的函数是就需要配置和下载opencv_contrib的版本。这个版本配置起来若不知道流程,配置起来会异常麻烦(其实你知道流程也会出现很多的错误)——为了配置这个扩展包,作为初学者的我为了顺利的安转上它,还重装了一遍系统,用了整整两天的时间。有好多次就想半途而废,可还是慢慢的安装完成了。教训...原创 2019-08-06 16:42:43 · 1912 阅读 · 1 评论 -
【OpenCV学习笔记】OpenCV角点检测汇总(深入feature2D组件)——(harris、tomas、自定义)角点检测
前言图像特征类型一共可以被分为如下三种:边缘角点(感兴趣关键点)斑点(Blobs)(感兴趣区域)其中角点是个很特殊的存在。我们把在某一点在任意方向的一个微小变化都会引起灰度很大的变化的点称之为角点。关于角点的具体描述可以有如下几种:一阶导数(即灰度的梯度)的局部最大所对应的像素点;两条及两条以上边缘的交点;图像中梯度值和梯度方向的变化速率都很高的点;角点处的一阶导数最大,...原创 2019-08-02 14:28:14 · 751 阅读 · 0 评论 -
【opencv小案例-切边】仿射变换与切边
仿射变换仿射变换可以通过一系列的原子变换的复合来实现包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和错切(Shear).可以看做原矩阵和一个变换矩阵(3*3且最后一行是(0,0,1))的乘法平移(刚体变化,即不会产生形变),将每一点移到到(x+t , y+t),这是变换矩阵为:缩放变换 将每一点的横坐标放大或缩小sx倍,纵坐...原创 2019-08-18 22:00:13 · 512 阅读 · 0 评论 -
【opencv小案例-直线检测】形态学+HuoghLinesp
当我们提取图像中的直线时,可以使用HoughLinesP函数,但单纯的使用此函数时往往得不到理想的效果,这是我们可以先通过形态学操作处理图像后再通过霍夫直线变换提取图像中的直线直接通过HoughLinesP()原图处理后:可见效果并不是很明显形态学+HuoghLinesp先通过二值变换-形态学开操作(定义kernel数组size(20,1)可以查找出图像中的横向直线)-霍夫直线变换...原创 2019-08-19 12:01:36 · 593 阅读 · 0 评论 -
【opencv学习笔记】平面识别&&透视变换
前言在日常生活中,我们接触的照片经常会因为角度或者方向的问题,而导致图像中的文字倾斜或者角度偏转。透视变换(Perspective Transformation)可以将图片进行校正。也可以通过透视变换进行图像的平面识别;函数findHomography()------>发现两个平面的透视变幻,生成透视变换矩阵。计算多个二维点对之间的最优单映射变换矩阵 H(3行x3列) ,使用最小均...原创 2019-08-14 13:14:14 · 1146 阅读 · 0 评论 -
【opencv小案例-对象提取】阈值分割+形态学处理+面积横纵比过滤
在图像处理中我们常常需要提取目标图像中的ROI区域或这是某个形状,这样我们就需要观察对象的特征,根据它的特征去提取。这次我们在下图中提取其中的圆基本思路1、二值化处理2、形态学操作(开与闭)去除干扰3、提取轮廓,通过轮廓的面积大小与横纵比过滤4、获取目标图像数据并标记代码# include<opencv2\opencv.hpp># include <iostr...原创 2019-08-19 16:46:01 · 1348 阅读 · 0 评论 -
【opencv学习笔记】高斯模型
查资料的时候看了一个不文明的事情,转载别人的东西而不标注出处,结果原创无人知晓,转载很多人评论~~标注了转载而不说出处这样的人有点可耻! 写在前面: Gaussian Mixture Model (GMM)。事实上,GMM 和 k-means 很像,不过 GMM 是学习出一些概率密度函数来(所以 GMM 除了用在 clustering 上之外,还经常...转载 2019-09-22 12:00:19 · 1477 阅读 · 0 评论