OpenCV入门教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一) openCV的安装
1. 下载最新版openCV Beta 5, 网址为
color=#800080/technology/computing/opencv/index.ht m
2. 下载完毕后直接点击安装。安装完毕后打开_make文件夹下的.dsw(vc6)
或.sln(),点击project下的batch build,注意你的机子是32位的话,选重所有的
win32Debug 和Release(不要选择64位的),点击Rebuild。这样,所需要的库文件就生成了。下一步,要建你自己的文件。(PS:openCV Beta 5有一个bug,建立的时候需要改一个注释注错了的文件)
3. 打开vc6或,新建一工程(win32console, win32project, MFC都可以,取决于你的习惯)
4. 配置你自己的工程
对于vc6: project à settings àall configurations
C/C++标签àCategory中选择Prepreocessor à Additional include directories项,输入以“,”分开的相对路径(注意相对路径的格式与你的openCV文件夹与你的工程文件夹相对位置有关),如我的工程建立在OpenCV的目录下,则我可以这样设置相对路
径:..\cvaux\include,..\cxcore\include,..\cv\include,..\otherlibs\highgui, ..\otherlibs\cvcam\include ; 当然,也可以输入绝对路径如C:\Program Files\OpenCV\cv\include…
Link标签à Category中选择General àObject/library modules, 输入以空格分开的cvd.lib highguid.lib cvauxd.lib cxcored.lib cvcamd.lib
Link标签à Category中选择Input àObject/library modules, 输入以空格分开的cvd.lib highguid.lib cvauxd.lib cxcored.lib cvcamd.lib
Link标签à Category中选择Input àAdditional Library path, 输入包含lib库的相对路径或绝对路径,我的工程相对路径设置为..\lib
设置完以上点击确定。
对于: projectàpropertiesàall configurations
C/C++àAdditional Include Directories à每行分开的相对路径或绝对路径,如我的工程里这样设
置..\..\cv\include ..\..\cvaux\include ..\..\highgui\include ..\..\otherlibs\highgui ..\..\otherlibs\cv cam\include
Linker à General àAdditional library directories: ..\..\lib
LinkeràInputàAdditional Dependencies: cv.lib cxcore.lib cvaux.lib cvcam.lib highgui.lib (每行一个)
设置完以上点击确定。
5.加入openCV的工程到你的工程里并设置依赖关系
vc6: ProjectàInsert project into workspace àcv\cv.dsp
同样加入cvaux.dsp, cxcore.dsp, highgui.dsp
ProjectàDependencies: cv选择cxcore; cvaux选择cv,cxcore; highgui选择cxcore;你的工程选择所有
FileàAdd project à Existing projectàcv\cv.vcproj
同样加入cvaux.vcproj, cxcore.vcproj, highgui.vcproj
在Solution Explorer中,鼠标右击Solution …your project‟ (5 projects)àproperties中设置依赖关同,同vc6
(二)openCV简单使用入门
这样就配置成功了,你可以使用openCV里。下面简单介绍一些openCV简单的图像操作的例子。帮助初学者入门。在使用时,只要把头文件包括进来就可以直接使用了。#include “cv.h”#include “highgui.h” (具体每个库中的内容,可参阅openCV手册)
1.打开图像
//打开图像文件,成功返回IplImage*图像指针,否则返回NULL
IplImage* WINAPI imgFileOpen()
{
IplImage* pImg = 0; //声明IplImage指针
CString fileName = "";
//窗口对话窗体的文件属性
static char szFilter[] = "图像文件格式(*.bmp) |*.bmp|JPG file format (*.jpg)|*.jpg|TIF file format(*.tif) |*.tif|";
//打开文件对话窗口
CFileDialog OpenDlg( TRUE, NULL, NULL/*LastFilePath*/, OFN_HIDEREADONLY | OFN_EXPLORER, szFilter, NULL );
OpenDlg.m_ofn.lpstrTitle = "Open BMP,JPG and TIF Files";
//从文件对话窗口中打开图像
if(OpenDlg.DoModal()==IDOK)
fileName = OpenDlg.GetPathName(); //获得文件名
else
return NULL;
//图像文件成功打开
pImg = cvLoadImage(fileName, 0);
//返回
return pImg;
}
2. 如果把上面打开的图像显示出来,则可以这样调用:
IplImage* pOpenImg = imgFileOpen(); //打开图像
Cstring srcWinLabel = “source image”;//窗体title
if(pOpenImg)//如果成功打开则显示
{
cvNamedWindow(srcWinLabel, 1); //创建窗体
cvShowImage(srcWinLabel, pOpenImg); //显示图像