文档库 最新最全的文档下载
当前位置:文档库 › opencv中cvarrcvmatiplimagecvmat和cvinputarray的相关总结

opencv中cvarrcvmatiplimagecvmat和cvinputarray的相关总结

opencv中cvarrcvmatiplimagecvmat和cvinputarray的相关总结
opencv中cvarrcvmatiplimagecvmat和cvinputarray的相关总结

opencv中cvarrcvmatiplimagecvmat和cvinputarray的相关总

1.CvArr* :

[cpp] view plain copy print?typedef void CvArr;可以认为CvArr*是一个万能指针,例如某个函数参数是CvArr*,该函数内部会强制转换回该函数需要的数据类型,所以在调用该函数时,传入的参数类型就必须与该函数要求的类型一致,否则就会出错。

2.cv::Mat:

我们可以认为cv::Mat类型把向量、矩阵、图像等都统一了操作。cv::Mat有更强大的矩阵运算能力,支持常见的矩阵运算。对于图像数据的运算,将IplImage和CvMat 类型转换成cv::Mat类型可大大提高运算效率(后面会将cv::Mat与IplImage和CvMat类型之间的转换)。

2.1 cv::Mat的一些操作

[cpp] view plain copy print?cv::Mat mat = imread(const string* filename); //读取图像imshow(const string Window's name, mat); //显示图像imwrite(const string&filename, mat); //将mat图像保存到固定路径中

3.IplImage:

现在OpenCV的很多处理图像的函数中都使用IplImage* 这

个数据类型,下面是它的一些重要的操作:

[cpp] view plain copy print?IplImage* img =

cvLoadImage(PathName); //从路径中加载图像到img cvShowImage("WindowName", img); //显示图像img cvWaitKey();

//按任意键退出窗口

4.CvMat:

因为CvMat是矩阵结构,无法像IplImage和Mat一样直接读取图像数据,而是要先创建Mat类的空矩阵(cvCreateMat());再利用宏CV_MAT_ELEM()存放数据,或者提取数据。

注意:这个宏只针对单通道有用,多通道就会报错。

对于多通道的CvMat矩阵来说,要用cvSetND()对矩阵初始化,用cvGetND()来提取数据。

[cpp] view plain copy print?cvSetND(CvArr* arr, int idx0, int idy0, CvScalar value); cvSet2D(mat, 0, 0,

CvScalar(2,3,0,0)); //矩阵mat的(0,0)点的像素值为一通道2,二通道3.

5.IplImage转cv::Mat类型、CvMat转cv::Mat类型:

在VC++调用OpenCV处理图像时,经常用到的一些OpenCV 函数的形参类型可能是cv::Mat、也可能是IplImage或者

CvMat,那么在图像数据传递的过程中就需要在IplImage和CvMat与cv::Mat之间进行转换。

5.1.1 IplImage转cv::Mat类型:

[cpp] view plain copy print?Mat MatImage(IplImage* img);

//直接利用Mat定义一个Mat类矩阵,强制将括号内的IplImage*类型图像转换成Mat类 5.1.2 CvMat转cv::Mat 类型:

[cpp] view plain copy print?Mat MatImage = Mat(CvMat* img, bool = true); //当bool=true时,会将img中的数据直接深拷贝到MatImage中,而bool=false时只创建与img相同的矩阵头5.1.3 cv::Mat转CvMat类型:

[cpp] view plain copy print?CvMat CvMatImage =

CvMat(cv::Mat img); //直接将cv::Mat类型图像矩阵转换成CvMat类型 5.1.4 cv::Mat转IplImage类型:[cpp] view plain copy print?IplImage IPLimage = MatImage; 5.2 IplImage类型图像拷贝到另一个IplImage类型图像中:[cpp] view plain copy print?IplImage* img1 =

cvLoadImage(pathName, 2); //img1指针指向路径中的图像,参数=2时加载原始的灰度图IplImage* img2 = cvCloneImage(&img1); //将img1指针指向的图像引用,并复制到IplImage* img2,img2也是指向该图像的指针类型 6.OpenCV中的一些常用的函数及其参数类型

的总结:

[cpp] view plain copy print?GaussianBlur(cv::InputArray src, cv::outputArray dst, cv::Size, 0,0); //高斯滤波

通常导入的图像为cv::Mat类型,输出的高斯滤波后的图像也是cv::Mat类型图像,cv::Size通常用Size(3,3)。[cpp] view plain copy print?HoughCircles(cv::InputArray image, cv::OutputArray circles, int method, double dp, double minDist, double param1, double param2,int minRadius, int maxRadius); [cpp] view plain copy print?//通常输入图像为cv::Mat类型,输出的circles定义为vector<Vec3f> circles,用于存放找到的圆的圆心x,y坐标和圆的半径;[cpp] view plain copy print?//dp =1为最小分辨率,minDist=1为允许找到的圆的圆心之间相隔的最小距离,param1和param2根据具体图像灰度来确定最优值。

[cpp] view plain copy print?CvMat* img = cvCreateMatHeader(int rows, int cols,CV_8UC1);//CvMat* cvCreateMatHeader(); [cpp] view plain copy print?CvRect rect = cvRect(int x, int y, int width, int height); //定义矩形框的尺寸cvGetSubRect(IplImage* img,CvMat* submat, CvRect rect); //将原始IplImage*类型图像按照rect尺寸截出矩形框出来,并传给CvMat* submat输出。

[cpp] view plain copy print?GradValue_level.at<float>(0,i) = (float)CV_MAT_ELEM( *averageValue_level, float,0, i+1 )

-(float)CV_MAT_ELEM( *averageValue_level, float,0, i ); [cpp] view plain copy print?//对于CvMat*类型矩阵通过

CV_MAT_ELEM宏提取像素值或修改像素值,对于cv::Mat 类图像矩阵通过MatImage.at<type>(x,y)进行像素提取或修改像素值

[cpp] view plain copy print?rectangle(cv::Mat &img,

Rect(Point, Size(int width,int height)),cv::Scalar &color,

int thickness =1,int lineType = 8, int shift = 0); [cpp] view plain copy print?//在输入图像cv::Mat img上画出矩形框[cpp] view plain copy print?circle(cv::Mat &img, cv::Point center, int Radius,const cv::Scalar &color, int

thickness=1,int lineType =8, int shift=0); [cpp] view plain copy print?//在图像cv::Mat img上画出圆心为Point center,半径为Radius的圆。

基于OpenCV识别库的面部图像识别系统的设计

基于OpenCV识别库的面部图像识别系统的设计 本系统采用J2EE技术并以OpenCV开源计算机视觉库技术为基础,实现一套具有身份验证功能的面部图像识别信息管理系统。系统使用MySQL数据库提供数据支撑,依托于J2EE的稳定性和Java平台的可移植性使得本系统可以在各个操作系统平台中运行,同时提供在互联网中使用面部识别技术的一套较为完备的解决方案。 标签:OpenCV;人脸识别;生物学特征 引言 随着信息技术的飞速发展以及互联网的深入普及,越来越多的行业和领域使用信息技术产品以提高工作效率和管理水平。但是由于人们隐私信息的保护意识薄弱,出现了许多信息安全的问题。在人们对于信息安全越来越重视的情况下,许多技术被应用到信息安全领域中来。较为先进的技术有虹膜识别技术、遗传基因识别技术以及指纹识别技术等。而论文采用的是当前热点的面部图像识别技术。 1 系统实现算法及功能分析 1.1 面部图像的生物学特征模型的建立 本系统是利用面部图形的生物学特征来识别不同的人。由于每个人的面部图像都有各自的特征但又具有一定的通性,需要应用生物学中相关知识加以解决。可以利用已有的生物学测量手段以及现有的算法构建人的面部图像生物学特征模型(简称:面部模型),并应用于系统中,面部模型的建立为面部图像识别的功能提供实现依据。 1.2 知识特征库及面部识别引擎的建立 在前述面部模型建立完成后,需要建立相应的知识库以及面部识别引擎方可进行身份的识别。可经过大量数据的采集和分析后建立知识库,并根据知识库的特点建立相应的识别引擎。此识别引擎对外开放,在本系统中提供其它外来程序的调用接口,其它系统能够通过本接口实现识别引擎的调用实现对于面部图形的识别,从而达到识别引擎的可复用性。在技术条件允许的情况下,提供知识库的智能训练以及半自动构建支持。 1.3 面部图像的采集与预处理 本系统中采用了预留API接口,利用USB图形捕获设备采集数据图像。经过USB设备的捕获,使用JMF(Java Media Framework)来处理已捕获的图像数据,对捕获的图像进行面部图行检测和实时定位跟踪。

树莓派安装opencv

树莓派学习笔记——apt方式安装opencv 0.前言 本文介绍如何在树莓派中通过apt方式安装opencv,并通过一个简单的例子说明如何使用opencv。相比于源代码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少一些。通过apt方式安装没有自动生成opencv.pc文件,所以在编写makefile文件时不能直接使用pkg-config工具,而需要逐个指定opencv_core、opencv_imgproc 等动态链接库。 【相关博文】 【树莓派学习笔记——源代码方式安装opencv】 更多内容请参考——【树莓派学习笔记——索引博文】 1.安装opencv 开始之前进行必要的更新工作。 sudo apt-get update 安装opencv。 sudo apt-get install libcv-dev 安装过程比较缓慢,请耐心等待。 安装完成之后,opencv相关的头文件被安装到/usr/lib目录中,该目录是linux默认头文件查找路径。opencv的相关动态链接库被安装到/usr/lib目录中。这些动态链接库包括: 【opencv_calib3d】——相机校准和三维重建

【opencv_core】——核心模块,绘图和其他辅助功能 【opencv_features2d】——二维特征检测 【opencv_flann】——快速最邻近搜索 【opencv_highgui】——GUI用户界面 【opencv_imgproc】——图像处理 【opencv_legacy】——废弃部分 【opencv_ml】——机器学习模块 【opencv_objdetect】——目标检测模块 【opencv_ocl】——运用OpenCL加速的计算机视觉组件模块【opencv_video】——视频分析组件 2.简单示例 【C++】——通过代码载入一张图片,通过opencv把彩色图片转换为黑白图片,并把原图和转换后的图片输出到屏幕中。 [cpp]view plaincopy 1.#include 2.#include 3.#include 4.#include https://www.wendangku.net/doc/e13280983.html,ing namespace cv; https://www.wendangku.net/doc/e13280983.html,ing namespace std; 7.int main (int argc, char **argv) 8.{ 9. Mat image, image_gray; 10. image = imread(argv[1], CV_LOAD_IMAGE_COLOR ); 11.if (argc != 2 || !image.data) { 12. cout << "No image data\n"; 13.return -1; 14. } 15.

配置OpenCV+VS

配置OpenCV2.4.10 + Visual Studio 2010 一、安装OpenCV 1、双击OpenCV安装包,会提示解压到某个地方,推荐放到D:\Program Files\下,比如安装路径就写:D:\Program Files。 2、等一段时间,OpenCV2.4.10近3个多G的文件就解压到了D:\Program Files 下。其中,build里面是使用OpenCV2.4.10相关的文件,我们如果只是使用OpenCV2.4.10的话呢,就只用管build里面的内容。 二、安装Visual Studio 2010 1、右击Visual Studio 2010的压缩包,解压文件。在解压后的文件中找到autorun 应用程序, 2、点开autorun,弹出一下对话框,点击对话框中的“安装Microsoft Visual Studio

2010”. 3、如图所示下一步: 4、选中我已阅读许可条款,点击下一步

5、根据需要选择功能,安装路径,点击安装 6、几分钟之后,出现如图需要重新启动才能完成安装。大家记得保存好已打开的其他文件再重启。

7、电脑重启之后,安装程序自动出现,耐心等待安装。

8、四十分钟后,安装完成。 9、最后还会跳出这么一个对话框,直接点退出就可以了。到此,软件安装过程全部结束。成功了。打开软件就可以用了。

三、配置OpenCV2.4.10 和 Visual studio 2010 3.1、配置环境变量 3.1.1、【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:

基于OpenCv的图像识别

基于2DPCA的人脸识别算法研究 摘要 人脸识别技术是对图像和视频中的人脸进行检测和定位的一门模式识别技术,包含位置、大小、个数和形态等人脸图像的所有信息。由于近年来计算机技术的飞速发展,为人脸识别技术的广泛应用提供了可能,所以图像处理技术被广泛应用了各种领域。该技术具有广阔的前景,如今已有大量的研究人员专注于人脸识别技术的开发。本文的主要工作内容如下: 1)介绍了人脸识别技术的基础知识,包括该技术的应用、背景、研究方向以及 目前研究该技术的困难,并对人脸识别系统的运行过程以及运行平台作了简单的介绍。 2)预处理工作是在原始0RL人脸库上进行的。在图像的预处理阶段,经过了图 象的颜色处理,图像的几何归一化,图像的均衡化和图象的灰度归一化四个过程。所有人脸图像通过上述处理后,就可以在一定程度上减小光照、背景等一些外在因素的不利影响。 3)介绍了目前主流的一些人脸检测算法,本文采用并详细叙述了Adaboost人脸 检测算法。Adaboost算法首先需要创建人脸图像的训练样本,再通过对样本的训练,得到的级联分类器就可以对人脸进行检测。 4)本文介绍了基于PCA算法的人脸特征点提取,并在PCA算法的基础上应用了 改进型的2DPCA算法,对两者的性能进行了对比,得出后者的准确度和实时性均大于前者,最后将Adaboost人脸检测算法和2DPCA算法结合,不仅能大幅度降低识别时间,而且还相互补充,有效的提高了识别率。 关键词:人脸识别 2DPCA 特征提取人脸检测

2DPCA Face Recognition Algorithm Based on The Research Abstract:Face recognition is a technology to detect and locate human face in an image or video streams,Including location, size, shape, number and other information of human face in an image or video streams.Due to the rapid development of computer operation speed makes the image processing technology has been widely applied in many fields in recent years. This paper's work has the following several aspects: 1)Explained the background, research scope and method of face recognition,and introduced the theoretical method of face recognition field in general. 2)The pretreatments work is based on the original ORL face database. In the image preprocessing stage, there are the color of the image processing, image geometric normalization, image equalization and image gray scale normalization four parts. After united processing, the face image is standard, which can eliminate the adverse effects of some external factors. 3)All kinds of face detection algorithm is introduced, and detailed describing the Adaboost algorithm for face detection. Through the Adaboost algorithm to create a training sample,then Training the samples of face image,and obtaining the cascade classifier to detect human face. 4)This paper introduces the facial feature points extraction based on PCA ,and 2DPCA is used on the basis of the PCA as a improved algorithm.Performance is compared between the two, it is concluds that the real time and accuracy of the latter is greater than the former.Finally the Adaboost face detection algorithm and 2DPCA are combined, which not only can greatly reduce the recognition time, but also complement each other, effectively improve the recognition rate. Key words:Face recognition 2DPCA Feature extraction Face detection

opencv编写笔记

建工程步骤省略!!!!!! 1、项目—demo(自己取项目名称)属性---配置属性—VC++目录—包含目录:D:\opencv\opencv\build\include;) 2、配置属性—VC++目录—库目录:D:\opencv\opencv\build\x86\vc10\lib 3、链接器—输入—附加依赖项—添加一下这些(针对Debug调试): opencv_ml2410d.lib opencv_calib3d2410d.lib opencv_contrib2410d.lib opencv_core2410d.lib opencv_features2d2410d.lib

opencv_flann2410d.lib opencv_gpu2410d.lib opencv_highgui2410d.lib opencv_imgproc2410d.lib opencv_legacy2410d.lib opencv_objdetect2410d.lib opencv_ts2410d.lib opencv_video2410d.lib opencv_nonfree2410d.lib opencv_ocl2410d.lib opencv_photo2410d.lib opencv_stitching2410d.lib opencv_superres2410d.lib opencv_videostab2410d.lib ◆按F5运行,若出现这样的情况:无法找到系统文件,缺少…..demo.exe程序。则需 下载tbb41_20130314oss_win.zip ,将其解压后文件夹中包含的bin文件夹, 复制到D:\opencv\opencv\build\common\tbb里;若还不行,可关掉当前文件,重新建立新项目,再进行配置! ◆完成以后,计算机属性---高级系统设置—环境变量---选择path—双击—添加路径: D:\opencv\opencv\build\x86\vc10\bin;D:\opencv\opencv\build\common\tbb\ia32\vc 10

VS2013 中OpenCV2410 的配置及其他

1 2

Include Directories: C:\opencv\build\include Library Directories: C:\opencv\build\x86\vc12\lib 3 opencv_calib3d2410d.lib opencv_contrib2410d.lib opencv_core2410d.lib opencv_features2d2410d.lib opencv_flann2410d.lib opencv_gpu2410d.lib

opencv_imgproc2410d.lib opencv_legacy2410d.lib opencv_ml2410d.lib opencv_nonfree2410d.lib opencv_objdetect2410d.lib opencv_ocl2410d.lib opencv_photo2410d.lib opencv_stitching2410d.lib opencv_superres2410d.lib opencv_ts2410d.lib opencv_video2410d.lib opencv_videostab2410d.lib opencv_calib3d2410.lib opencv_contrib2410.lib opencv_core2410.lib opencv_features2d2410.lib opencv_flann2410.lib opencv_gpu2410.lib opencv_highgui2410.lib opencv_imgproc2410.lib opencv_legacy2410.lib opencv_ml2410.lib opencv_nonfree2410.lib opencv_objdetect2410.lib opencv_ocl2410.lib opencv_photo2410.lib

基于opencv对图像的预处理

基于opencv 对图像的预处理 1.问题描述 本次设计是基于opencv 结合c++语言实现的对图像的预处理,opencv 是用于开发实时的图像处理、计算机视觉及模式识别程序;其中图像的预处理也就是利用opencv 对图像进行简单的编辑操作;例如对图像的对比度、亮度、饱和度进行调节,同时还可以对图像进行缩放和旋转,这些都是图像预处理简单的处理方法;首先通过opencv 加载一幅原型图像,显示出来;设置五个滑动控制按钮,当拖动按钮时,对比度、亮度、饱和度的大小也会随之改变,也可以通过同样的方式调节缩放的比例和旋转的角度,来控制图像,对图像进行处理,显示出符合调节要求的图像,进行对比观察他们的之间的变化。 2.模块划分 此次设计的模块分为五个模块,滑动控制模块、对比度和亮度调节模块、饱和度调节模块、缩放调节模块、旋转调节模块,他们之间的关系如下所示: 图一、各个模块关系图 调用 调用 调用 调用 滑动控制模块 对比度和亮度调节模块 饱和度调节模块 缩放调节模块 旋转调节模块

滑动控制模块处于主函数之中,是整个设计的核心部分,通过createTrackbar创建五个滑动控制按钮并且调用每个模块实现对图像相应的调节。 3.算法设计 (1)滑动控制: 滑动控制是整个设计的核心部分,通过创建滑动控制按钮调节大小来改变相应的数据,进行调用函数实现对图像的编辑,滑动控制是利用createTrackbar(),函数中包括了滑动控制的名称,滑动控制显示在什么窗口上,滑动变量的地址和它调节的最大围,以及每个控制按钮应该调用什么函数实现什么功能; (2)对比度和亮度的调节: 对比度和亮度的调节的原理是依照线性理论,它的公式如下所示:g(x)=a* f(x) +b,其中f(x)表示源图像的像素,g(x)表示输出图像的像素,参数a(需要满足a>0)被称为增益(gain),常常被用来控制图像的对比度,参数b通常被称为偏置(bias),常常被用来控制图像的亮度; (3)饱和度的调节: 饱和度调节利用cvCvtColor( src_image, dst_image, CV_BGR2HSV )将RGB 颜色空间转换为HSV颜色空间,其中“H=Hue”表示色调,“S=Saturation”表示饱和度,“V=Value ”表示纯度;所以饱和度的调节只需要调节S的大小,H 和V的值不需要做任何的改变; (4)旋转的调节: 旋转是以某参考点为圆心,将图像的个点(x,y)围绕圆心转动一个逆时针角度θ,变为新的坐标(x1,y1),x1=rcos(α+θ),y1=rsin(α+θ),其中r是图像的极径,α是图像与水平的坐标的角度的大小; (5)缩放的调节: 首先得到源图像的宽度x和高度y,变换后新的图像的宽度和高度分别为x1和y1,x1=x*f,y1=y*f,其中f是缩放因子; 4.函数功能描述 (1)主函数main()用来设置滑动控制按钮,当鼠标拖动按钮可以得到相应的数据大小,实现手动控制的功能,当鼠标拖动对比度和亮度调节是,主函数调用

Visual Studio2012环境下配置OpenCV_v2.4.10的步骤

Visual Studio2012环境下配置OpenCV的步骤 2014/12/16 本文将针对Visual Studio2012环境下如何配置OpenCV做出说明,具体如下。 1.下载和安装OpenCV SDK 1.1资源下载 在OpenCV官网https://www.wendangku.net/doc/e13280983.html, SDK安装包。对应自己的操作系统,可以下载Windows,Linux/Mac和ios版本。目前官网已经给出OpenCV v3.0bata版本。本文中以OpenCV v2.4.10版本为例进行安装。(各个版本安装过程大体相同,后面将针对不同之处给出说明) 1.2资源安装 下载的OpenCV SDK的后缀名为exe,是一个解压安装程序。双击后会提示设置解压路径,推荐路径D:\Program Files。(因为OpenCV项目文件打包的时候,根目录就是opencv,所以我们不需要额外的新建一个名为opencv的文件夹然后再解压,那是多此一举的事情)然后点击Extract按钮,进行安装。 2.环境变量和路径设置 打开计算机→属性→高级系统设置,在高级目录下单击环境变量按钮,打开环境变量设置对话框。

2.1用户变量设置 在用户变量(此处为lbs的用户变量中)添加两个变量。 新建opencv变量,变量值设置为D:\Program Files\opencv\build。 新建path变量,变量值设置为D:\Program Files\opencv\build\x86\vc11\bin。此处如果已存在path变量,仅需对其变量值修改就行,在后面加上上述路径,但需要用分号和前面的路径隔开(英文半角下的分号) 2.2系统变量设置 在原有的path变量中对变量值修改,在变量值的最后加上D:\Program Files\opencv\build\x86\vc11\bin路径,注意要使用英文半角下的分号和前面的路径隔开。 ※说明 (1)不论电脑是32位还是64位,上述路径中均以x86路径输入,因为创建的程序中默认是在使用win32编译器进行编译。 (2)路径修改后需要重启电脑才能生效。 3.工程项目属性设置 工程项目属性配置主要是指对Debug和Release环境下的工程属性进行修改(通过修改https://www.wendangku.net/doc/e13280983.html,er文件进行)。查阅相关资料,发现Visual Studio 2012中已经不再区分Debug和Release的https://www.wendangku.net/doc/e13280983.html,er文件,所以配置了Debug或Release中的任

opencvVS使用说明

1.打开opencv2.4.9.exe,指定安装位置(文件解压位置),解压后包含两个文件夹build、source,build文件夹中包含静态链接库文件和动态链接库文件,source文件夹包含opencv函数的源码以及训练好的分类器以及训练好的分类器。 (1)提取build文件夹下include文件夹备用(第12步使用); (2)提取build/x86/vc10目录下的bin文件夹、lib文件夹备用。(说明:x86文件夹中链接库文件是VS默认win32平台 下32位编译器,如果设置VS编译平台为64位则需要x64 文件夹的链接库;vc10文件夹的链接库对应VS2010开发平 台,vc11未知,vc12对应VS2012及以上的开发平台) 图1 opencv解压得到的两个文件夹图2 build文件夹include 图3 build/x86/vc10文件夹下bin、lib分别存放动态静态链接库文件

图4 source文件夹中data文件夹中的haarlike级联分类器、hog分类器、lbp分类器,主要对人脸、五官、微笑、行人等做分类检测 2.打开VS,新建一个Win32控制台应用程序 3.点击下一步然后去掉预编译头,选择空项目

4.点击完成,找到解决方案管理器,右键工程名

5.配置属性->VC++目录 6.在可执行文件目录编辑输入../bin 然后点击确定

7.在包含目录分别输入../include ../include/opencv ../inclide/opencv2 然后点击确定 8.在库目录输入../lib 然后点击确定

OpenCV 说明介绍

OpenCV3.0 Overview Gary Bradski Chief Scientist, Perception and AI at Magic Leap CEO, https://www.wendangku.net/doc/e13280983.html, Vadim Pisarevsky Principal Engineer, Itseez Grace Vesom Senior Engineer in 3D at Magic Leap Vincent Rabaud Perception Team Manager at Aldebaran Robotics

OpenCV at glance ?BSD license, 10M downloads, 500K+lines of code ?Huge community involvement, automated patch testing and integration process ?Runs everywhere Bindings: Python, Samples, Apps, SSE, NEON, IPP, OpenCL, CUDA, OpenCV4Tegra, … core, imgproc, objdetect … OpenCV HAL OpenCV face, text, rgbd, … OpenCV Contrib Java Solutions ?Find more at https://www.wendangku.net/doc/e13280983.html,(user) ?Or https://www.wendangku.net/doc/e13280983.html,(developer)

Recent Stats > 10M downloads NOTE: This is only for source forge. Many more downloads come from Git and many more come on Unix distros. ~200K downloads/month World wide Rated highly

最新基于OpenCV与深度学习框架的物体图像识别

基于OpenCV与深度学习框架Caffe的物体图像识别 摘要:本文主要介绍深度神经网络中的卷积神经的相关理论与技术。研究采用OpenCV深度学习模块DNN与深度学习框架Caffe进行物体识别。采用OpenCV 中的DNN模块加载深度学习框架Caffe模型文件,对物体图像进行识别。实验结果表明,卷积神经网络在物体的识别方面具有较高的准确率。 一.概述 1.1 OpenCV简介 OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV 是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列C 函数和少量C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。其最新版本是3.2,于2016年12月23日发布。OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。在其最新版3.2版本中,已经添加了深度神经网络模块,并支持深度学习框架Caffe模型(Caffe framework models)。 1.2 深度学习框架Caffe简介 Caffe(Convolutional Architecture for Fast Feature Embedding)是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,曾在Google 工作,现任Facebook研究科学家。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换。Caffe的优势

opencv2.4.9在Hi3531开发板上移植

opencv2.4.9下载不用说了。 Ubuntu12.04虚拟机安装的+arm-hisiv200-linux交叉编译器+cmake-gui(2.8.7) 参考:https://www.wendangku.net/doc/e13280983.html,/luotuo44/article/details/8958990 https://www.wendangku.net/doc/e13280983.html,/s/blog_92942dba0101d1wj.html 一、建立编译环境配置 进入opencv-2.4.9目录建立release-hisiv200目录存放编译过程中文件。 #cd opencv-2.4.9 #mkdir release-hisiv200 #cd release-hisiv200 打开cmake-gui,进行博客中的配置:#cmake-gui 在configure时选择CMAKE_SYSTEM_NAME:arm-hisiv200-linux C:选择/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-gcc C++:选择/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-g++ 修改安装目录:CMAKE_INSTALL_PREFIX:/opt/2.4.9-arm-hisiv200 进行编译:make 二、出现问题: 1、/usr/lib/libImath.so: could not read symbols: File in wrong format

collect2: ld returned 1 exit status make[2]: *** [lib/libopencv_highgui.so] 错误1 make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] 错误2 make: *** [all] 错误2 主要opencv编译OPENEXR时要用到libImath.so,所有我就把那个取消了,然后编译就没出现过这个问题。 蓝色的部分不要选,还有下面这个也别选: 蓝色的部分不要选,还有下面这个也别选:

opencv2.4.9配置

Visual Studio 2010配置 Opencv2.4.9 转自: https://www.wendangku.net/doc/e13280983.html,/huang9012/article/details/21811129 这篇文章作为OpenCV的启程篇,自然少不了先系统地介绍OpenCV开发环境的配置。 浅墨前后经历过OpenCV 2.4.6,OpenCV 2.4.7,OpenCV 2.4.8这三个版本的配置,有时候还要涉及到三个版本之间的转换,所以还是对OpenCV的配置有一定的理解的,希望自己的一点拙见能帮到大家。 还是先放出待会儿的测试用图:

1.下载和安装OpenCV SDK VS2010不用说,肯定都安装了吧。来说说当前最新的OpenCV版本2.4.8(2014年2月24日)的下载和安装。与其说是安装,不如叫解压更加合适,因为我们下载的exe安装文件就是一个自解压程序而已。

在官网:https://www.wendangku.net/doc/e13280983.html,/上找到OpenCV windows版下载下来。 下载完后得到文件OpenCV 2.4.8,双击后会提示解压到某个地方,推荐放到D:\Program Files\下,比如D:\Program Files,(因为OpenCV项目文件打包的时候,根目录就是opencv,所以我们不需要额外的新建一个名为opencv的文件夹,然后再解压,那是多此一举的事情)然后点击Extract按钮 等一段时间,OpenCV2.4.8近3个多G的文件就解压到了D:\Program Files下。

其中,build里面是使用OpenCV相关的文件,我们如果只是使用OpenCV的话呢,就只用管build里面的内容。下面的sources文件夹你嫌烦,你嫌占硬盘空间,完全可以删掉。但是需要注意的是,官方示例集,也就是samples文件夹里面的示例程序,在sources文件夹里面躺着呢,所以,如果真是要删的话,还是想清楚哦。sources里面是源代码。想查看完整的源代码需要用cmake来“解包”,如何“解包”大家百度一下就可以,或者下次浅墨来专门讲一讲。这里就先不多说了。 2.配置环境变量 有些奇怪的是,浅墨在经历OpenCV 2.4.6,OpenCV 2.4.7,OpenCV 2.4.8这三个版本之间转换的时候,这三个版本的OpenCV存放在硬盘的不同的目录下。但就没动过这步里面的环境变量,或许新版本的OpenCV已经弱化了环境变量的配置。所以,大家可以先跳过这步,如果最终配置出来报错的话呢,可以考虑下根据实际情况加上这步的配置。 这步的配置方法如下: 计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加相应的路径。 对于32位系统,就添加: ”……opencv\build\x86\vc10\bin”

VS2013 中一次性配置OpenCV 图文教程

VS2013中一次性配置OpenCV图文教程 By:绘梦之卷 一、设置环境变量 (设置之前请下载解压好OpenCV) 单击桌面上的计算机图标右键选择属性,之后点击高级系统设置,如下图所示: 之后选择环境变量设置: 之后点击用户变量设置中的“编辑”添加用户变量:

添加的用户变量为opencv和PATH,值如下: 这里我选择安装路径为:D:\Program Files,不同的路径做相应的改动。 之后用相同的方法编辑系统变量,更改Path为D:\Program Files\opencv\build\x86\vc12\bin 二、设置VS2013

打开VS2013(我用的Express版)新建工程 选择win32的控制应用台程序 点击“OK”后选择“Next”,之后选择一个空项目,注意去掉预编译头选项。如下图:

点击“Finish”之后出现一下界面,在界面右侧点击“ConsoleApplications1”右键,之后选择“Properties” 之后在弹出的对话框里选择:“VC++Directories”

之后在右侧的“General”对话框里选择“Include Directories”双击,在之后的下拉箭头里选择“Edit”编辑,之后在弹出的对话框里单击空白位置(如下图所示),逐个添加红框内的路径。 用同样的方法更改“Library Directories”,添加路径:D:\Program Files\opencv\build\x86\vc12\lib. 完成之后继续Edit“Linker”中的Input中的“Additional Dependencies”

opencv中ocl的使用

// ocl_stereo_match.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include #include #include #include #include #include "opencv2/ocl/ocl.hpp" #include "opencv2/highgui/highgui.hpp" #pragma comment(lib,"opencv_core2410d.lib") #pragma comment(lib,"opencv_highgui2410d.lib") #pragma comment(lib,"opencv_ocl2410d.lib") #pragma comment(lib,"opencv_imgproc2410d.lib") using namespace cv; using namespace std; using namespace ocl; struct App { App(CommandLineParser&cmd); void run(); voidhandleKey(char key); voidprintParams() const; voidworkBegin() { work_begin = getTickCount(); } voidworkEnd() { int64 d = getTickCount() - work_begin; double f = getTickFrequency(); work_fps = f / d; } stringmethod_str() const { switch (method) {

毕业设计:基于OpenCV的人脸识别算法(终稿)-精品

安徽工业大工商学院 毕业学士论文 基于OpenCV的人脸识别算法 姓名:陈滔 申请学位级别:学士专业:测控技术与仪器 指导教师:方挺

摘要 人脸在社会交往中扮演着十分重要的角色,是人类在确定一个人身份时所采用的最普通的生物特征,研究人脸跟踪识别及其相关技术具有十分重要的理论价值和应用价值。彩色图像序列的人脸检测、跟踪与识别技术是随着计算机技术的高速发展和视频监控等应用的需要在近几年才逐渐成为一个研究热点。本文着重构建一套人脸跟踪识别系统,致力于精确实时地对彩色视频中的人脸图像检测跟踪,并可以将跟踪到的人脸图片传输到识别端进行身份识别。系统分为客户端和服务器两部分。针对传统Camshifl跟踪算法进行形态学处理、分配多个跟踪器等改进后的算法应用于客户端进行多人脸的跟踪。服务器端首先将人脸图像按其主要特征进行分块,再对分块图执行Eigenface算法实现人脸身份的识别。这套系统完成了对多人脸的跟踪效果,可广泛的应用于各种安防系统之中如:ATM机监控系统,门禁系统等。

Abstract Human face is 0111"primary focus of attention in social intercourse playingamajor rolei conveying dentity and emotion.Researchonthe face tracking,recognition technology has great theoreticaland practical value.This paper focusesOilbuildingasetofhumanface recognition and trackingsystem tocommitted toaccurate and real-timecolorvideoimages,andcalltransmit the tracked human face image to the recognition part to identify the person’S status.Thesystem is divided into client and server parts.Thetracking algorithm whichcarrieson morphology processing after traditional track algorithm Camshifl and assignments severaltrackingdevices is applied to the client for duplex facetracking.Theserver—side first divides the person face image into blocksaccording to its chief feature,then the blocksuses the Eigenfacealgorithm separately to realize the person’S status recognition.The system implementation for multiple face trackingcallbe widelyused among the various security systems,suchas:ATM machine monitoring system,accesscontrol system.Keywords:Face DetectionFace TrackingFace Recognition Eigenface Camshift

安装OpenCV

安装OpenCV:OpenCV 2.4.8 +VS2010 开 发环境配置 1.下载和安装OpenCV SDK VS2010不用说,肯定都安装了吧。来说说当前最新的OpenCV版本2.4.8 (2014年2月24日)的下载和安装。与其说是安装,不如叫解压更 加合适,因为我们下载的exe安装文件就是一个自解压程序而已。 在官网:https://www.wendangku.net/doc/e13280983.html,/上找到OpenCV windows版下载下来。 下载完后得到文件OpenCV 2.4.8,双击后会提示解压到某个地方, (因为OpenCV 推荐放到D:\Program Files\下,比如D:\Program Files, 项目文件打包的时候,根目录就是opencv,所以我们不需要额外的新 建一个名为opencv的文件夹,然后再解压,那是多此一举的事情) 然后点击Extract按钮。

等一段时间,OpenCV2.4.8近3个多G的文件就解压到了D:\Program Files下。 其中,build里面是使用OpenCV相关的文件,我们如果只是使用OpenCV的话呢,就只用管build里面的内容。下面的sources文件夹你嫌烦,你嫌占硬盘空间,完全可以删掉。但是需要注意的是,官方示例集,也就是samples文件夹里面的示例程序,在sources文件夹里面躺着呢,所以,如果真是要删的话,还是想清楚哦。sources里面是源代码。想查看完整的源代码需要用cmake来“解包”,如何“解包”大家百度一下就可以,或者下次浅墨来专门讲一讲。这里就先不多说了。 2.配置环境变量 有些奇怪的是,浅墨在经历OpenCV 2.4.6,OpenCV 2.4.7,OpenCV 2.4.8这三个版本之间转换的时候,这三个版本的OpenCV存放在硬盘的不同的目录下。但就没动过这步里面的环境变量,或许新版本的OpenCV已经弱化了环境变量的配置。所以,大家可以先跳过这步,如果最终配置出来报错的话呢,可以考虑下根据实际情况加上这步的配置。 这步的配置方法如下: 计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加相应的路径。 对于32位系统,就添加:

相关文档