CLM框架的编译及自己在编译过程中的若干问题的解决

CLM是一个人体特征点提取的框架,他的功能是提取五官及脸的轮廓,同时可以检测人脸当前的朝向等,是一个不错的人脸检测框架。但是在编译过程中,还是会遇到不少问题。接下来我就说一下,在我的编译过程中遇到的问题,及解决方法。

首先在这里下载压缩文件,打开后我们可以看到有vs2013和vs2012的项目,前面我说过了,可以通过打开这两个直接进行编译,但是现在我主要说一下如何利用cmake进行编译。

所以,我直接用了cmake进行编译,但是编译出现了错误。

这也就是说,我的cmake无法识别MSVC_VERSION这一句话,所以我打开cmakelist文件,找到这句话,原话是

if(MSVC_VERSION == 1600)
		link_directories( ${PROJECT_SOURCE_DIR}/lib/3rdParty/OpenCV3.0/x86/v100/lib )
	endif(MSVC_VERSION)
通过查找一些资料,我发现if中条件的写法是有问题的,至少他不是现在我用的cmake的标准写法,所以,我就改成标准的写法,

if(${MSVC_VERSION} EQUAL 1600)
			file(GLOB files "lib/3rdParty/OpenCV3.0/x86/v100/bin/*.dll")
		endif()
这样在编译的时候就不会报这个错误了,但是接着出现了下一个错误,

大概意思就是说cmake/modoules/FindTBB.cmake这个文件中的291行找不到TBB的根目录,包含目录和库目录,但是打开\CLM-framework-master-1\lib\3rdParty\tbb我们会发现,这个文件夹是有的,只是无法连接到,所以我们打开原始FindTBB.cmake,将这几个文件夹的路径添加进去。

我们添加到注释下面的include那句的下一行即可:

INCLUDE (FindPackageHandleStandardArgs)
SET (TBB_ROOT_DIR "D:/教程/OPENCV/CLM-framework-master/lib/3rdParty/tbb")
SET (TBB_INCLUDE_DIR "D:/教程/OPENCV/CLM-framework-master/lib/3rdParty/tbb/include")
SET (TBB_LIBRARY "D:/教程/OPENCV/CLM-framework-master/lib/3rdParty/tbb/lib")

这里的路径一定要选对,绝对路径相对路径都可以的。

然后接着往下编译。我这里又出现一个错误,找不到LIBJPEG和LIBPNG,然后再lib文件夹里也找不到,所以,在configure之后,我把这两项给去了。

也就是把对勾去掉,这样再点击configure然后generate就成功了。

接下来是build的过程:

直接build发现错误,无法打开tbb/tbb.h,为了保证不再出这个问题,我给所有的项目包含目录路径中加入了CLM-framework-master\lib\3rdParty\tbb\include这个路径,然后接下来还会出问题,根据我的编译过程,错误的顺序依次是,无法打开opencv_world300d,然后是无法打开tbb_Debug等库,然后一样,依次加入,最后就成功了。这个过程很繁琐,不过目前我也就知道能这么干了,如果有更简单的方法请分享一下,谢谢。

之后就可以愉快的用CLM了~~

但是还有一个问题,当我们打开样例是,可能还会出现计算机中没有opencv_world300d.dll和没有tbb_Debug.dll的问题,这种情况下,我们回到原始文件夹里,把这两个考出来,放进C:\Windows\SysWOW64中就可以了,然后就尽情玩儿吧。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值