利用cmake安装OpenCVBlobsLib库(bwareaopen功能)流程概述

matlab bwareaopen可以实现小于指定面积的闭合连通域(这里不是contour面积,请注意)剔除,OpenCV中有BlobsLib实现类似功能。

关于opencv BlobsLib:

opencv BlobsLib的安装与使用 简 介

1、https://github.com/OpenCVBlobsLib/opencvblobslib/tree/devel 下载对应源码包(注意opencv版本,opencv3.0 下载devel分支);

2、https://sourceware.org/pthreads-win32/index.html 下载 pthreads-w32-2-9-1-release(博客备注当前最新版本)

3、(推荐)cmake编译生成解决方案opencvblobslib.sln(若无,请安装对应版本)

4、双击opencvblobslib.sln启动项目,分别配置opencvblobslib debug和release模式下的环境(若已配置opencv环境则只需将\pthreads-w32-2-9-1-release\pthreads.2\文件夹下的pthread.h包含进附加包含目录中即可)

5、分别编译生成对应的debug和release模式下的.lib文件

 

后期使用过程中,只需将debug模式下的opencvblobslib_d.lib和release模式下的opencvblobslib.lib文件,opencvblobslib中的头文件,放置在新建项目中配置好环境即可(注意pthread.h和“\pthreads-w32-2-9-1-release\Pre-built.2\lib\x64”文件夹下的pthreadVC2.lib也需要配置到新项目中, pthreadVC2.dll放置于x64\debug  和 x64\release文件夹下)。

源码中的部分实验结果展示:

配置过程中可能出现的问题:

Q1、cmake找不到opencv目录

A1、指定opencv路径即可。

 

Q2、LNK2019:  无法解析的外部符号 __imp_pthread_create,该符号在函数 "public: void __cdecl myCompLabelerGroup::doLabeling(class std::vector<class CBlob *,class std::allocator<class CBlob *> > &)" (?doLabeling@myCompLabelerGroup   等等中被引用

A2、将pthreadVC2.lib(博主系统x64,配此即可)的路径添加至附加库目录,将“pthreadVC2.lib”添加至附加依赖项即可。

 

Q3、WIN 10 + VS 2015 + OpenCV 3.1.0 可用吗?

A3、Yes. 有好心网友已修改,原链接devel分支即是。感谢!

 

Q4、“由于找不到pthreadVC2.dll,无法继续执行代码。重新安装程序可能会解决此问题。”

A4、将“\pthreads-w32-2-9-1-release\Pre-built.2\dll\x64”文件夹下的 pthreadVC2.dll放置于新项目X64\Debug(博主当前为64位操作系统,项目当前为debug模式,具体目录根据自己情况修改)文件夹下,再次编译运行即可。

 

一些比较好的相关资源:

①  热心网友关于matlab bwareaopen需求提出者的解答https://stackoverflow.com/questions/2348365/matlab-bwareaopen-equivalent-function-in-opencv

②  作者问答式解答opencvblobslib的安装全流程 https://github.com/OpenCVBlobsLib/opencvblobslib/issues/2

③ opencvblobslib项目说明 http://opencvblobslib.github.io/opencvblobslib/

④ cvBlob in Windows7 using VisualStudio2010图文安装流程 http://www.technolabsz.com/2012/07/cvblob-in-windows7-using-ms2010.html

⑤ Object Detection Using the OpenCV / cvBlobsLib Libraries https://www.technical-recipes.com/2011/object-detection-using-the-opencv-cvblobslib-libraries/

⑥ LNK2019原因释疑  https://www.cnblogs.com/hiloves/p/4678848.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值