
图像处理
清风予你
实践与理论结合,每天进步一点!!!个人遇到问题记录!
展开
-
用opencv从视频中读取图像为空的解决方法
int main(int, char**){ VideoCapture cap(0); // open the default camera if(!cap.isOpened()) // check if we succeeded return -1; Mat edges; namedWindow("edges",1); for(;;)原创 2016-06-08 21:56:35 · 8537 阅读 · 4 评论 -
图片人脸检测 (I)【sample改版 人眼检测】
/ face_detect.cpp : 定义控制台应用程序的入口点。 // //#include "stdafx.h" #include "opencv2/objdetect/objdetect.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.h转载 2016-06-15 20:47:13 · 624 阅读 · 0 评论 -
改动opencv配置
$(OPENCV)\include;$(IncludePath)$(OPENCV)\x86\vc12\lib;$(LibraryPath)$(VC_IncludePath);$(WindowsSDK_IncludePath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);原创 2016-06-05 21:40:19 · 337 阅读 · 0 评论 -
CFileFind类的详解以及应用实例
CFileFind类在afx.h头文件中声明。 功能:执行本地文件的查找,支持通配符。 类的成员函数: 1、查找操作类:1 //搜索目录下指定的文件,成功返回非0。第二个参数不必理会2 virtual BOOL FindFile(LPCTSTR pstrName = NULL,DWORD dwUnused = 0); 3 virtual BOO转载 2016-06-06 10:23:17 · 1549 阅读 · 0 评论 -
camshiftdemo.cpp的详细注释
#include "opencv2/video/tracking.hpp" #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include #include using namespace cv; using namespace st转载 2016-06-15 21:13:43 · 803 阅读 · 0 评论 -
cvFindContours
函数cvFindContours从二值图像中检索轮廓,并返回检测到的轮廓的个数。first_contour的值由函数填充返回,它的值将为第一个外轮廓的指针,当没有轮廓被检测到时为NULL。其它轮廓可以使用h_next和v_next连接,从first_contour到达。int cvFindContours( CvArr* image, CvMemStorage* storage, CvSe转载 2016-02-29 19:57:38 · 464 阅读 · 0 评论 -
【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。 文章链接: http://blog.youkuaiyun.com/poem_qianmo/article/details/19809337作者:毛星云(浅墨) 邮箱: happylifemxy@163.com 写作当前博文时配套使用OpenCV版本:2.4.8因为读研期间的研究方向是图转载 2016-06-05 21:50:48 · 1189 阅读 · 1 评论 -
opencv批处理提取图像的特征
转载:http://blog.youkuaiyun.com/zhangping1987/article/details/36433167批处理(dir/a/s/b)例:某目录下有a、b、c、d、e、f、g、h、j的图片和一个文件夹JN,里边包含一张图片john.jpg我们在该目录下的命令行中 输入:dir/bb:只显示当前目录下文件名及文件夹名转载 2016-06-21 20:05:08 · 724 阅读 · 0 评论 -
opencv cvLoad 运行出错 cv::exception 出错
今天在使用OpenCV的load函数时,出现错误,代码如下:1cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 );错误如示:release版本和debug版本的链接库不一样。在Debug下链接库为所有已 d 结尾的.lib原创 2016-06-06 21:26:36 · 4153 阅读 · 1 评论 -
CamShift 目标跟踪算法研究(转)
CamShift算法: CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。 我把这个算法分解成三个部分,便于理解: 1) Back Projection(背景放映)计算 2) Mean Shift(平均转换)算法 3) CamS转载 2016-07-08 09:42:30 · 822 阅读 · 0 评论 -
主元分析(PCA)原理
为经常做一些图像和信号处理的工作,要用到主元分析(Principal Components Analysis)作为工具。写出来供自己和朋友参考。 PCA是一种统计技术,经常应用于人面部识别和图像压缩以及信号去噪等领域,是在高维数据中提取模式的一种常用技术。要了解PCA首先要了解一些相关的数学知识,这里主要介绍协方差矩阵、特征值与特征矢量的概念。1、 协方差矩阵转载 2016-08-28 17:08:31 · 899 阅读 · 1 评论 -
SVM 中 rbf kernel 的意义 —— 一个不怎么严谨的解释
http://discussions.youdaxue.com/t/svm-rbf-kernel/6088在我们机器学习的过程中,很多同学包括我自己也疑惑过rbf kernel函数的实际作用是什么?不同的参数又有什么作用。上周我参加了上海的夏令营,这里就是我们讨论的结果。首先我们要知道Support Vector Machine到底是什么东西。看过课程视频的同学都是到,SVM旨在将转载 2016-09-03 20:11:15 · 27488 阅读 · 3 评论 -
关于PCA解释比较好的链接
1 浅谈对主成分分析(PCA)算法的理解博主:阳光守望者Jacky Liuhttp://www.cnblogs.com/liu-jun/archive/2013/03/20/2970132.html2 PCA降维算法总结以及matlab实现PCA(个人的一点理解)博主: watkinshttp://blog.youkuaiyun.com/watkinsong/article/原创 2016-09-03 19:50:38 · 508 阅读 · 0 评论 -
opencv 里svm调用代码
CvSVM svm; CvSVMParams param; CvTermCriteria criteria; criteria = cvTermCriteria( CV_TERMCRIT_EPS, 1000, FLT_EPSILON ); param = CvSVMParams( CvSVM::C_SVC, CvSVM::RBF,原创 2016-10-10 09:40:11 · 836 阅读 · 0 评论 -
各种算法比较好的链接
1 LBP算子介绍 http://huhuixuefei.blog.163.com/blog/static/6521130820125793942727/ 2 Local Binary PatternsBy Philipp Wagnerhttp://www.bytefish.de/blog/local_binary_patterns/稀疏表示1 人脸识别原创 2016-09-25 15:30:47 · 531 阅读 · 0 评论 -
opencv中各种机器算法的调用
在opencv3.0中,提供了一个ml.cpp的文件,这里面全是机器学习的算法,共提供了这么几种:1、正态贝叶斯:normal Bayessian classifier 我已在另外一篇博文中介绍过:在opencv3中实现机器学习之:利用正态贝叶斯分类2、K最近邻:k nearest neighbors classifier3、支持向量机:support vectors转载 2016-10-20 20:29:31 · 2340 阅读 · 0 评论 -
win7系统在Excel2007柱状图中添加各类条形填充的方法
具体方法如下: 1、在百度搜索栏输入【patternui.zip 下载】,下载并解压; 2、将解压文件【PatternUI.xlam】复制在【C:Program FilesMicrosoft OfficeOffice12ADDINS】; 3、打开Excel2013,双击ADDINS文件夹中【PatternUI.xlam】,在Excel中创建柱状转载 2016-11-30 15:35:46 · 3411 阅读 · 0 评论 -
SVM支持向量机
作者:咕唧咕唧liukun321来自:http://blog.youkuaiyun.com/liukun321先来看一下什么是SVM(支持向量机)SVM是一种训练机器学习的算法,可以用于解决分类和回归问题,同时还使用了一种称之为kernel trick(支持向量机的核函数)的技术进行数据的转换,然后再根据这些转换信息,在可能的输出之中找到一个最优的边界(超平面)。简单来说,就是做一转载 2016-11-24 10:02:54 · 742 阅读 · 0 评论 -
KNN的一些总结
什么是KNN算法呢?顾名思义,就是K-Nearest neighbors Algorithms的简称。我们可能都知道最近邻算法,它就是KNN算法在k=1时的特例,也就是寻找最近的邻居。我们从名字可以知道我们要寻找邻居,但是为什么要寻找邻居,如何选取邻居,选取多少邻居,怎么样去寻找我们想要的邻居,以及如何利用邻居来解决分类问题这是KNN算法需要解决的几大问题,好了闲话不多说,进入正题。 首先转载 2016-11-24 16:22:10 · 540 阅读 · 0 评论 -
SVM怎么用
Ptrml::SVM> svm = ml::SVM::create();// edit: the params struct got removed,// we use setter/getter now:svm->setType(ml::SVM::C_SVC);svm->setKernel(ml::SVM::POLY);svm->setGamma(3); Mat trainData转载 2016-11-25 10:18:09 · 827 阅读 · 0 评论 -
LBP uniform pattern
LBP的变形算法中有一种很重要的,就是uniform pattern一直不很理解,现在又逼到眼前了,就看了一下其实很简单,就是按跳变的次数区分。定义U来表示跳变的次数,那么0000 0000序列,U=0;00110011序列,U=3 我写了个程序统计了一下U的直方图(手算实在捣鼓不清楚了,=。=) /// uniform patter转载 2016-11-25 20:36:01 · 3190 阅读 · 0 评论 -
HOF特征
转自:http://blog.youkuaiyun.com/u013089961/article/details/44981815点击打开链接HOF(Histogramsof Oriented Optical Flow)与HOG类似,是对光流方向进行加权统计,得到光流方向信息直方图。通常用于动作识别中。由于目标的尺寸会随着时间发生变化,相应的光流特征描述子的维度也会变化,同时,光流的计算对背景噪声转载 2016-12-21 11:13:13 · 594 阅读 · 0 评论 -
SVM入门(一)至(三)Refresh
(一)SVM的八股简介http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[转载 2016-05-31 19:13:21 · 302 阅读 · 0 评论 -
再谈协方差矩阵之主成分分析
http://pinkyjie.com/2011/02/24/covariance-pca/自从上次谈了协方差矩阵之后,感觉写这种科普性文章还不错,那我就再谈一把协方差矩阵吧。上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角——主成分分析(Principal Compon转载 2016-06-19 16:30:21 · 4603 阅读 · 3 评论 -
浅谈协方差矩阵
转自 http://pinkyjie.com/2010/08/31/covariance/今天看论文的时候又看到了协方差矩阵这个破东西,以前看模式分类的时候就特困扰,没想到现在还是搞不清楚,索性开始查协方差矩阵的资料,恶补之后决定马上记录下来,嘿嘿~本文我将用自认为循序渐进的方式谈谈协方差矩阵。统计学的基本概念学过概率统计的孩子都知道,统计里最基本的概念就是转载 2016-06-19 16:07:46 · 439 阅读 · 0 评论 -
SVM入门(八)松弛变量
现在我们已经把一个本来线性不可分的文本分类问题,通过映射到高维空间而变成了线性可分的。就像下图这样: 圆形和方形的点各有成千上万个(毕竟,这就是我们训练集中文档的数量嘛,当然很大了)。现在想象我们有另一个训练集,只比原先这个训练集多了一篇文章,映射到高维空间以后(当然,也使用了相同的核函数),也就多了一个样本点,但是这个样本的位置是这样的: 就是图中黄色转载 2016-05-31 20:29:43 · 624 阅读 · 0 评论 -
SVM入门(七)为何需要核函数
生存?还是毁灭?——哈姆雷特可分?还是不可分?——支持向量机之前一直在讨论的线性分类器,器如其名(汗,这是什么说法啊),只能对线性可分的样本做处理。如果提供的样本线性不可分,结果很简单,线性分类器的求解程序会无限循环,永远也解不出来。这必然使得它的适用范围大大缩小,而它的很多优点我们实在不原意放弃,怎么办呢?是否有某种方法,让线性不可分的数据变得线性可分呢?有!其思想说来也转载 2016-05-31 20:18:12 · 339 阅读 · 0 评论 -
SVM入门(六)线性分类器的求解——问题的转化,直观角度
http://www.blogjava.net/zhenandaci/archive/2009/03/01/257237.html让我再一次比较完整的重复一下我们要解决的问题:我们有属于两个类别的样本点(并不限定这些点在二维空间中)若干,如图,圆形的样本点定为正样本(连带着,我们可以把正样本所属的类叫做正类),方形的点定为负例。我们想求得这样一个线性函数(在n维空间中的转载 2016-05-31 20:12:50 · 495 阅读 · 0 评论 -
SVM入门(五)线性分类器的求解——问题的描述Part2
从最一般的定义上说,一个求最小值的问题就是一个优化问题(也叫寻优问题,更文绉绉的叫法是规划——Programming),它同样由两部分组成,目标函数和约束条件,可以用下面的式子表示:(式1)约束条件用函数c来表示,就是constrain的意思啦。你可以看出一共有p+q个约束条件,其中p个是不等式约束,q个等式约束。关于这个式子可以这样来理解:式中的x是自变量,但不限定它的维转载 2016-05-31 20:11:33 · 360 阅读 · 0 评论 -
SVM入门(四)线性分类器的求解——问题的描述Part1
上节说到我们有了一个线性分类函数,也有了判断解优劣的标准——即有了优化的目标,这个目标就是最大化几何间隔,但是看过一些关于SVM的论文的人一定记得什么优化的目标是要最小化||w||这样的说法,这是怎么回事呢?回头再看看我们对间隔和几何间隔的定义:间隔:δ=y(wx+b)=|g(x)|几何间隔: 可以看出δ=||w||δ几何。注意到几何间隔与||w||是成反比的,因此转载 2016-05-31 19:53:56 · 365 阅读 · 0 评论 -
Matlab中图像梯度的计算方式
在matlab中可以使用gradient来计算一幅图像的梯度,它的计算方式是这样的:例子:A是这样一个3*3的矩阵:7 5 31 2 38 5 3那么使用gradient(A)后会得到两个值是个对dF/dx,横向的求偏导,也就是横向的梯度,即左右的梯度;以及dF/dy,纵向偏导,纵向的梯度,也就是上下的梯度。matlab的实现方式是:横向梯转载 2016-03-02 15:14:49 · 35500 阅读 · 5 评论 -
数字图像噪声的分类
数字信号处理的每个过程差不多都会有噪声出现,而最终得到的图像是噪声与信号的各种作用以后末级产生,噪声处理可以是最后统一处理也可是各个过程的分批处理,所以对噪声的产生以及分类的了解是很有必要的。 一、按产生的原因分类 原因有两类,外部原因和内部原因,这种分类下每种原因多由若干类型的噪声组成,如 外部噪声即指系统外部干扰以电磁波或经电源串进系统内部而引起的噪声。如电转载 2015-11-02 19:00:07 · 2176 阅读 · 0 评论 -
图像处理基础(二)
1增强复原图像增强的目标是改进图片的质量,例如增加对比度,去掉模糊和噪声,修正几何畸变等;图像复原是在假定已知模糊或噪声的模型时,试图估计原图像的一种技术。图像增强按所用方法可分成频率域法和空间域法。前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。转载 2015-10-29 20:12:32 · 943 阅读 · 0 评论 -
图像处理基础知识(一)
1 灰度图像,灰度级,灰度值,灰度变化率,灰度直方图灰度图像是每个像素只有一个采样颜色的图像。灰度级:表示灰度图像的量的层次范围。灰度值:表示灰度图像单个像素点的亮度值。灰度分辨率:指单位幅度上的灰度级数。灰度直方图:是灰度级的函数,描述的是图像中具有该灰度级的像素个数,横坐标是灰度级,纵坐标是该灰度出现的频率。2 图像的取样和量化 3 像素与分辨率像素:图片由多少转载 2015-10-29 20:04:08 · 1150 阅读 · 0 评论 -
图像处理中的傅立叶变换
傅立叶变换在图像处理中有非常非常的作用。因为不仅傅立叶分析涉及图像处理的很多方面,傅立叶的改进算法,比如离散余弦变换(DCT),gabor与小波(WT)在图像处理中也有重要的分量。印象中,傅立叶变换在图像处理以下几个话题都有重要作用:1.图像增强与图像去噪绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频噪声; 边缘也是图像的高频分量,可以通过添加高频分量来增强原始图像的边缘;转载 2015-11-11 10:32:15 · 1585 阅读 · 0 评论 -
SVM入门(九)松弛变量(续)
接下来要说的东西其实不是松弛变量本身,但由于是为了使用松弛变量才引入的,因此放在这里也算合适,那就是惩罚因子C。回头看一眼引入了松弛变量以后的优化问题:注意其中C的位置,也可以回想一下C所起的作用(表征你有多么重视离群点,C越大越重视,越不想丢掉它们)。这个式子是以前做SVM的人写的,大家也就这么用,但没有任何规定说必须对所有的松弛变量都使用同一个惩罚因子,我们完全可以给每一个离群转载 2016-05-31 20:32:48 · 493 阅读 · 0 评论 -
SVM入门(十)将SVM用于多类分类
从 SVM的那几张图可以看出来,SVM是一种典型的两类分类器,即它只回答属于正类还是负类的问题。而现实中要解决的问题,往往是多类的问题(少部分例外,例如垃圾邮件过滤,就只需要确定“是”还是“不是”垃圾邮件),比如文本分类,比如数字识别。如何由两类分类器得到多类分类器,就是一个值得研究的问题。还以文本分类为例,现成的方法有很多,其中一种一劳永逸的方法,就是真的一次性考虑所有样本,并求解一个多转载 2016-05-31 20:36:08 · 387 阅读 · 0 评论 -
C++读取特定路径下文件目录及文件名称
原文地址 :http://www.cnblogs.com/tgyf/p/3839894.html 主要用到了以下几个头文件(类):io.h, fstream, string。 1、读取某给定路径下所有文件夹与文件名称,并带完整路径。代码如下: 1 void getAllFiles( string path, vectorstring>& files)转载 2016-06-04 16:53:20 · 4719 阅读 · 0 评论 -
机器学习算法原理与实践(二)、meanshift算法图解以及在图像聚类、目标跟踪中的应用
【原创】Liu_LongPo 转载请注明出处 【优快云】http://blog.youkuaiyun.com/llp1992最近在关注跟踪这一块的算法,对于meanshift的了解也是来自论文和博客,本博客将对meanshift算法进行总结,包括meanshift算法原理以及公式推导,图解,图像聚类,目标跟踪中的应用以及优缺点总结。算法原理meanshift算法其实通过名转载 2016-06-17 15:48:57 · 3548 阅读 · 0 评论 -
学习OpenCV——HoG特征详解(特征点篇)
HOG即histogram of oriented gradient, 是用于目标检测的特征描述子,该技术将图像局部出现的方向梯度次数进行计数,该方法和边缘方向直方图、scale-invariant feature transform类似,不同的是hog的计算基于一致空间的密度矩阵来提高准确率。Navneet Dalal and Bill Triggs首先在05年的CVPR中提出HOG,用转载 2016-06-13 19:46:45 · 1114 阅读 · 0 评论