OpenCV中cvBlobsLib的编译与使用
OpenCV的cvBlobsLib庫的作用類似于matlab中的regionprops函數(shù)。
cvBlobsLib庫的編譯:
首先從http://opencv.willowgarage.com/wiki/cvBlobsLib#Blobextractionlibrary下載最新的v8.3版本的源代碼,其次機(jī)子上要裝有OpenCV1.0的環(huán)境,從http://www.opencv.org.cn/index.php/VC6%E4%B8%8B%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AEOpenCV1.0下載。
注意:上面原有鏈接已無能下載CvBlobsLib源碼,現(xiàn)在可以從SourceForge上下載,地址:https://sourceforge.net/projects/cvblobslib/
源代碼是用vc6編寫的,可以用vc6進(jìn)行編譯,也可以用vs2008進(jìn)行編譯,如果用vc6進(jìn)行編譯,當(dāng)其在vs2008中應(yīng)用時,需要把C:\Program Files\Microsoft Visual Studio\VC98\MFC\Lib中文件夾中的內(nèi)容拷貝到工程目錄下,否則會出現(xiàn)找不到mfc42d.lib等庫的錯誤。
現(xiàn)將源代碼在vs2008環(huán)境下進(jìn)行編譯:
1、 雙擊cvblobslib.dsw選擇轉(zhuǎn)換將會轉(zhuǎn)換生成cvblobslib.sln;
2、 添加包含的目錄:去掉原有的,改為:
D:\Program Files\OpenCV\cv\include
D:\Program Files\OpenCV\cxcore\include\
D:\Program Files\OpenCV\OtherLibs\HighGUI\
3、 為了便于區(qū)分,輸出的庫文件Debug改為cvblobslibd.lib,Release不動;
4、如果用OpenCV2.1及以上版本需要將BlobContour.h頭文件中的#include "cxtypes.h"改為#include "cxcore.h";
5、分別在Debug和Release下進(jìn)行編譯,生成相應(yīng)的庫。
cvBlobsLib庫的使用:
下載的源代碼中帶有一個測試用例,將其測試用例在vs2008環(huán)境下運(yùn)行
1、 將其轉(zhuǎn)換生成testBlobs.sln;
2、 添加包含的目錄:去掉原有的,改為D:\Program Files\opencv\cxcore\include D:\Program Files\opencv\cv\include D:\Program Files\opencv\otherlibs\highgui ..\
3、 添加庫的目錄:去掉原有的,改為D:\Program Files\OpenCV\lib\ D:\Program Files\opencv\cv\include D:\Program Files\opencv\otherlibs\highgui ..\release(..\debug)
4、 添加依賴的項(xiàng):cxcore.lib cv.lib highgui.lib ..\Debug\cvblobslibd.lib(..\Release\cvblobslib.lib);
5、 編譯即可運(yùn)行。
也可以在OpenCV2.1及以上版本使用此庫,屬性配置類似,在工程依賴項(xiàng)中需要添加cxcore.lib cv.lib highgui.lib。
參考:
1、 http://technical-recipes.com/?p=125
2、 http://opencv.willowgarage.com/wiki/cvBlobsLib#Blobextractionlibrary
總結(jié)
以上是生活随笔為你收集整理的OpenCV中cvBlobsLib的编译与使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++递归用法
- 下一篇: matlab最小分类错误全局二值化算法