OpenCV是什么?
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:
1.研究代码(慢,不稳定,独立并与其他库不兼容)
2.耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)
下面是两个入门小程序:
一、opencv 加载图片
//第一个小程序,打开一张图片 void openphoto(){ IplImage * src = cvLoadImage("F:\\1.jpg",1);//0灰色 1 彩色加载图像 -1 不变 cvNamedWindow("win"); cvShowImage("win", src); cvWaitKey(0); cvReleaseImage(&src); cvDestroyWindow("win"); }
注意点:1. 视频格式需要转换 支持.avi 可以使用狸窝软件转换
2.需要安装Xvid解码器。官方网站http://www.xvid.org/
#include "stdafx.h" #include "highgui.h" #include "cv.h" #include "cxcore.h" //加载一个avi格式的视频,并且播放 void openAVI(){ cvNamedWindow("avi"); CvCapture * capture = cvCreateFileCapture("D:\\2.avi");//加载视频的路径 //CvCapture * capture = cvCreateCameraCapture(-1);//打开摄像头 IplImage *frame; while (1) { frame = cvQueryFrame(capture);//读取一帧,即:一张图片 frame保存这一帧的信息 cvShowImage("avi",frame); if (!frame)//如果没有读到图像了,就退出 { break; } char c = cvWaitKey(33);//控制帧率 等待33毫秒 if (c == 27)//如果按下ESC ,就退出 { break; } } //释放内存 cvReleaseCapture(&capture); cvDestroyWindow("avi"); }
原文地址:http://blog.csdn.net/u013143371/article/details/43833737