毕业设计不幸抽到车牌图像处理的题目,之前对图像处理一无所知,感觉无从下手。后来上网查了很多资料,还知道了openCV这个东西。现在开始用OpenCV作毕业设计,已经有一些进展。想起当初下载了OpenCV5.0,调试了半天也没有调试好,最后在机器视觉在线的一篇回帖中找到设置的方法,在此分享给那些和我一样无助的人。
OpenCV_b5a安装
1. 安装OpenCV
*在安装时选择“将<…>/OpenCV/bin加入系统变量”(Add/OpenCV/bin to the systerm PATH),否则需要在“我的电脑”“属性”“高级”“环境变量”中添加上述变量,如:变量:Path,值:C:/OpenCV/bin、为OpenCV的安装根目录,建议将openCV安装在C盘的OpenCV目录下)
2.安装DirectX SDK
*.首先安装DirectX SDK;
*.打开SDK的安装目录(一般为C:/DXSDK),找到BaseClasses文件夹,一般在
C:/DXSDK/Samples/C++/DirectShow/BaseClasses,打开其中的BaseClasses.sln(.net下的可执行文件);在“生成”目录下选择“批生成”在选项中选择“Debug”和“Release”,然后生成该项目;
*.打开C:/DXSDK/Samples/C++/DirectShow/BaseClasses文件夹,会发现两个文件夹——Debug和Release,将Debug中的strmbasd.lib文件和Release中的STRMBASE.lib文件拷到C:/DXSDK/Lib目录下;
*.在VC的工程中加入如下库文件和包含文件:
在vc.net下选择“工具”“选项”,在左边的目录下选择“项目”“VC++目录”在右上角的筐里选择“库文件”将C:/DXSDK/Lib加入库文件中;再选择“包含文件”,将C:/DXSDK/Include,C:/DXSDK/Samples/C++/Common/Include
C:/DXSDK/Samples/C++/DirectShow/BaseClasses加入其中;
注意:有必要将上述目录移到最上方,以免在编译时发生访问库的冲突!
3.编译OpenCV 的主要部分,加入必要的库文件及包含文件
*打开OpenCV安装目录下的_make文件夹,启动其中的opencv.sln工程(如: C:/OpenCV/_make/opencv.sln);在生成过程中可能会出现如下错误:
“fatal error LNK1181: 无法打开输入文件“cvauxd.lib”
“error C2039: “foreground_regions” : 不是“CvFGDStatModel”的成员”
解决的方法是:在“解决方案管理器”中打开“cvaux”项目的包含文件中(Include/External)的cvaux. h文件,找到上述foreground_regions成员,会发现此成员已被注释掉了,只要将其上一行末尾的“/”改为“*/”使该成员可见,再次启动项目,应该就可以编译通过了。
*启动_make目录下的另外一个工程“opencv_directshow.sln” ,使其编译通过;
*按照步骤2 中加入库文件及包含文件的方法将下列包含文件加入
C:/OpenCV/cv/include
C:/OpenCV/otherlibs/highgui
C:/OpenCV/cxcore/include
C:/OpenCV/otherlibs/cvcam/include
(上述文件属于常用文件,如果需要可自行添加另外的包含文件)
加入库文件:C:/OpenCV/lib
4.在项目中运用OpenCV
*新建一个项目,在该项目上点击鼠标右键选择“属性”,在左边的目录下选择“C/C++”“常规”在右边的“附加包含目录”中加入所要用到的包含目录,如:
C:/OpenCV/cv/include
C:/OpenCV/otherlibs/highgui
C:/OpenCV/cxcore/include
C:/OpenCV/otherlibs/cvcam/include
在“链接器”“输入”“附加依赖项”中加入包含文件的索引文件如:
odbc32.lib
odbccp32.lib
cxcored.lib
cvd.lib
highguid.lib
cxcore.lib
等;
*在项目的头文件中加入所用到的包含文件,如:
#include “cv.h” #include “highgui.h” (一般来说这两个文件是必要的,其它头文件在用到时可自行加入,方法如上,即:在“附加包含目录”中加入包含文件,在“附加依赖项”中加入索引文件——.lib)
*一般说来现在就可以用OpenCV中的函数了,具体有哪些函数可以参照OpenCV安装目录下的docs目录,其中对此有详尽的说明,实际应用的例子在sample目录下,用户可以参考各函数的基本用法以期尽快掌握。