opencv
jiajiadejiali21
这个作者很懒,什么都没留下…
展开
-
opencv在vc10中的配置
opencv在vc10中的配置:1.安装opencvsdk2.在环境变量Path中添加:....opencv\build\x86\vc10\bin; (32位,64位是x64)3.添加通用配置: (1)新建一个vc工程 (2)在属性编辑器中的Microsoft.Cpp.Win32.userDirectories上右键----》属性 (3)vc++目录---》原创 2016-03-01 15:47:55 · 1217 阅读 · 0 评论 -
opencv文件读写(二)使用多种方式及用法
//---------------{}的使用------------------- //总的来说就是一个映射加了一个若干个小的映射 FileStorage filefr("mydata.yml",FileStorage::WRITE); file<<"hello"; //建立hello的标签 file<<"{"<<"count"<<count<<"id"<<2<<"name"<<"jiaj原创 2016-05-01 22:30:44 · 437 阅读 · 0 评论 -
自定义数据结构使用sort函数排序
//总的来说就是使用sort函数来排序,在使用自定义数据类型时指定比较规则就可以了#include#include#include#include //算法头文件 using namespace std;typedef struct node{ double data; int id;}NODE; //自定义节点bool comp(NODE a,NODE b)原创 2016-05-02 14:42:54 · 2159 阅读 · 0 评论 -
仿射变换和透视变换
仿射变换我的理解就是图像在一个二维平面上进行不同程度的旋转或者拉伸,但是无论怎么变,他的图像都是平行四边形的,它的变换函数是一个2*3的矩阵。透视变换是一个观察者在3维空间中以不同的角度来观察这个图像,所以这个图像就是投影在观察者那个二维平面上的影像,它的变换函数是3*3,或者4*4的矩阵。仿射变换代码如下:#include#includeint main(){ CvPoint原创 2016-04-21 18:07:37 · 814 阅读 · 0 评论 -
透视变换和仿射变换(下)
其实说白了仿射变换是透视变换的特殊形式,只不过透视变换的角度扩展到了z坐标,相当于从空间中另一个平面看这个图,仿射变换在同一个平面不同角度看同一个图,一下是透视变换的一个例子,通过一个原图(一个原图,一个做了相应变换的图),来确定变换的方位,思想还是上节的思想:1.通过原图的几个点和变换图中对应的几个点的关系,计算出变换矩阵(这里对应点是利用surf算法计算的)2.然后利用原图的四个点通过原创 2016-04-21 22:29:49 · 896 阅读 · 0 评论 -
灰度共生矩阵的生成和理解
在网上看了很多灰度共生矩阵生成的例子感觉都没有说明白,要不就直接上结果要不就给一堆看不懂的代码和公式,后来看了matlab中的介绍就明白了,其实很简单,仔细把下面的看三遍就理解怎么来的了!GLCM表其实就是所有像素可能的组合,比如,GLCM(1,1)就是I中像素值为1和1的组合,GLCM(4,5)就是I中像素4和像素5的组合,GLCM(i,j)的值呢就是I中像素为i,像素为j的有有原创 2016-05-07 12:40:22 · 9207 阅读 · 3 评论 -
gl.h文件错误(折腾了两天竟然是这个问题)
gl.h文件错误2013年09月20日 ⁄ 综合 ⁄ 共 1919字⁄ 字号 小 中 大 ⁄ 评论关闭头文件只有#include //OpenGL Header#include //GLu32 Header时候出现以下错误1>c:\program files (x86)\microsoft visual studio 10.0\vc\转载 2016-04-24 12:36:59 · 15436 阅读 · 6 评论 -
两种用自定义数据初始化Mat
虽然有很多方法都可以初始化mat,但是我感觉比较好的容易记住和理解的是下面两种,记录一下。#include#include#include//#includeusing namespace std;using namespace cv;int main(){ //方法一 cv::Matx33f m(1,2,3, //采用定义好的矩阵3*3的 9,9,9,原创 2016-04-24 21:06:23 · 1623 阅读 · 0 评论 -
opencv中线性判别分析(LDA)的使用
在上网看到比较少的opencv中如何使用LDA,找了别人博客中的一段,但是发现其中最后的计算结果有错误,翻看opencv源码,进行了修正,供入门使用参考。说明:一共6条数据,2类;LDA初始化函数默认数据条目是行排列的,当然自己也可以设置_dataAsRow参数为1来进行列排列。构造函数参数说明: LDA(const Mat& src, vector labels,int num_原创 2016-10-15 12:02:48 · 3331 阅读 · 0 评论 -
kmean算法理解
先放一段其他大神的理解,讲的已经很清楚了,后面结合代码说说我的理解在数据挖掘中,K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。问题K-Means算法主要解决的问题如下图所示。我们可以看到,在图的左边有一些点,我们用肉眼可以看出来有四个点群,但是我们怎么通过计算机程序找出这几个点群来呢原创 2016-05-07 22:05:13 · 1973 阅读 · 1 评论 -
opencv中自定义数据结构读写yml
#include#include#includeusing namespace std;using namespace cv;typedef struct node{double data;int id;}NODE;void writenode(FileStorage &file,NODE &mynode){file//由于是嵌套的结构所原创 2016-05-01 18:02:52 · 968 阅读 · 0 评论 -
OpenCV中对数组(矩阵)的操作的函数表
add矩阵加法,A+B的更高级形式,支持maskscaleAdd矩阵加法,一个带有缩放因子dst(I) = scale * src1(I) + src2(I)addWeighted矩阵加法,两个带有缩放因子dst(I) = saturate(src1(I) * alpha + src2(I) * beta + gamma)subtract矩阵减法转载 2016-04-09 18:33:40 · 453 阅读 · 0 评论 -
remap的困惑说明
在使用remap函数时一直没明白那个map_x,和map_y一直搞混了,通过实验来记录一下以防以后忘记了先看一段代码#include#include#includeusing namespace std;using namespace cv;int main(){Mat srcImage=imread("1.jpg",1);imshow("yuant原创 2016-03-16 12:22:54 · 2785 阅读 · 3 评论 -
opencv直方图均衡化图像
思想:将每一个通道都分离出来本别进行直方图均衡化#include#include#include#includeusing namespace cv;using namespace std;int main(){Mat srcImage,dstImage;vectorchannels;srcImage=imread("buzu.jpg",1);spl原创 2016-03-16 15:16:04 · 342 阅读 · 0 评论 -
surf特征提取后在两幅图像中绘制对应线条
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include#include#include#include#include #include #include using namespace cv;using namespace std;///原创 2016-03-22 15:40:47 · 1494 阅读 · 0 评论 -
ORB+暴力匹配
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include#include#include#include#include #include #include using namespace cv;using namespace std;int原创 2016-03-23 17:04:28 · 1329 阅读 · 0 评论 -
QT中配置opencv可能的问题
之前一直是拿opecv在qt控制台写opencv程序,配置很简单只需要在工程文件中添加如下代码就行,具体需要看opencv安装的位置和版本INCLUDEPATH+=E:\opencv\install\include\opencv\ E:\opencv\install\include\opencv2\ E:\op原创 2016-04-06 14:08:07 · 587 阅读 · 0 评论 -
opencv环境在QT的配置
这几天一直在折腾好多编译器和环境,本来之前有配好的,但是因为版本的事要重新弄,结果一弄就是两天!关键是每次cmake都出问题,要不就是QT上无法使用,下面来重新记录下,这是看别人的。本机已经安装QT 5.4.0安装在: E:\Qt\QT-5.4.0-Rel-MinGW491QT下载地址: http://download.qt-project.org/official_release转载 2016-04-07 13:26:43 · 513 阅读 · 0 评论 -
pca的具体应用QT+OPENCV人脸主成分提取和还原
关于PCA的理论,资料很多,公式也一大把,本人功底有限,理论方面这里就不列出了。下面主要从应用的角度大概来讲讲具体怎么实现数据集的降维。把原始数据中每个样本用一个向量表示,然后把所有样本组合起来构成一个矩阵。当然了,为了避免样本的单位的影响,样本集需要标准化。求该矩阵的协防差矩阵(关于协方差的介绍可以参考我的博文:一些知识点的初步理解_4(协方差矩阵,ing...))。转载 2016-04-07 15:27:17 · 765 阅读 · 0 评论 -
opengcv+opengl配置
这一周似乎都在配置环境,安卓,opencv+QT,opencv+vs,接着就是今天的opencv+opengl了,根据网上的介绍,也结合自己的实际操作来记录一下,还是挺曲折的,但是实际是很简单的。1.有的VS没有gl,比如我的,不知为什么,我用的vs10,所以先安装了openglhttp://jingyan.baidu.com/article/b0b63dbfd1c08f4a4830703原创 2016-04-12 21:40:12 · 1428 阅读 · 0 评论 -
关于add和Floodfill的记录
今天做了一个项目总结,本来很快能结束的,结果因为这两个函数不理解耽误了很长时间,以此记录一下。add函数:C++: void add(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1)这是新版的函数之前以为这个函数不能同C版本的兼容一直原创 2016-04-09 18:27:08 · 487 阅读 · 0 评论 -
利用opencv函数计算图像的梯度幅度和梯度方向
没有难点,就是为了方便使用记录,自己实现的话比较麻烦,直接使用内置函数计算比较省心。#include#include#includeusing namespace std;using namespace cv;int main(){ //*****注意:数据类型非常非常重要!!数据类型不一致,程序不报错,但是计算结果严重错误 //如果是float类型就全是float,doub原创 2016-10-19 16:38:07 · 13385 阅读 · 1 评论