
OpenCV
wishchin
CV算法工程师:从事室内场景感知方面工作,完成算法实验和软件开发。
展开
-
Haar、pico、npd、dlib等多种人脸检测特征及算法结果比较
Pico(Pixel Intensity Comparison-based Object detection)发表于2014年,不同于VJ的Haar特征,pico则是提取点对特征,对两个像素点进行对比。实验表明这种特征比Haar特征更为有效,且运算时间更短。但是点对提取意味着PICO的抗噪性能极差,场景可扩展性不强。另外通过NDP特征池是可以重建出原图的,也就是说特征池包含了原图片中的所有信息转载 2017-05-04 11:44:33 · 5656 阅读 · 1 评论 -
ProE复杂曲线方程:Python Matplotlib 版本代码(L系统,吸引子和分形)
对生长自动机的研究由来已久,并在计算机科学等众多学科中,使用元胞自动机的概念,用于生长模拟。而复杂花纹的生成,则可以通过重写一定的生长规则,使用生成式来模拟自然纹理。当然,很多纹理是由人本身设计的,其形成过程本身就是在人脑中进行“原胞生成”的过程。原创 2017-12-28 10:00:10 · 1944 阅读 · 0 评论 -
ML二:NNSearch数据结构--二叉树
wiki百科:http://zh.wikipedia.org/wiki/%E5%86%B3%E7%AD%96%E6%A0%91%E5%AD%A6%E4%B9%A0opencv学习笔记--二杈决策树:http://blog.youkuaiyun.com/homechao/article/details/9061921从K近邻算法、距离度量谈到KD树、SIFT+BBF算法:http://blog.转载 2014-01-18 15:48:00 · 4470 阅读 · 0 评论 -
搜藏一个较全的数据集目录
这个页面比较详细:http://homepages.inf.ed.ac.uk/rbf/CVonline/Imagedbase.htm 此外cvpapers的页面一直更新:http://www.cvpapers.com/datasets.html Long Time ago,只在意三维模式识别的数据集搜藏,在此多...转载 2017-12-13 10:47:56 · 3318 阅读 · 1 评论 -
OpenCV:Python3使用OpenCV
另一种方法:直接下载 opencv_python‑3.3.1‑cp35‑cp35m‑win_amd64.whl 文件,下载到本地,使用pip 安装。命令: pip install opencv_python-3.3.1-cp35-cp35m-win_amd64.whl原创 2017-11-12 18:14:02 · 3419 阅读 · 0 评论 -
OpenCV3 Java 机器学习使用方法汇总
按道理来说,C++版本的OpenCV训练的版本XML文件,在java中可以无缝使用。但要注意OpenCV本身的版本问题。从2.4 到3.x版本出现了很大的改变,XML文件本身的存储格式本身也不同,不能通用。 opencv提供了非常多的机器学习算法用于研究。这里对这些算法进行分类学习和研究,以抛砖引玉。这里使用的机器学习算法包括:人工神经网络,boost,决策树,最近邻,逻辑回归,贝叶斯,随机森林,SVM等算法等。转载 2017-12-12 09:24:26 · 2140 阅读 · 3 评论 -
图像的全局特征--HOG特征、DPM特征
HOG特征:方向梯度直方图(Histogram of Oriented Gradient,)特征是一种全局图像特征描述子。 它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而...转载 2017-03-16 15:31:42 · 7311 阅读 · 0 评论 -
ubuntu16.04下编译安装OpenCV
使用编译源代码的方式:cmake .makesudo make install原创 2014-10-03 11:31:01 · 9427 阅读 · 0 评论 -
nvcc fatal : Unsupported gpu architecture 'compute_11'
使用VS编译OpenCV编译源代码时候,对Cmake生成的工程文件编译,会出现 nvcc fatal : Unsupported gpu architecture 'compute_11' 问题。原因是CUDA7.5不支持较为古老的显卡版本,因此1.1,2.0,2.1,之类的显卡选项是多余的。原创 2017-03-20 16:44:31 · 7731 阅读 · 0 评论 -
配置OpenCV的Qt开发环境
感觉使用QT还是要把CV mat型转化为Qimage型更方便易用转载 2013-10-18 20:56:26 · 1336 阅读 · 0 评论 -
0xc000007b:vs2012+Opencv2.4.4出现"0xc000007b"问题
在64位系统中,VS2010+opencv2.4.4下编程出现一个问题,我简单的读取图片就出现“应用程序无法正常启动0xc000007b”的问题:如图:把运行环境改成 debug x64 ,原本是debug win32的.原创 2013-08-09 09:59:05 · 3476 阅读 · 0 评论 -
人脸检测的harr检测函数
眼球追踪需要对人脸进行识别,然后再对人眼进行识别,判断人眼张合度,进而判断疲劳...解析:人脸检测的harr检测函数使用方法原创 2013-07-17 12:06:15 · 1042 阅读 · 0 评论 -
OpenCV: kalman滤波的代码段
序言:在我的疲劳检测工程 AviTest中!显示框为320*240,使用OpenCV的kalman滤波算法,可以实现简单的锁相追踪-实现对眼球的位置锁定。原创 2013-07-17 11:24:27 · 1655 阅读 · 0 评论 -
OpenCV: OpenCV人脸检测框可信度排序
使用OpenCV进行人脸识别时,使用 casecade.detectMultiScale 函数,可输出每个检测框的置信度原创 2017-04-18 16:48:04 · 1997 阅读 · 0 评论 -
图像局部显著性—点特征(SiftGPU)
SIFT的计算复杂度较高。SiftGpu的主页:SiftGPU: A GPU Implementation of ScaleInvariant Feature Transform (SIFT)原创 2017-03-27 17:04:48 · 2093 阅读 · 2 评论 -
CV:深入浅出的讲解傅里叶变换(真正的通俗易懂)
这是一篇很NB的文章,图文并茂............... 另外这个回答比较好:能不能通俗地讲解傅里叶和小波分析的关系? 第二个妹子头像的回答 原文出处: 韩昊 12345678910作者:韩昊知 乎:Heinrich微博:@花生油工人知乎专栏:与时间无转载 2018-02-04 15:02:36 · 4319 阅读 · 0 评论 -
CNN结构基元:纹理结构和纹理基元方程化GLOH、Gabor...(Code)
模式识别专注于寻找相同模式的共性和不同模式的分离。CNN把特征提取全局化,其中重要的一个是纹理特征,利用卷积核来表示纹理基元,用以重现模式,应如何显示表示。 第一次使用纹理特征,2012年,使用了灰度共生矩阵:灰度共生矩阵-/Laws特征。此后LBP特征也是一种常用的特征:局部二元模式LBP特征。 此外Gabor变换用以提取纹理,可以使用变换后的能量和方差进行计算特...原创 2017-12-26 11:02:28 · 6011 阅读 · 0 评论 -
VTK:libvtkGUISupportQt-6.3.so.1: cannot open shared object
在QT中使用VTK时候,出现libvtkGUISupportQt-6.3.so.1: cannot open shared object 错误;方法:#after sudo make installsudo ldconfig转载 2019-06-12 14:53:00 · 904 阅读 · 0 评论 -
libopencv_core.a(persistence.cpp.o): undefined reference to symbol 'gzclose'
此次在QT中配置OpenCV的过程中,出现了 libopencv_core.a(persistence.cpp.o): undefined reference to symbol 'gzclose' 问题;1.修改 配置文件#LIBS += /usr/lib/x86_64-linux-gnu/libopencv_core.aLIBS += -L/usr/lib/x86_64-linux-...转载 2019-06-12 14:51:11 · 4950 阅读 · 0 评论 -
Android: AndroidStudio使用OpenCV-Java
参考文链:https://blog.youkuaiyun.com/qq_36992688/article/details/79214273使用OpenCV-Java和使用OpenCV Native有所不同,使用Java版本的使用opencv的Java接口,为Java语言;使用native,为在nativeLib里面使用C++语言开发工程,参数传递通过JNI接口;1. 引入模块在项目工程中,Andr...转载 2019-05-31 14:28:00 · 512 阅读 · 0 评论 -
OpenCV:No value has been specified for property 'manifestOutputDirectory'
在配置OpenCV的Java版本时候,添加modulehttps://www.cnblogs.com/tail/p/4618476.html之后,显示Gradle Error: No value has been specified for property 'buildConfigPackageName'修改错误"把opencv的mainfeas文件修改为<uses-...转载 2019-05-30 17:12:54 · 2879 阅读 · 0 评论 -
JAVA:Java二维数组处理-Bit型转Bitmap
详细介绍Java数组,文链:http://c.biancheng.net/view/916.html虽然使用Java数组效率很低...代码段:import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.RectF; //转换bit到bitmap ...原创 2019-05-30 10:51:58 · 1037 阅读 · 0 评论 -
OpenCV:Surface Matching 3D
文档链接:https://docs.opencv.org/master/d9/d25/group__surface__matching.htmlOpenCV在逐渐的吃PCL的地盘,不过工具还不够丰富。此函数竟然使用点对特征和hash!函数使用的ICP方法:Picky ICP方法;https://www.mathworks.com/matlabcentral/fileexchange/4...转载 2019-05-30 10:26:13 · 2401 阅读 · 2 评论 -
error: undefined reference to 'cv::_OutputArray::_OutputArray(std::__ndk1
1.使用AS-OpenCvJNI时候,原来写的代码出现error: undefined reference to 'cv::_OutputArray::_OutputArray(std::__ndk1::vector<cv::Mat, std::__ndk1::allocator<cv::Mat> >&)'问题,添加强制转换cv::Mat(rotati...转载 2019-05-21 20:01:01 · 2511 阅读 · 0 评论 -
Android: AndroidStudio使用OpenCV-Native
参考文章:https://blog.youkuaiyun.com/a390641326/article/details/804957541.首先建立一个C++Native工程参考:https://blog.youkuaiyun.com/wishchin/article/details/90205661在AS中新建一个C++ native工程,默认JNI库的名称为native-lib或者其他;2.到o...转载 2019-05-21 19:27:31 · 838 阅读 · 0 评论 -
OpenCV:OpenCV4.0更新
OpenCV4.0已经发布一段时间,更新在官方提示中,重要的是添加了ONNX接口和KinectFusion算法;Release highlights:OpenCV is now C++11 library and requires C++11-compliant compiler. Minimum required CMake version has been raised to 3.5....转载 2019-03-05 10:59:12 · 3128 阅读 · 0 评论 -
OpenCV:判定曲线为弧线的简单方法
借鉴了一个前同事的一个代码段(良心代码),功能为判定曲线为弧线,并且给出拟合度;代码段: //寻找所有canny 弧 int findArcsOfAllCanny( cv::Mat &inMatCanny, std::vector<std::vector<std::pair< cv::Point, float> > > &ci...原创 2018-10-27 17:14:39 · 16058 阅读 · 12 评论 -
OpenCV:简单计算曲线弧度-弓形弧度
在判断曲线拟合度时候,需要进行曲线曲率计算。本文中使用根据弦的方法计算曲线弧度半径,得到曲率。首先判定是否为弧:简单判定:不要选取较多的点,若线段不是偏向一个方向,则不为弧 bool isArcCurve( std::vector<cv::Point> &curve ) { bool isArc = false; cv::Point ps, ...原创 2018-10-27 17:00:22 · 14389 阅读 · 4 评论 -
OpenCV:Adaboost训练时数据扩增
更准确的模型需要更多的数据,对于传统非神经网络机器学习方法,不同的特征需要有各自相符合的数据扩增方法。原创 2017-04-06 10:12:56 · 978 阅读 · 0 评论 -
图像的全局特征--用于目标检测
CNN广泛应用于目标检测的各个场景,残差网络在目标检测方面取得了领先结果。对于传统应用,使用全局特征+级联分类器的思路仍然被持续使用。常用的级联方法有haar特征+Adaboost决策树分类器级联检测 和HOG特征 + SVM分类器级联检测。 图像的全局特征可以直接用于图像分类和目标检测,基于图像块提取特定维度的特征,常用的全局特征有HOG特征、HaarLike特征、...原创 2017-03-09 18:06:46 · 5701 阅读 · 0 评论 -
图像局部显著性—点特征(FREAK)
参考文章:Freak特征提取算法 圆形区域分割转载 2017-03-16 13:31:05 · 2618 阅读 · 0 评论 -
OpenCv: 二维坐标的旋转方程
可以写成一个矩阵的形式,也可以写成向量的形式: b 为选转角度加pi/2 x1 = x cos(b) - ysin(b) ; y1 = x sin(b) + y cos(b).转载 2016-06-20 19:18:57 · 2635 阅读 · 0 评论 -
OpenCV直方图均衡化
对于排除一个点的直方图均衡化,可以用以下代码实现代码:namespace cvWish{ int stretch2(const cv::Mat& image,cv::Mat &result,int v) { cv::Mat hist(1, 256, CV_32SC1); int histSize = 256; float range[] = {0, 255}原创 2016-04-20 17:16:07 · 1031 阅读 · 0 评论 -
图像连通域检测的2路算法Code
本文算法描述参考链接:http://blog.youkuaiyun.com/icvpr/article/details/10259577两遍扫描法:(1)第一次扫描:访问当前像素B(x,y),如果B(x,y) == 1:a、如果B(x,y)的领域中像素值都为0,则赋予B(x,y)一个新的label:label += 1, B(x,y) = label;原创 2016-04-11 16:47:31 · 3224 阅读 · 0 评论 -
图像的连通域检测的堆栈算法
图像的连通域寻找在直觉上可使用递归的方法,进而可以使用堆栈数据结构进行改进。本文描述了一个图像寻找连通域的堆栈方法,四连通域和八联通域的选择可以使用一个参数来确定。原创 2016-03-20 10:28:27 · 2129 阅读 · 0 评论 -
OpenCV中的模板匹配/Filter2d
前言 模板匹配是在图像中寻找目标的方法之一。Come On, Boy.我们一起来看看模板匹配到底是怎么回事。参考链接:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/histograms/template_matching/template_matching.html转载 2016-04-06 14:42:17 · 3344 阅读 · 0 评论 -
解决JavaOpenCV的内存问题
在使用OpenCV时,程序总是在某个时间墨明棋妙地终止,打开CygWin ,输入 adb logcat ,查看打印的信息,发现是内存问题。经过反复的查找,发现使用OpenCV的java类库时,一定要慎重使用New Mat()。 内存溢出的原因: 在循环中使用Java层的OpenCV,本质都需要深入到Native层。在使用New Mat(),进行初始化时,默认使用了C++的new。原创 2015-10-13 18:46:31 · 3386 阅读 · 2 评论 -
OpenCV中IplImage/CvMat/Mat转化关系
原文链接:http://www.cnblogs.com/summerRQ/articles/2406109.html 如对内容和版权有何疑问,请拜访原作者或者通知本人。 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而Cv转载 2015-08-30 15:22:04 · 569 阅读 · 0 评论 -
OpenCV的AdaptiveThreshold函数
摘自于OpenCV Doc2.410,opencv2refman文档. 1.函数原型 adaptiveThreshold//Applies an adaptive threshold to an array.C++: void adaptiveThreshold(InputArray src, OutputArray dst, double maxValue原创 2015-10-20 10:29:11 · 11710 阅读 · 0 评论 -
OpenCV实现连通域
借此代码实现连通域,原文链接:http://blog.youkuaiyun.com/augusdi/article/details/8865694 如有疑问或者版权问题,请移步原作者或者告知本人。借用的代码: //连通区域结构 typedef struct MyConnectedComp { double area;转载 2015-09-15 15:14:17 · 1385 阅读 · 0 评论