
OpenCV_ML
机器学习模块
阿卡基-马
业余马拉松选手
展开
-
OpenCV3.3中 K-最近邻法(KNN)接口简介及使用
modules/ml/src/knearest.cpp文件中。其中:(1)、cv::ml::Knearest类:继承自cv::ml::StateModel,而cv::ml::StateModel又继承自cv::Algorithm;(2)、create函数:为static,new一个KNearestImpl用来创建一个KNearest对象;(3)、setDefaultK/getDefau...转载 2020-01-01 22:23:13 · 775 阅读 · 0 评论 -
OpenCV进入源码调试的问题解决
其实进入机器学习源码的时候,不能将opencv_world401.lib这个release版的库放进去,只需要将Debug版本库放进去,要不然进不去的。原创 2019-12-31 15:34:32 · 602 阅读 · 0 评论 -
正态贝叶斯分类器CvNormalBayesClassifier的OpenCV4.0多个实例代码实战
说明OpenCV中实现的正态贝叶斯分类器Normal Bayes Classifier,而不是其他类型的贝叶斯分类器,例如朴素贝叶斯分类器Naive Bayes Classifier。正态贝叶斯分类器中样本特征属性之间不必是相互独立的,因而适用范围更广,但是只能处理特征属性是连续数值的分类问题。源码实例1根据身高体重脚长预测性别题例例子是维基百科中英文条目Naive Bayes c...转载 2019-12-29 20:55:08 · 499 阅读 · 0 评论 -
L0、L1、L2范数在机器学习中的应用
正则化在机器学习中经常出现,但是我们常常知其然不知其所以然,今天Cathy将从正则化对模型的限制、正则化与贝叶斯先验的关系和结构风险最小化三个角度出发,谈谈L1、L2范数被使用作正则化项的原因。Cathy是初学者,理解有限,若有理解错误的地方还望大家批评指正。 首先我们先从数学的角度出发,看看L0、L1、L2范数的定义,然后再分别从三个方面展开介绍。应用一:约束模型的特性1.1 ...转载 2019-12-23 10:12:26 · 876 阅读 · 0 评论 -
Machine Learning Overview
Training DataIn machine learning algorithms there is notion of training data. Training data includes several components:A set of training samples. Each training sample is a vector of values (in Co...原创 2019-12-19 20:01:41 · 791 阅读 · 0 评论 -
OpenCV笔记(4)实现神经网络(ANN)
1.神经网络神经网络最重要的功能是分类,前面用opencv实现的SVM也是分类器。分类器的输入是数值向量,输出是数值。目标是让正确分类的比例尽可能高。一般我们需要建立训练样本,标记好分类结果,用这些标记好的数据去训练分类器,训练好的分类器就可以在新来的特征向量上预测。下面是一些样本:若是将其分开,只需要画出一条直线,如...转载 2019-12-17 19:09:57 · 1448 阅读 · 1 评论 -
OpenCV中的新函数connectedComponentsWithStats使用
主要内容:对比新旧函数,用于过滤原始图像中轮廓分析后较小的区域,留下较大区域。关键字 :connectedComponentsWithStats在以前,常用的方法是”是先调用cv::findContours()函数(传入cv::RETR_CCOMP标志),随后在得到的连通区域上循环调用cv::drawContours()“比如,我在GOCVHelper中这样进行了...转载 2019-06-18 12:06:48 · 16906 阅读 · 7 评论 -
opencv4.1里面CV_FOURCC找不到标识符
§VideoWriter()[2/3]cv::VideoWriter::VideoWriter ( constString& filename, int fourcc, double fps, Size frameSize, bool ...原创 2019-04-14 18:18:01 · 7746 阅读 · 7 评论 -
梯度直方图(HOG,Histogram of Gradient)
1.介绍HOG(Histogram of Oriented Gradient)是2005年CVPR会议上,法国国家计算机科学及自动控制研究所的Dalal等人提出的一种解决人体目标检测的图像描述子,该方法使用梯度方向直方图(Histogram of Oriented Gradients,简称HOG)特征来表达人体,提取人体的外形信息和运动信息,形成丰富的特征集。2.生成过程1)图像归...转载 2019-04-03 20:24:03 · 2877 阅读 · 0 评论 -
李飞飞总结 8 年 ImageNet 历史,宣布挑战赛最终归于 Kaggle
本文由机器之心编辑,“机器之心”专注生产人工智能专业性内容,适合开发者和从业者阅读参考。点击右上角即刻关注。2017 年 7 月 18 日,ImageNet 最后一届挑战赛成绩已经公布,多个国内院校和企业在各个比赛项目上取得了非常不错的成绩。据官网信息,在 CVPR 2017 期间也会有一场 Workshop 以纪念 ImageNet 挑战赛。当地时间 7 月 26 日,李飞飞与 Jia De...转载 2019-04-03 16:01:31 · 6511 阅读 · 0 评论 -
OpenCV学习三十三:pointPolygonTest 检测点是否在轮廓内
opencv函数pointPolygonTest:C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist)用于测试一个点是否在多边形中当measureDist设置为true时,返回实际距离值。若返回值为正,表示点在多边形内部,返回值为负,表示在多边形外部,返回值为0,表示在多边形上。...转载 2019-03-28 14:10:05 · 633 阅读 · 0 评论 -
Opencv: pointPolygonTest函数使用
参考:http://blog.youkuaiyun.com/fuyou25/article/details/53467204https://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=pointpolygontest#pointpolygontest...转载 2019-03-28 12:46:00 · 2183 阅读 · 0 评论 -
OpenCV学习知识点
1.均值滤波(blur)2. contours 2.1 OpenCV中的新函数connectedComponentsWithStats使用 2.2OpenCV实现图像连通组件标记与分析3.Morphology 3.1【OpenCV-Morphology】cv::morphologyEx4. 二值化 自适应阈值...转载 2019-06-17 10:35:47 · 410 阅读 · 0 评论 -
findContours函数参数详解
void drawContours//绘制轮廓,用于绘制找到的图像轮廓(InputOutputArray image,//要绘制轮廓的图像InputArrayOfArrays contours,//所有输入的轮廓,每个轮廓被保存成一个point向量int contourIdx,//指定要绘制轮廓的编号,如果是负数,则绘制所有的轮廓const Scalar& color,...转载 2019-06-17 15:01:10 · 3285 阅读 · 0 评论 -
adaptiveThreshold自适应二值化源码分析
自适应二值化介绍:二值化算法是用输入像素的值I与一个值C来比较,根据比较结果确定输出值。自适应二值化的每一个像素的比较值C都不同,比较值C由这个像素为中心的一个块范围计算在减去差值delta得到。C的常用计算方法有两种: 1.平均值减去差值delta(使用盒过滤boxfilter,性能会非常不错) 2.高斯分布加权和减去差值delta(使用高斯滤波GaussionBlur...转载 2019-06-17 17:56:04 · 954 阅读 · 0 评论 -
opencv 去除小面积区域
功能:#include "opencv.hpp"#include "iostream"using namespace std;using namespace cv; int main(){ Mat srcImage, grayImage, dstImage,imgHSVMask; int size = 800; //面积因子 //srcImage = i...转载 2019-06-18 15:16:52 · 3675 阅读 · 0 评论 -
opencv(23)---轮廓特征属性及应用之最小外接矩形
轮廓最小外接矩形—minAreaRect()函数原型RotatedRect minAreaRect( InputArray points );points: 输入的二维点集, 可以填Mat类型或std::vector返回值: RotatedRect类矩形对象, 外接旋转矩形主要成员有center、size、 angle、points注意点在opencv中,坐标的原点在左上...转载 2019-07-06 22:43:05 · 2362 阅读 · 0 评论 -
OpenCV Tutorials
The following links describe a set of basic OpenCV tutorials. All the source code mentioned here is provided as part of the OpenCV regular releases, so check before you start copying & pasting the...原创 2019-08-24 21:54:28 · 455 阅读 · 0 评论 -
Camera Calibration
GoalIn this section, we will learn abouttypes of distortion caused by cameras how to find the intrinsic and extrinsic properties of a camera how to undistort images based off these propertiesBa...原创 2019-08-21 11:29:45 · 647 阅读 · 0 评论 -
如何判断一个点在矩形内
最近在做游戏服务器中技能模块,往往要扫描一个区域,判断npc是不是在我这个区域内,在的话就发伤害。 就需要实现一下,对于一个点是否在矩形内的判断。 只需要判断该点是否在上下两条边和左右两条边之间就行,判断一个点是否在两条线段之间夹着,就转化成,判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,来判断夹角是否超过了180度 如下图: ...转载 2019-01-09 20:35:03 · 1710 阅读 · 0 评论 -
resnet_ssd_face.cpp
#include <opencv2/dnn.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/highgui.hpp>#include <iostream>using namespace cv;using namespace std;using namespace cv::dnn;...原创 2019-04-11 09:27:18 · 623 阅读 · 0 评论 -
opencv_extra/testdata/dnn/download_models.py
#!/usr/bin/env pythonfrom __future__ import print_functionimport hashlibimport sysimport tarfileif sys.version_info[0] < 3: from urllib2 import urlopenelse: from urllib.request impor...原创 2019-04-10 19:49:54 · 46716 阅读 · 0 评论 -
Ubuntu18.04下安装OpenCv依赖包libjasper-dev无法安装的问题
近期需要在ubuntu18.04系统上安装opencv但是在安装依赖包的过程中,有一个依赖包,libjasper-dev在使用命令 sudo apt-get install libjaster-dev提示:errorE: unable to locate libjasper-dev后来google到解决办法,复制到这里sudo add-apt-repository "deb ...转载 2019-02-15 11:32:33 · 2729 阅读 · 1 评论 -
Ubuntu16.04.3 下安装Qt5.9.1 OpenCV3.2.0 (包括OpenCV_contrib)完美版
1.安装Qt5.9.1Qt官网址:https://download.qt.io/official_releases/qt/ 根据自己的需要选择版本,这里我选择的是qt-opensource-linux-x64-5.9.1.run下载之后通过ctrl+alt+t打开终端,输入下面的代码:sudo apt-get updatecd DownLoadschmod +x ./qt-openso...转载 2019-02-15 09:52:17 · 1285 阅读 · 0 评论 -
基于OpenCv的金属表面划痕检测
在实际应用中,得到的图像的阈值不太理想时通过固定阈值分割很难得到所要提取的特征,因此Halcon中含有动态阈值分割法,即首先对图像进行均值滤波,然后与现有图像做差后进行阈值分割。该方法适合比较小的特征提取,例如金属表面的划痕、丝网的漏洞等。本例提取丝网上漏洞区域以及漏洞数量,主要步骤如下:1.对读入的图像进行动态阈值分割,分割出Blob区域。2.利用面积对Blob区域进行...转载 2019-02-15 09:04:36 · 9611 阅读 · 4 评论 -
交叉编译opencv报错:/usr/local/lib/libz.so: file not recognized: File format not recognized
/usr/local/lib/libz.so: file not recognized: File format not recognized报错的原因大概就是/usr/local/lib/libz.so是x86的64位架构的,不能用在板子上,所以需要从新编译zlib。这里只要在cmake-gui配置是勾选上BUILD_ZLIB就可以了:...转载 2019-01-22 09:19:47 · 9361 阅读 · 3 评论 -
Qt之emit、signals、slot的使用
参考:https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/index.html信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。信号和槽是 QT 自行定义的一种通信机制,...转载 2019-01-08 19:47:42 · 1700 阅读 · 1 评论 -
opencv HSV 颜色模型(H通道取值 && CV_BGR2HSV_FULL)
之前知道,利用opencv把RGB图片像HSV颜色空间转变的时候,H通道的值范围为: 0-180S: 0-255V:0-255利用直方图显示三个通道的时候,H通道都集中在前半部分,想让它取值范围扩大~~~~~~~后来发现了 CV_BGR2HSV_FULL ,CV_BGR2HSV 在转换图像的时候是将 H / 2 ---> H ,我们知道图像中色相H的取值...转载 2019-01-07 19:25:04 · 1368 阅读 · 0 评论 -
ubuntu16.04安装opencv3.4.1教程
最近opencv3.4.1发布了,想换个新的试试鲜,于是把配置的过程通过博文的方式记录下来,方便查阅。 本教程原为3.3.0,但经过博主亲测,3.4.0、3.4.1皆适用1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工。 下载链接http://opencv.org/releases.html,选择sources版本2.解压下载下来的zip...转载 2019-02-15 13:50:05 · 326 阅读 · 0 评论 -
ubuntu16.04上安装opencv3.0+opencv_contrib
step 1,打开终端,更新一下各种包,两个命令的区别可自行bing$ sudo apt-get update$ sudo apt-get upgradestep2,接下来安装一些开发工具$ sudo apt-get install build-essential cmake git pkt-configgit 用来从github下载opencv源文件,cmake编译...转载 2019-02-15 14:17:21 · 565 阅读 · 0 评论 -
OpenCV学习(30) 轮廓defects
https://www.cnblogs.com/mikewolf2002/p/3426652.html上一篇教程中,我们学习了如何计算轮廓的凸包,其实对一个轮廓而言,可能它的凸包和它本身是重合的,也有可能不是重合的。比如下面左边图像的轮廓本身就是凸包,而右边图像的轮廓则不是。我们可以通过函数boolisContourConvex(InputArraycontour),来判定一个轮廓是否是...转载 2019-03-27 22:54:43 · 664 阅读 · 0 评论 -
RotatedRect类opencv
RotatedRect该类表示平面上的旋转矩形,有三个属性:矩形中心点(质心) 边长(长和宽) 旋转角度class CV_EXPORTS RotatedRect{public: //构造函数 RotatedRect(); RotatedRect(const Point2f& center, const Size2f& size, float ...转载 2019-03-27 20:02:01 · 648 阅读 · 0 评论 -
OpenCV实现图像连通组件标记与分析
OpenCV实现图像连通组件标记与分析一:连通组件标记算法介绍连接组件标记算法(connected component labeling algorithm)是图像分析中最常用的算法之一,算法的实质是扫描一幅图像的每个像素,对于像素值相同的分为相同的组(group),最终得到图像中所有的像素连通组件。扫描的方式可以是从上到下,从左到右,对于一幅有N个像素的图像来说,最大连通组件个数为N/2。扫...转载 2019-04-01 10:08:20 · 2426 阅读 · 0 评论 -
关于openCV报错无法打开文件“opencv_world340d.obj”的配置问题
关于openCV编译报错<无法打开文件“opencv_world340d.obj”>的配置问题今天在VS2015里配置完openCV3.4.0,运行例程报了这个错误,像往常一样搜索解决方法,没有找到正确的。最后自己发现了问题所在,故新开一篇博客记录下来。其实根本不是什么大问题。仅仅是因为配置“属性管理器”-“链接器”-“输入”-“附加依赖项”,添加opencv_world340...原创 2019-03-27 10:23:19 · 5316 阅读 · 3 评论 -
【OpenCV-Morphology】cv::morphologyEx
void cv::morphologyEx( InputArray _src, OutputArray _dst, int op, InputArray _kernel, Point anchor, int iterations, int borderType, const Scalar& bord...原创 2019-03-26 21:37:46 · 2133 阅读 · 0 评论 -
图像处理之基于Otsu阈值二值化
图像处理之基于Otsu阈值实现图像二值化一:基本原理该方法是图像二值化处理常见方法之一,在Matlab与OpenCV中均有实现。Otsu Threshing方法是一种基于寻找合适阈值实现二值化的方法,其最重要的部分是寻找图像二值化阈值,然后根据阈值将图像分为前景(白色)或者背景(黑色)。假设有6x6的灰度图像,其像素数据及其对应的直方图如下图:阈值寻找方法首先假设是...转载 2019-03-26 14:36:55 · 1056 阅读 · 1 评论 -
Linux 下编译安装OpenCV
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, ...转载 2019-02-15 17:43:20 · 440 阅读 · 0 评论 -
Opencv2.4.9源码分析——HoughCircles
【原文:http://blog.youkuaiyun.com/zhaocj/article/details/50454847】 图形可以用一些参数进行表示,标准霍夫变换的原理就是把图像空间转换成参数空间(即霍夫空间),例如霍夫变换的直线检测就是在距离-角度空间内进行检测。圆可以表示成:(x-a)2+(y-b)2=r2 (1)其中a和b表示圆心坐标,r表示圆半...转载 2018-12-10 11:00:23 · 2079 阅读 · 0 评论