OpenCV
文章平均质量分 92
小海歌哥
这个作者很懒,什么都没留下…
展开
-
Visual Studio+VAssistX自动添加注释,函数头注释,文件头注释
1. 增加函数头注释右击函数名,然后依次点击“Refacto”–>“Document Method”,这个时候函数头注释就会蹦出来,不过这个注释的格式是默认的,想修改注释格式,可以通过以下方法。点击 “VAssistX”–>“Visual VAssistX Options”然后选择Suggestions,再点击“Edit VA Snippets”。在打开的窗口中选择Refactor转载 2015-05-02 13:06:15 · 1253 阅读 · 0 评论 -
OpenCV_基于混合高斯模型GMM的运动目标检测
OpenCV的video module中包含了几种较为常用的背景减除方法,其中混合高斯模型(Gaussian of Mixture Models, GMM)方法效果较好。 常用的目标检测方法:1)帧间差分;2)背景减除;其中背景减除方法的关键在于建立一个鲁棒的背景模型(背景图像),常用的建立背景模型方法有:1)均值法;2)中值法;3)滑动平均滤波法;转载 2015-09-10 20:06:13 · 3834 阅读 · 0 评论 -
Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV
原网址:http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.htmlPS:请参考最新的《Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)》,绝对给力!由于Opencv版本升级,大多人开始用新版本VS,等等,这篇已经过时了转载 2015-09-10 22:49:52 · 551 阅读 · 0 评论 -
背景提取—修改高斯混合模型BackgroundSubtractorMOG2中的参数及使用
使用opencv开源代码,然后改成自己需要的参数,简单好用,直接复制下列文件,新建工程就可以使用 MOG_BGS3.hpp 文件#include "opencv2/core/core.hpp"#include #include"cv.h"using namespace cv;namespace OurMogBgs{class CV_EXPORTS_W Backgro原创 2015-09-11 17:05:10 · 9802 阅读 · 0 评论 -
双目相机--双目视差与深度距离关系推导详解
相机成像的模型如下图所示: P为空间中的点,P1和P2是点P在左右像平面上的成像点,f是焦距,OR和OT是左右相机的光心。由下图可见左右两个相机的光轴是平行的。XR和XT是两个成像点在左右两个像面上距离图像左边缘的距离。 若两个相机已经校正完成即达到极线平行,两条光轴方向也平行。则视差和物体深度的关系式如下:转载 2015-11-08 20:37:44 · 37840 阅读 · 9 评论 -
OpenCV参考手册之Mat类详解1
类 Mat导言OpenCV c + + n 维稠密数组类类 CV_EXPORTS Mat{public:/ / … …很多的方法...... int flags;(Note :目前还不知道flags做什么用的)//!数组的维数,> = 2int dims ;//!行和列的数量或 (-1,-1) 此时数组已超过转载 2015-09-24 08:44:07 · 1022 阅读 · 0 评论 -
OpenCV参考手册之Mat类详解2
Mat::~MatMat的析构函数。C++: Mat::~Mat()析构函数调用Mat::release()。Mat::operator =提供矩阵赋值操作。C++: Mat&Mat::operator=(const Mat& m)C++: Mat&Mat::operator=(const MatExpr_Base& expr)C++: Mat&Mat::opera转载 2015-09-24 09:12:06 · 503 阅读 · 0 评论 -
opencv中的一些矩阵的简单操作函数
二、矩阵操作(拷贝、洗牌、局部访问): src.copyTo(dst)把src矩阵中的数据拷贝到dst。 src.convertTo(dst, type, scale, shift)缩放并转换到另外一种数据类型:dst:目的矩阵type:需要的输出矩阵类型,或者更明确的,是输出矩阵的深度,如果是负值(常用-1)则输出矩阵和输入矩阵类型转载 2015-09-24 09:14:35 · 1024 阅读 · 0 评论 -
计算机视觉基础1——视差与深度信息
资料来源:Robert Collins,CSE486, Penn State第8讲Stereo Vision深度信息感知是人类产生立体视觉的前提。生理过程一定是相当复杂,此处,我们只从物理角度,并采用数学的方法来讨论。Inferring depth from images taken at the same time by two or more cameras.转载 2015-11-14 09:10:57 · 2837 阅读 · 0 评论 -
Canny边缘检测算子
背景简述Canny提出一种新的边缘检测方法[1][2],它对受白噪声影响的阶跃型边缘是最优的。Canny检测子的最优性与三个标准有关:第一、检测标准:不失去重要的边缘,不应有虚假的边缘;第二、定位标准:实际边缘与检测到的边缘位置之间的偏差最小;第三、单位应标准:将多个响应降低为单个边缘响应。这一点被第一个标准部分地覆盖了。因为当有两个响应对应于单个边缘时,其中之一应该被是虚假的。这第三转载 2015-11-23 20:43:55 · 2926 阅读 · 0 评论 -
OpenCV二值化方法
网名:无名 QQ:16349023 email:[email protected]以前很少写教程,写的可能有点乱希望大对家有帮助threshold 方法是通过遍历灰度图中点,将图像信息二值化,处理过后的图片只有二种色值。其函数原型如下:[cpp] view plaincopydouble threshol转载 2015-11-26 09:48:44 · 18439 阅读 · 0 评论 -
otsu算法实现(基于opecv2.0版本)
otsu是nobuyuki otsu于1979年提出的一种寻找灰度图像的最佳阈值的算法。其论文名字是《A Threshold Selection Method from Gray-Level Histograms》,用google可以找到pdf版,建议大致看一下论文,再编程实现,这样容易把握重点。我刚开始是看别人对otsu的介绍,然后编程实现,但每次求出的阈值都无法达到理想效果。被逼无奈,转载 2015-12-04 09:34:23 · 573 阅读 · 0 评论 -
OpenCV中的图像修复算法
Opencv中有图像修复的函数,其算法参考文献为Alexandru Telea 于2004年发表于Journal of Graphic Tools上的“An Image Inpainting Technique Based On the Fast Marching Method”。 该算法的原理如下:转载 2016-03-31 09:52:27 · 2921 阅读 · 0 评论 -
VSRS_3.5使用过程中出现的问题解决
网上可以下载到相应的软件:http://download.csdn.net/download/putong2006/3452765下面具体说下可能会遇到的问题解决方法: 1.opencv的配置问题,大家可以参看我之前的文章 http://blog.csdn.net/xiaohaijiej原创 2015-04-29 19:38:24 · 3876 阅读 · 21 评论 -
通过使用VSRS3.5+opencv2.4.9进行深度图和彩色图的虚拟视点绘制
通过使用VSRS3.5+opencv2.4.9进行深度图和彩色图的虚拟视点绘制: 以下是关键步骤,为要做3D虚拟视点绘制的同学开启第一扇门。 我个人使用的visual studio2013,VSRS3.5(绘制工程代码),opencv2.4.9. 一:打开VSRS3.5文件夹:如下图,点击windows:转载 2016-09-13 19:11:35 · 1161 阅读 · 4 评论 -
图像形态学 - 图像金字塔(cvPyrDown、cvPyrUp)
图像金字塔被广泛应用于各种视觉应用中。图像金字塔是一个图像集合,集合中图像都源于同一个原始图像,而且是通过对原始图像连续降采样获得,直到达到某个中止条件才停止降采样。(当然,降为一个像素肯定是中止条件) 本例程用到两个库函数cvPyrDown、cvPyrUp。PyrDown图像的下采样 void cvPyrDown( const CvArr* src, CvArr* dst转载 2015-08-13 09:03:04 · 536 阅读 · 0 评论 -
OpenCv中图像PSNR和SSIM的计算
double psnr(Mat &I1, Mat &I2){ Mat s1; absdiff(I1, I2, s1); s1.convertTo(s1, CV_32F); s1 = s1.mul(s1); Scalar s = sum(s1); //计算每个通道的和 double sse = s.val[0] + s.val[1] + s.val[2]; if( sse <= 1e原创 2015-08-20 21:50:50 · 9322 阅读 · 0 评论 -
读取、修改、保存图像-----学习记录(1)
#include "stdafx.h"#include #include using namespace cv;int main( int argc, char** argv ){ if(argc != 2) //命令参数个数 { printf("useage: %s \n ", argv[0]); //命令参数没有输入,就显示需要文件名字 return -1;原创 2015-05-02 20:19:17 · 772 阅读 · 0 评论 -
opencv图像读取,视频读取
#include "stdafx.h"#include "cv.h"#include "highgui.h"#include "cxcore.h"int main(int argc, char* argv[]){ IplImage * src1 = cvLoadImage("E:\\个人资料\\小新头像.jpg",0); IplImage * src2 = cvLoadImage(原创 2015-05-02 18:51:36 · 729 阅读 · 0 评论 -
计算机视觉基础1——视差与深度信息
资料来源:Robert Collins,CSE486, Penn State第8讲Stereo Vision深度信息感知是人类产生立体视觉的前提。生理过程一定是相当复杂,此处,我们只从物理角度,并采用数学的方法来讨论。Inferring depth from images taken at the same time by two or more cameras.转载 2015-05-05 20:22:09 · 3046 阅读 · 0 评论 -
改变图像的对比度和亮度-----学习记录(4)
#include "stdafx.h"#include "opencv2/highgui/highgui.hpp"#include "opencv2/core/core.hpp"#include "iostream"using namespace cv;using namespace std;int main(int argc, char* argv[]){ int alpha原创 2015-05-20 20:55:31 · 515 阅读 · 0 评论 -
离散傅立叶变换-----学习记录(7)
#include "opencv2/highgui/highgui.hpp"#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "iostream"using namespace cv;int main(int argc, char* argv[]){ const char原创 2015-05-27 10:56:31 · 723 阅读 · 0 评论 -
filter2D滤波处理函数-----学习记录(2)
#include "stdafx.h"#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp"using namespace cv;int main(int argc, char* argv[]){ Mat I, K,k原创 2015-05-13 22:02:52 · 946 阅读 · 0 评论 -
两幅图像求和:求混合(blending)-----学习记录(3)
#include "stdafx.h"#include #include using namespace cv;using namespace std;int main(int argc, char* argv[]){ double alpha = 0.5; double beta; double input; Mat src1, src2, dst; cout<<"S原创 2015-05-14 21:54:20 · 676 阅读 · 0 评论 -
输入输出XML和YAML文件
#include "opencv2/core/core.hpp"#include "opencv2/highgui/highgui.hpp"#include "iostream"#include "string"using namespace std;using namespace cv;class MyData{public: MyData(): A(0), X(0),原创 2015-05-28 18:03:15 · 487 阅读 · 0 评论 -
基本绘图-----学习记录(5)
#include "opencv2/highgui/highgui.hpp"#include "opencv2/core/core.hpp"#include "iostream"#define w 400using namespace std;using namespace cv;void MyEllipse( Mat, double ); //创建椭圆void MyFilledC原创 2015-05-21 21:45:07 · 456 阅读 · 0 评论 -
随机数发生器&绘制文字-----学习记录(6)
#include "opencv2/highgui/highgui.hpp"#include "opencv2/core/core.hpp"using namespace cv;#define window_high 500#define window_width 800#define NUMBER 10#define DELAY 500#define x_1 1#define x原创 2015-05-22 21:12:01 · 631 阅读 · 0 评论 -
图像滤波,均值和高斯-------学习记录(8)
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"using namespace std;using namespace cv;int DELAY_CAPTION = 1500;int DELAY_BLUR = 1000;int MAX_KERNEL_LENGTH = 31;M原创 2015-06-09 16:55:19 · 516 阅读 · 0 评论 -
图像的腐蚀和膨胀------学习记录(9)
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include #include #include using namespace std;using namespace cv;Mat src, erosion_dst, dilation_dst;int erosion_e原创 2015-06-11 16:11:18 · 470 阅读 · 0 评论 -
由RGB到HSV颜色空间的理解
1. RGB模型2. HSV模型3. 如何理解RGB与HSV的联系4. HSV在图像处理中的应用5. opencv中RGB-->HSV实现在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,三维坐标的模型形式,非常容易被理解。而HSV模型,是针对用户观感的一种颜色模型,侧重于色彩表示,什么颜色、深浅如转载 2015-07-17 16:13:30 · 526 阅读 · 0 评论 -
OpenCv中混合高斯模型的实现
////////////////////////cvCreateGaussianBGModel///////////////////////////////////////////CV_IMPL CvBGStatModel *cvCreateGaussianBGModel( IplImage*first_frame,CvGaussBGStatModelParams* parameters ){转载 2015-08-26 10:40:24 · 694 阅读 · 0 评论 -
OpenCV配置 VS2010 Win7
下载OpenCV在网站http://opencv.org/右侧,点击OpenCVfor Windows下载。1.把OpenCV-2.X.X解压并放到某个目录下,例如 D:\OpenCV 。2.对计算机右击-->属性-->高级系统设置-->高级-->环境变量如果没有这个Path变量,就自己新建一个。路径最好是复制粘贴,自己手打容易出错。不管你是原创 2015-04-10 20:03:20 · 970 阅读 · 0 评论