在TX1上配置TLD算法环境遇到的问题(一)

我使用的是Jalong_Ma的博客进行安装,网站是http://blog.csdn.net/Jalong_Ma/article/details/52743923

值得注意的是,使用jetpack进行安装,到了下图这一步时,一定要想清楚自己需要什么,不要安装太多没用的东西,毕竟TX1上只有14G的空间,安装了没用的卸载不方便,也卸不干净,重装系统又要费时间。我使用默认安装,安装完只剩4.1G,导致又要重装系统。(图片来自http://blog.csdn.net/Jalong_Ma/article/details/52743923)


尤其是opencv,默认的版本是2.4.13,版本过低,如果安装多版本opencv,则会导致其他问题,所以可以不安装opencv。

于是第二次Jetpack安装时,我没有安装opencv,但在安装opencv3.1时出现了下面的错误。


/home/ubuntu/Downloads/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp:141:9: error: ‘NppiGraphcutState’ does not name a type
         NppiGraphcutState* pState;
         ^
In file included from /home/ubuntu/Downloads/opencv-3.1.0/build/modules/cudalegacy/precomp.hpp:75:0:
/home/ubuntu/Downloads/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp: In constructor ‘{anonymous}::NppiGraphcutStateHandler::NppiGraphcutStateHandler(NppiSize, Npp8u*, {anonymous}::init_func_t)’:
/home/ubuntu/Downloads/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp:127:39: error: ‘pState’ was not declared in this scope
             nppSafeCall( func(sznpp, &pState, pDeviceMem) );
                                       ^
/home/ubuntu/Downloads/opencv-3.1.0/modules/core/include/opencv2/core/private.cuda.hpp:165:52: note: in definition of macro ‘nppSafeCall’
 #define nppSafeCall(expr)  cv::cuda::checkNppError(expr, __FILE__, __LINE__, CV_Func)
                                                    ^
/home/ubuntu/Downloads/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp: In destructor ‘{anonymous}::NppiGraphcutStateHandler::~NppiGraphcutStateHandler()’:
/home/ubuntu/Downloads/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp:132:43: error: ‘pState’ was not declared in this scope
             nppSafeCall( nppiGraphcutFree(pState) );
                                           ^
/home/ubuntu/Downloads/opencv-3.1.0/modules/core/include/opencv2/core/private.cuda.hpp:165:52: note: in definition of macro ‘nppSafeCall’
 #define nppSafeCall(expr)  cv::cuda::checkNppError(expr, __FILE__, __LINE__, CV_Func)
                                                    ^
/home/ubuntu/Downloads/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp:132:49: error: ‘nppiGraphcutFree’ was not declared in this scope
             nppSafeCall( nppiGraphcutFree(pState) );

原因是opencv3.1的部分和CUDA8.0不兼容,此时,可以利用利用网上的方法进行修改

进入opencv-3.1.0/modules/cudalegacy/src/目录,修改graphcuts.cpp文件,将:

#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
 
 
  • 1
  • 2
  • 1
  • 2

修改为

#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)  || (CUDART_VERSION >= 8000)
 
 
  • 1
  • 2
  • 1
  • 2

重新编译opencv3.1的包,即可完成opencv3.1的安装,这样,就实现了TX1里只有一个我们需要的版本的opencv。


注:安装系统之后,home里的cuda-l4t文件可以删掉!这样可以节约内存。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值