随笔分类 -  OpenCV案例源码解读

略有更改,不求参数齐全,但求实用
摘要:letter_recog.cpp的整体认识查阅RTrees、Boost、ANN_MLP、KNearest、NormalBayesClassifier、SVM,大写英文字母识别,三目运算符的妙用(OpenCV案例源码letter_recog.cpp解读) letter-recognition.data 阅读全文
posted @ 2020-03-18 09:46 夕西行 阅读(869) 评论(0) 推荐(0) 编辑
摘要:机器学习中,需要总样本集,拆分成训练集、测试集,计算训练、测试、整体的准确率。 OpenCV在ml.hpp中为我们准备了特有格式TrainData,它会把标签、特征集融合到其中,方便操作。 针对TrainData类型,提供了非常完美的函数,具体介绍如下: 1、拆分TrainData类型总样本集,注意 阅读全文
posted @ 2020-03-17 18:22 夕西行 阅读(1915) 评论(0) 推荐(1) 编辑
摘要:letter_recog.cpp是ml.hpp的最佳案例,可以解读出样本集、机器学习的内容,所以写了两篇博客。 ml.hpp的整体理解,请拜读大神的文章,多读几遍。 【样本集】 1、文件的读取、保存,推荐用load()、save(),而不是read()、write()。 2、样本集有data(特征集 阅读全文
posted @ 2020-03-16 15:48 夕西行 阅读(627) 评论(0) 推荐(0) 编辑
摘要:AKAZE是KAZE的加速版,sift,surf等特征都是通过高斯核进行线性尺度空间进行特征检测的,相同尺度下每个点的变换是一样的,由于高斯函数是低通滤波函数,会平滑图像边缘,以至图像损失掉许多细节信息。针对这一问题,作者提出了一种基于非线性尺度空间的特征点检测方法,该非线性尺度空间保证了图像边缘在 阅读全文
posted @ 2020-03-12 18:04 夕西行 阅读(4144) 评论(0) 推荐(0) 编辑
摘要:AGAST特征点,算法速度比FAST和FASTER更快。 【函数】 Ptr<AgastFeatureDetector> create( int threshold=10, bool nonmaxSuppression=true, int type=AgastFeatureDetector::OAST 阅读全文
posted @ 2020-03-12 16:36 夕西行 阅读(1343) 评论(0) 推荐(0) 编辑
摘要:FAST,2006年提出并在2010年稍作修改后发表,若某像素与其周围邻域内足够多的像素点相差较大,则该像素可能是角点。 【函数】 Ptr<FastFeatureDetector> create( int threshold=10,bool nonmaxSuppression=true,int ty 阅读全文
posted @ 2020-03-12 16:18 夕西行 阅读(1841) 评论(0) 推荐(0) 编辑
摘要:MSER(Maximally Stable Extremal Regions)最大稳定极值区域,2002提出,基于分水岭的思想来做图像中斑点的检测。 使用一系列灰度阈值对图像进行二值化处理,得到相应的黑色区域与白色区域。在比较宽的灰度阈值范围内保持形状稳定的区域称为稳定区域。 【函数】 Ptr<MS 阅读全文
posted @ 2020-03-12 15:57 夕西行 阅读(990) 评论(0) 推荐(0) 编辑
摘要:ORB(Oriented FAST and Rotated BRIEF),2011年提出,是一种快速特征点提取和描述的算法。ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化(ORB主要解决了BRIEF描述子不具备旋转不变性的问题)。据说,ORB 阅读全文
posted @ 2020-03-12 15:11 夕西行 阅读(1059) 评论(0) 推荐(0) 编辑
摘要:2011年提出,是一种二进制的特征描述算子。速度比较:SIFT<SURF<BRISK<FREAK<ORB,在对有较大模糊的图像配准时,BRISK算法在其中表现最为出色。 【函数】 Ptr<BRISK> create(int thresh=30, int octaves=3, float patter 阅读全文
posted @ 2020-03-12 14:19 夕西行 阅读(888) 评论(0) 推荐(0) 编辑
摘要:哈里斯(Harris)角点会出现聚簇现象(cornerHarris函数),为避免此现象,提出shi_tomasi角点检测算法goodFeatureToTrack,GFTTDetector实现了此算法。 【函数】 Ptr<GFTTDetector> create( int maxCorners=100 阅读全文
posted @ 2020-03-12 13:33 夕西行 阅读(520) 评论(0) 推荐(0) 编辑
摘要:1、BRISK,2011年提出,是一种二进制的特征描述算子。速度比较:SIFT<SURF<BRISK<FREAK<ORB,在对有较大模糊的图像配准时,BRISK算法在其中表现最为出色。 2、ORB(Oriented FAST and Rotated BRIEF),2011年提出,是一种快速特征点提取 阅读全文
posted @ 2020-03-12 13:18 夕西行 阅读(463) 评论(0) 推荐(0) 编辑
摘要:Blob是指图像中的一块连通区域,Blob分析就是对前景/背景分离后的二值图像,进行连通域提取和标记。 知识点就是SimpleBlobDetector的使用,blob(斑点)筛选条件:斑点颜色、面积、圆度、惯性率、凸度,参数解读链接 #include<opencv2/opencv.hpp> #inc 阅读全文
posted @ 2020-03-12 12:00 夕西行 阅读(2364) 评论(0) 推荐(0) 编辑
摘要:知识点是查找轮廓findContours()和绘制轮廓drawContours(),具体查阅我的博客多轮廓提取 阅读全文
posted @ 2020-03-11 18:18 夕西行 阅读(459) 评论(0) 推荐(0) 编辑
摘要:官方源代码中有一点瑕疵,高斯分布产生的随机点points的坐标可能出现负数或大于500的数。如横坐标均值是0,方差是25,那么横坐标随机值中会出现负数。 修改了两处:随机数生成种子是时间、随机点points坐标保证在500*500以内。 【知识点1】聚类函数 double kmeans( Input 阅读全文
posted @ 2020-03-10 14:01 夕西行 阅读(1093) 评论(0) 推荐(0) 编辑
摘要:此案例用于二分类问题(鼠标左键、右键点出两类点,会实时画出分界线),最终得到一条分界线(直线):f(x)=weights*x+shift 源码不再贴出,只讲解最核心的doTrain()里的内容。参数含义翻译自ml.hpp文件。 与SVM不同,SVMSGD不需要设置核函数。 【参数】默认值见下述代码 阅读全文
posted @ 2020-03-06 18:57 夕西行 阅读(1107) 评论(0) 推荐(0) 编辑
摘要:有所更改,参数不求完备,但求实用。源码参考D:\source\opencv-3.4.9\samples\cpp\train_HOG.cpp,OpenCV3.4.9版本,内容与低版本略有不同。 【功能】HOG特征适合外形相似的目标识别。如图片中识别行人。 【知识点1】 方向梯度直方图(Histogra 阅读全文
posted @ 2020-03-04 18:24 夕西行 阅读(1359) 评论(0) 推荐(0) 编辑
摘要:有所更改,参数不求完备,但求实用。源码参考D:\source\opencv-3.4.9\samples\cpp\connected_components.cpp 【二值图认知纠正】 OpenCV中threshold()得到的二值图其实是0、255(设定值)这两个值的图,而不是0、1的图。 0、1图是 阅读全文
posted @ 2020-02-26 15:15 夕西行 阅读(9931) 评论(0) 推荐(1) 编辑
摘要:有所更改,参数不求完备,但求实用。源码参考D:\source\opencv-3.4.9\samples\cpp\cloning_demo.cpp 图片下载地址 https://github.com/opencv/opencv_extra 此案例图片具体位置 opencv_extra-master\t 阅读全文
posted @ 2020-02-20 13:18 夕西行 阅读(4137) 评论(0) 推荐(1) 编辑
摘要:有所更改,参数不求完备,但求实用。源码参考D:\source\opencv-3.4.9\samples\cpp\edge.cpp #include<opencv2\opencv.hpp> #include<iostream> using namespace cv; using namespace s 阅读全文
posted @ 2020-02-19 11:53 夕西行 阅读(478) 评论(0) 推荐(0) 编辑
摘要:有所更改,参数不求完备,但求实用。源码参考D:\source\opencv-3.4.9\samples\cpp\drawing.cpp #include<opencv2\opencv.hpp> #include<iostream> using namespace cv; using namespac 阅读全文
posted @ 2020-02-19 10:12 夕西行 阅读(699) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示