
OpenCV
文章平均质量分 81
小熊不去实验室
体感互动攻城狮一枚,主要研究:体感互动设备,互动开发平台,开发互动项目,希望向各位大牛多多学习~
展开
-
学习OpenCV——Kmean(C++)
从前也练习使用过OpenCV的Kmean算法,但是那版本低,而且也是基于C的开发。这两天由于造论文的需要把它重新翻出来在研究一下C++,发现有了些改进kmeansC++:doublekmeans(InputArraydata, intK, InputOutputArray bestLabels, TermCriteriacriteria, intattempts, int原创 2012-09-12 16:08:31 · 15076 阅读 · 0 评论 -
SIFT特征提取分析(特征点篇)
转载自:sophia_qing SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配,获得了良好效果,详细解析如下:算法描述SIFT特征转载 2012-12-19 21:09:47 · 9745 阅读 · 2 评论 -
学习OpenCV——Fast(特征点篇) (&DrawMatchFlags)
特征点检测和匹配是计算机视觉中一个很有用的技术。在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用。这一次先介绍特征点检测的一种方法——FAST(features from accelerated segment test)。很多传统的算法都很耗时,而且特征点检测算法只是很多复杂图像处理里中的第一步,得不偿失。FAST特征点检测是公认的比较快速的特征点检测方法,只利用周围像素比较的信息就可以原创 2012-05-03 09:45:52 · 12131 阅读 · 6 评论 -
学习OpenCV——BOW特征提取函数(特征点篇)
没日没夜的改论文生活终于要告一段落了,比起改论文,学OpenCV就是一件幸福的事情。OpenCV的发展越来越完善了,已经可以直接使用BOW函数来进行对象分类了。简单的通过特征点分类的方法: 一、train1.提取+/- sample的原创 2012-12-31 21:36:05 · 25934 阅读 · 32 评论 -
Compressive Tracking——CT跟踪
感谢香港理工大学的Kaihua Zhang,这是他即将在ECCV 2012上出现的paper:Real-time Compressive Tracking。 这里是他的介绍:一种简单高效地基于压缩感知的跟踪算法。首先利用符合压缩感知RIP条件的随机感知矩对多尺度图像特征进行降维,然后在降维后的特征上采用简单的朴素贝叶斯分类器进行分类。该跟踪算法非常简单,但是实验结果很鲁棒,速度大概能到达4原创 2012-10-26 21:57:28 · 11523 阅读 · 30 评论 -
学习OpenCV——Surf(特征点篇)&flann
Surf(Speed Up Robust Feature)Surf算法的原理 1.构建Hessian矩阵构造高斯金字塔尺度空间其实surf构造的金字塔图像与sift有很大不同,就是因为这些不同才加快了其检测的速度。S原创 2012-04-20 21:55:11 · 52476 阅读 · 23 评论 -
学习OpenCV——HoG特征详解(特征点篇)
HOG即histogram of oriented gradient, 是用于目标检测的特征描述子,该技术将图像局部出现的方向梯度次数进行计数,该方法和边缘方向直方图、scale-invariant feature transform类似,不同的是hog的计算基于一致空间的密度矩阵来提高准确率。Navneet Dalal and Bill Triggs首先在05年的CVPR中提出HOG,用于静原创 2012-04-15 19:11:12 · 37565 阅读 · 19 评论 -
学习OpenCV——行人检测&人脸检测(总算运行出来了)
之前运行haar特征的adaboost算法人脸检测一直出错,加上今天的HOG&SVM行人检测程序,一直报错。今天总算发现自己犯了多么白痴的错误——是因为外部依赖项lib文件没有添加完整,想一头囊死啊做程序一定要心如止水!!! 仔细查找!!! 1.人脸识别程序:#include "cv.h"#include "highgui.h"#include #include #i原创 2012-04-12 15:36:39 · 64465 阅读 · 114 评论 -
学习OpenCV——直方图&最大熵分割
原来一直觉得OpenCV里的直方图函数十分简单,今天临时需要用才发现原来OpenCV的calcHist功能如此强大,不仅能计算常见的1D Hist, calcHist理论上支持32维以下的Hist.(32维啊 有木有!)void calcHist(const Mat* images, int nimages, const int* channels, InputArray mask,原创 2013-04-10 21:51:18 · 9073 阅读 · 7 评论 -
图的最小割:Graph-cut:Min-Cut Problem
基于图的最小割算法论文:Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images是YYB这个牛人在2000年提出的一种经典的基于的图的最小割算法,现在被广泛使用,现在在这里发表个人拙见,欢迎大家提意见。算法的核心其实就是这个图:构造一个图,可以把所有n原创 2012-10-08 12:05:10 · 11283 阅读 · 25 评论 -
学习OpenCV——Fast检测与Surf&Brief匹配(娱乐)
这几天一直徘徊在Fast,Surf,Shift,Brief,ORB几种特征检测算法之中,被搞得焦头烂额!!!各个实验都在前面的blog中。OpenCV已经实现了他们,所以就用OpenCV试验一下,各种方法,查看一下效果,我的初衷是Match,Fast检测的特征点,发现无法提取descriptor,⊙﹏⊙b汗!!!但是,却又发现可以将Keypoints检测与Match的过程分开(虽然原创 2012-05-08 18:51:43 · 27100 阅读 · 29 评论 -
libsvm+detector_(libsvm参数说明)
细分析了cvhop.cpp中的compute函数,可以直接调用它来获得样本HOG,然后训练得到检测算子1.制作样本2.对每一张图片调用hog.compute(img, descriptors,Size(8,8), Size(0,0));可以生成hog descriptors,把它保存到文件中for(int j=0;jfprintf(f,"%f,",descriptors原创 2012-05-26 19:52:12 · 6193 阅读 · 11 评论 -
学习OpenCV——HOG+SVM
#include "cv.h"#include "highgui.h"#include "stdafx.h"#include #include #include #include #include using namespace cv;using namespace std;int main(int argc, char** argv) { vector img_原创 2012-04-17 21:12:25 · 27454 阅读 · 95 评论 -
DoG 、Laplacian、图像金字塔详解
DoG(Difference of Gaussian)DoG (Difference of Gaussian)是灰度图像增强和角点检测的方法,其做法较简单,证明较复杂,具体讲解如下:Difference of Gaussian(DOG)是高斯函数的差分。我们已经知道可以通过将图像与高斯函数进行卷积得到一幅图像的低通滤波结果,即去噪过程,这里的Gaussian和高斯低通滤波器的高斯一样,是一原创 2012-12-17 22:14:25 · 8117 阅读 · 5 评论 -
学习OpenCV——学习CamShift算法
原文:http://blog.csdn.net/houdy/article/details/175739 CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。我把这个算法分解成三个部分,便于理解:1) Back Projection计算2) Mean Shif转载 2012-03-23 13:28:59 · 3700 阅读 · 0 评论 -
学习OpenCV——ORB & BRIEF(特征点篇)&Location
首先介绍什么是ORB:(此部分转自http://www.cvchina.info/2011/07/04/whats-orb/)ORB是是ORiented Brief的简称。ORB的描述在下面文章中:Ethan Rublee and Vincent Rabaud and Kurt Konolige and Gary Bradski,ORB: an efficient alternativ原创 2012-05-04 10:50:10 · 26609 阅读 · 36 评论 -
学习OpenCV——初始化视频第一帧
在很多视频跟踪或分割中,总是需要初始化第一帧,即在第一帧上画一个框,或者标注前景与背景啊等等,今天就把初始化第一帧,在第一帧上画一个框的代码实现了一下,顺便复习一下OpenCV里面的鼠标召回事件,在此贴上代码,与大家分享,也方便以后查找。#include "opencv2/opencv.hpp"#include "opencv2/highgui/highgui.hpp"#include原创 2012-10-25 19:14:45 · 4570 阅读 · 5 评论 -
学习OpenCV——Max_Area寻找最大区域
a. 二值化b. 得到轮廓的个数c. 将面积小于100的轮廓删除d. 将宽、高 比例小于1的轮廓删除e. 把面积最大的轮廓用红色框框画出来 #include "stdafx.h"#include "cv.h"#include "highgui.h"int main( int argc, char** argv ){ IplImage* src; src=cvLoadImage原创 2012-04-20 19:05:46 · 10478 阅读 · 4 评论 -
OpenCV学习:cvPyrSegmentation金字塔分割算法
学习金字塔分割算法:需要建立一个CvMemStorage* storage = cvCreateMemStorage(0)#include"cv.h"#include"highgui.h"int main(){ IplImage* src=cvLoadImage("D:/1.jpg",1); //图像大小必须能被2^level整除 IplImage* resize=cvCreateI原创 2012-03-23 10:58:00 · 5926 阅读 · 2 评论 -
学习OpenCV:滤镜系列(9)——扩散(毛玻璃)
==============================================版权所有:小熊不去实验室CSDN博客==============================================PhotoShop里的扩散,就相当于毛玻璃的感觉。原理:用当前点四周一定范围内任意一点的颜色来替代当前点颜色,最常用的是随机的采用相原创 2013-06-17 21:58:04 · 8959 阅读 · 0 评论 -
学习OpenCV:滤镜系列(8)——素描
==============================================版权所有:小熊不去实验室CSDN博客==============================================熟悉photoshop的朋友都知道,把彩色图片打造成素描的效果仅仅需要几步操作:1、去色;2、复制去色图层,并且反色;反色为Y(i,j)=255原创 2013-06-17 20:48:04 · 10976 阅读 · 0 评论 -
学习OpenCV:滤镜系列(10)——怀旧色 & 连环画 & 熔铸 & 冰冻
==============================================版权所有:小熊不去实验室CSDN博客==============================================怀旧色调色原理#include #include using namespace cv;usin原创 2013-06-17 23:07:27 · 17256 阅读 · 1 评论 -
学习OpenCV——粒子滤波(网上两篇文章总结)
粒子滤波的理论实在是太美妙了,用一组不同权重的随机状态来逼近复杂的概率密度函数。其再非线性、非高斯系统中具有优良的特性。opencv给出了一个实现,但是没有给出范例,学习过程中发现网络上也找不到。learning opencv一书中有介绍,但距离直接使用还是有些距离。在经过一番坎坷后,终于可以用了,希望对你有帮助。 本文中给出的例子跟 我的另一篇博文是同一个应用例子,都是对二维坐标进行平滑、预原创 2012-05-30 15:23:35 · 4048 阅读 · 3 评论 -
学习OpenCV:滤镜系列(15)——羽化(模糊边缘)
在PHOTOSHOP里,羽化就是使你选定范围的图边缘达到朦胧的效果。 羽化值越大,朦胧范围越宽,羽化值越小,朦胧范围越窄。可根据你想留下图的大小来调节。算法分析原创 2013-06-30 23:28:05 · 25804 阅读 · 16 评论 -
学习OpenC:VS2012中flann\logger.h(66): error C4996: 'fopen': This function or variable may be unsafe问题
使用vs2012配置opencv编译出现问题:1>------ 已启动生成: 项目: Win32ForOpenCV245, 配置: Debug Win32 ------1> stdafx.cpp1> Win32ForOpenCV245.cpp1>f:\softs\opencv245\opencv\build\include\opencv2\flann\logge原创 2014-02-13 13:41:14 · 3881 阅读 · 0 评论 -
学习OpenCV——全屏显示
在播放视频或需要实时展示时,使用全屏的几率很大,OpenCV现在越来越强大已经支持全屏显示,而不需要在程序中再编写Windows函数,使用起来真是十分方便。主要依靠Qt New Functions:setWindowProperty(const string& winname, int prop_id, double prop_value)Parameter原创 2014-02-08 11:04:26 · 16917 阅读 · 7 评论 -
学习OpenCV——KeyPoint Matching 优化方式
今天读Mastering OpenCV with Practical Computer Vision Projects 中的第三章里面讲到了几种特征点匹配的优化方式,在此记录。在图像特征点检测完成后(特征点检测参考:学习OpenCV——BOW特征提取函数(特征点篇)),就会进入Matching procedure。OpenCV提供了两种Matching方式:• Brute-for原创 2014-02-25 22:48:17 · 32524 阅读 · 11 评论 -
学习OpenCV——通过KeyPoints进行目标定位
目前的AR应用基本都是基于marker的比较多,但是不依靠marker首先要完成的定位工作。这篇文章主要描述,使用特征点进行检测和定位的问题(其中包含一些matching优化方式,具体请参考:学习OpenCV——KeyPoint Matching 优化方式)。步骤:1. 目标图特征点检测和描述子计算;2. 打开camera采集图像,并计算特征点及描述子;3. 进行特征点匹配,采原创 2014-02-26 20:21:15 · 21704 阅读 · 4 评论 -
学习OpenCV:滤镜系列(3)——颜色变幻
==============================================版权所有:小熊不去实验室CSDN博客==============================================#include #include #include #include using namespace cv;using namespace原创 2013-06-14 17:15:00 · 14249 阅读 · 2 评论 -
学习OpenCV:滤镜系列(13)——计算模式算法集合
==============================================版权所有:小熊不去实验室CSDN博客==============================================以上资料和图片全部收集自网络,非常感谢发布这些资源的热心网友!原创 2013-06-30 12:54:16 · 5746 阅读 · 0 评论 -
学习OpenCV:滤镜系列(14)——载入选区
==============================================版权所有:小熊不去实验室CSDN博客==============================================载入选区就是在图像中选取高亮的部分R=min(127.5,avg)if(pix[x,y]>R)dst[x,y]=255;elseds原创 2013-06-30 13:42:06 · 5409 阅读 · 0 评论 -
学习OpenCV:滤镜系列(7)——漩涡
==============================================版权所有:小熊不去实验室CSDN博客==============================================设图象的漩涡中心为o,设p为图像任意点,只要对p做绕o的旋转,且旋转角随p-o距离的增加而减少,就是"漩涡"变换了.#include原创 2013-06-17 17:35:43 · 7340 阅读 · 0 评论 -
学习OpenCV:滤镜系列(6)——风
==============================================版权所有:小熊不去实验室CSDN博客==============================================#include #include using namespace cv;using namespace std;int n原创 2013-06-16 20:59:44 · 7023 阅读 · 5 评论 -
学习OpenCV:滤镜系列(5)——径向模糊:缩放&旋转
==============================================版权所有:小熊不去实验室CSDN博客==============================================原理来自:Game Render这效果在鬼泣4中切换场景时见过, 极品飞车12的运动模糊也有这种感觉.PS里称为 径向模糊->缩放, 还有一种原创 2013-06-16 00:03:28 · 8765 阅读 · 0 评论 -
学习OpenCV:滤镜系列(4)——波浪:正弦
==============================================版权所有:小熊不去实验室CSDN博客==============================================#include #include #include using namespace cv;using namespace s原创 2013-06-15 14:14:05 · 7058 阅读 · 0 评论 -
学习OpenCV:滤镜系列(2)——扩张&挤压
==============================================版权所有:小熊不去实验室CSDN博客==============================================原理:凸透镜效果算法#include #include #include using namespace cv;using nam原创 2013-06-14 16:14:27 · 7723 阅读 · 2 评论 -
学习OpenCV:滤镜系列(1)—— 雕刻&浮雕
==============================================版权所有:小熊不去实验室CSDN博客==============================================浮雕的算法是对图像的每一个点进行卷积处理,采用的矩阵如下 [1 0 0; 0 0 0; 0 0 -1 ]原创 2013-06-13 23:03:47 · 13984 阅读 · 8 评论 -
学习OpenCV:滤镜系列(11)——高反差保留 (6.30修改版)
==============================================版权所有:小熊不去实验室CSDN博客==============================================高反差保留就是高通滤波r=(pix[x,y]-avg(R))/128pix[x,y]*r+128*(1-r)#include #inc原创 2013-06-23 23:20:23 · 9925 阅读 · 1 评论 -
学习OpenCV:滤镜系列(12)——计算模式(强光)
==============================================版权所有:小熊不去实验室CSDN博客==============================================R(上)>127.5R=R(下)+(255-R(下))*(R(上)-127.5)/127.5;R(上)R=R(下)-R(下)*(127.原创 2013-06-30 12:47:11 · 11186 阅读 · 6 评论 -
学习OpenCV——去除imshow的内部细小边框(修改highgui)
今天用到了OpenCV的全屏函数: namedWindow("FullScreen",CV_WINDOW_NORMAL); setWindowProperty("FullScreen", CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN );但是,当全屏后发现一个以前从来没有注意过的问题——图像的左上边框处有一个大概1像素的白框,由原创 2014-03-07 19:46:30 · 10979 阅读 · 3 评论