opencv基本函数
mikedadong
世界上美丽的情诗有很多很多,但是最幸福的一定是这一句——执子之手,与子偕老。
展开
-
Opencv学习笔记-常用函数
opencv在读取图片或者文件时候的路径和电脑有区别:需要将“\”改为“/” ;cvSize:OpenCV的基本数据类型之一。表示矩阵框大小,以像素为精度。与CvPoint结构类似,但数据成员是integer类型的width和height。在定义CvSize结构变量时,可以按照如下方式定义: CvSize size=cvSize(400,300); /* 定义宽为400象素,高为300象素的原创 2015-12-14 19:24:00 · 490 阅读 · 0 评论 -
opencv保存mat矩阵为TXT、XML、xls等文档的方法
opencv保存mat矩阵为TXT、XML、xls等文档的方法现在的方法主要是用类Filestorage。具体解释可以看由浅入深学习C++471页或者opencv_tutorials 181页等等 `#include<opencv2\opencv.hpp> #include<time.h> using namespace cv; using namespace std;原创 2016-04-12 14:38:25 · 7241 阅读 · 0 评论 -
win10的visual studio 2015 安装opencv3.1,并且编写demo人脸检测
Face Detection Using OpenCVWhat is OpenCVOpenCV (Open Source Computer Vision) is released under a BSD license and hence it’s free for both academic and commercial use. It has C++, C, Python and Java in原创 2016-11-27 16:19:25 · 2087 阅读 · 0 评论 -
opencv图像拼接,即把两个矩阵合并为一个(vconcat和hconcat)、Mat成员函数size()
Mat类的成员函数 size()当我们用size()获取一个矩阵的行数和列数时,要注意这个函数返回的结果行和列是相反的。如Mat ab(30,15,Cv_32fC1);ab.rows;返回的结果将是(15,30);opencv如何将两个矩阵按行或者按列合并在Matlab中将两个矩阵合并非常方便,按行合并,如A=[B C]。按列合并如A=[B ;C]。在opencv中貌似并不存在这样的函数,因原创 2016-05-03 16:20:37 · 34568 阅读 · 3 评论 -
opencv类:PCA降低数据的维度(主成分分析法的学习)
PCA降维的学习以下代码是在opencv中的函数pca.cpp的基础上进行了一些更改,主要更改体现在读取降维样本方面,并对代码加上了一些自己理解的注释:`#include <iostream>#include <fstream>#include <sstream> #include <opencv2/core/core.hpp>#include <opencv2/highgui/high原创 2016-04-19 15:29:41 · 2684 阅读 · 4 评论 -
提取出图像中感兴趣的部分,cvSetImageRoi已经过时,更牛逼Rect解决问题
在做人脸检测的时候,需要从摄像头拍摄视频中把检测到的人脸区域提取出来,网上找了很多博客,发现多数都是在用cvSetImageRoi函数, 使用的时候发现这个函数支持IplImage类,不能使用Mat,所以转换来转换去很麻烦,最后在国外网站(stack overflow)发现了一个用Rect 提取的方法。举个例子来说明: Mat img=imread("D:\\1研究生\\Faci原创 2016-04-27 21:47:04 · 4971 阅读 · 2 评论 -
opencv神经网络训练时的目标矩阵构建方法
在做模式识别时,应用算法神经网络或者SVM训练时,要用到目标数据,每个样本对应一个目标向量,因此142个训练样本就要有142个目标向量,想了很久,终于构建出来了,构建的矩阵为142*7,目标对应的节点为1,其余为零 方法如下: Mat labels=Mat::zeros(142,7,CV_8SC1); Mat a=labels.rowRange(原创 2016-04-12 14:42:50 · 1190 阅读 · 0 评论 -
opencv获取矩阵某位置元素值的几种简便方法
获取某点像素值的方法在输出像素值,不要直接用cout输出,将获得的像素幅值给一个变量,用cout输出这个变量。 1、ptr方法 mat类提供了ptr函数获取任意行的首地址,例如ptr[i]返回第i行的首地址。 例子:获取坐标【5,5】的像素值 Mat TrainData=imread(“C:\Users\andy\Desktop\特征图片.jpg”,1); uchar *d原创 2016-04-12 14:24:48 · 15345 阅读 · 6 评论 -
opencv学习笔记:一些函数、类的使用方法
sprintf函数功能把格式化的数据写入某个字符串缓冲区。1.头文件 stdio.h2.原型int sprintf( char *buffer, const char *format, [ argument] … );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]...:可选参数,可以是任何类型的数据。返回值:字符串原创 2016-03-24 08:55:19 · 4387 阅读 · 0 评论 -
Opencv2.4.9+win7+VS2012一次性配置的方法--通过建立属性表永久配置
Opencv的配置对于初学者很麻烦,网上的教程也非常多,针对不同的操作系统、opencv版本、Visual studio版本都有相应的教程,但即便是按照教程一步一步来,仍然难免出错,很多教程还是一次性的配置,重新建立项目之后,还要花时间配置。琢磨了好久,发现可以通过属性表配置,现将方法记录下来,分享给网友。我的opencv安装路径为:D:\opencv,不同的路径下面设置注意按照自己的路径来更改。原创 2015-12-25 21:41:41 · 4151 阅读 · 0 评论 -
opencv关于cvNormalize归一化的用法
http://www.opencv.org.cn/forum/viewtopic.php?t=7577Normalize根据某种范数或者数值范围归一化数组.void cvNormalize( const CvArr* src, CvArr* dst,double a=1, double b=0, int norm_type=CV_L2,const CvArr* mask转载 2015-12-03 19:45:48 · 1436 阅读 · 1 评论 -
opencv关于cvNormalize归一化的用法
转载自:http://blog.sina.com.cn/s/blog_7155fb1a0100slzp.html Normalize 根据某种范数或者数值范围归一化数组. void cvNormalize( const CvArr* src, CvArr* dst, double a=1, double b=0, int norm_type=CV_L2, const CvArr* mask转载 2015-12-03 13:37:52 · 1614 阅读 · 0 评论 -
指针笔记
指向数组的指针关于数组首先想要说明的一点是数组明其实就是数组的首地址,比如: #include using namespace std; int main() { int array[10]; cout <用指针指向数组其实就是让指针指向数组的首地址。数组指针的定义: int array[5]; int *p;原创 2015-12-18 13:05:43 · 330 阅读 · 0 评论 -
opencv学习笔记-常用函数二
cvSaveImage函数用途:保存图像到指定文件用法: int cvSaveImage( const char* filename, const CvArr* image ); 参数含义:filename 为文件名,图像格式的依赖于filename的扩展名。 image为要保存的图像 只有8位单通道或者3通道(通道顺序为’BGR’ )可以使用这个函数保存。如果格原创 2015-12-15 13:05:49 · 447 阅读 · 0 评论 -
opencv打开matlab保存的txt文件,并赋值为Mat矩阵
将matlab的矩阵保存为TXT,并用opencv读取,然后保存为Mat类型做图像分类,matlab提取的特征用于训练和测试神经网络,想要用opencv打开,想了非常久,自己都没有做出来,刚开始想用XML文档作为介质进行传输,发现比较困难,网上的方法试了试没有成功,请来了一个大神师兄,不得不佩服,几分钟用txt给我搞定了。代码如下:#include<opencv2\opencv.hpp>#inc原创 2016-04-12 14:29:49 · 3560 阅读 · 2 评论