CUDA7.5+Opencv+doppiaV2+Ubuntu15.10

本文没有一步一步教你如何安装,具体步骤可从参照中获得

已装软件

cuda7.5
prubuf (libprotoc) 3.0.0(自己从github上下载安装)
boost_1_59_0

参照

1.http://blog.csdn.net/hwl56789/article/details/46927395
2.http://blog.csdn.net/tingyue_/article/details/4561974(主要)

注意点

  1. opencv_默认不支持Cuda必须自己重新编译,opecv默认安装运行cuda会出现一下错误
    会出现
 Opencv Error: no GPU support (library is compiled without CUDA support)
  1. opencv_支持cuda编译流程
    下载好opencv-2.4.12.zip 解压为opencv-2.4.12 网上说更高的版本也可以
    再说一次注意opencv版本
    用2.4.9大约会在65%时报错
    • 编译opencv命令如下:
cd opencv-2.4.12
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_ARCH_BIN="x.x" ..
make
make install

x.x根据/usr/local/cuda-7.5/samples/bin/x86_64/linux/release/deviceQuery 所执行的结果填写

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GT 650M"
  CUDA Driver Version / Runtime Version          8.0 / 7.5
  CUDA Capability Major/Minor version number:    3.0
    ...
    ...
    ...

CUDA Capability Major/Minor version number: 3.0就填3.0

测试了objects_detection

  • 按readme执行命令如下,配好会出现一段视屏展示行人检测
cd rodrigob-doppia/src/objects_detection
cmake . && make -j2 && OMP_NUM_THREADS=4 ./objects_detection -c cvpr2012_very_fast_over_bahnhof.config.ini --gui.disable false
  • 问题1
/usr/local/include/boost/variant/get.hpp:178:5: error: invalid application of 
‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’

解决方法:

common_settings.cmake中的

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall ")

改成

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT=1")

参考[https://bitbucket.org/rodrigob/doppia/issues/84/the-problem-while-compiling]

  • 问题2
rodrigob-doppia/src/applications/objects_detection/../../../libs/cudatemplates/include
/cudatemplates/error.hpp:44:26: fatal error: cuda_runtime.h: 没有那个文件或目录

解决方法:

把common_settings.cmake,MakeLists.txt(具体哪个记不清了)文件中的cuda目录改成自己安装cuda的目录
  • 问题3
    DataSequence.hpp报参数ReadLittleEndian64 的uint64_t参数不匹配错误,感觉是protobuf版本的问题
    解决方法:
    打开DataSequence.hpp
- boost::uint64_t size;
+ google::protobuf::uint64 size;

-问题4

src/objects_detection/SoftCascadeOverIntegralChannelsFastFractionalStage.cpp:24:9:
 error: ‘swap’ is not a member of ‘stdstd::swap(weak_classifier.level2_true_node,

 weak_classifier.level2_false_node);

解决方法:

在出错文件中加入#include<iostream>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值