zoukankan      html  css  js  c++  java
  • 【视频开发】【计算机视觉】doppia编译之四:安装其他库、编译和运行doppia

    (与本节内容无关///////////////////////////保存图片参数为—-gui.save_all_screenshots true////////////////////) 
    在我们安装好CUDA、boost、OpenCV之后,接下来的一些库(libSDL、protobuf等)的安装,我们都可以用系统内部的程序进行安装。比如

    安装libSDL,我们终端输入

    apt-cache search libsdl
    • 1
    • 1

    系统会给出一系列程序,我们选择其中的libsdl1.2-dev进行安装。

    sudo apt-get install libsdl1.2-dev
    • 1
    • 1

    (这里注意不要安装libsdl2-dev,因为安装之后生成的文件夹是SDL2,之后doppia调用时会出现找不到“SDL files”的错误)

    安装protobuf库,则是我经过多番测试,得到的能够通过v1,v2测试的安装方法。(之前尝试安装protobuf2.5.0和protobuf2.4.1,doppia都找不到路径,而想把它们删除又删除不了,很麻烦),之后我测试了几个自带的protobuf库,发现安装以下四个库能够通过v1,v2的测试,安装命令为:

    sudo apt-get install libprotobuf-dev libprotoc-dev python-protobuf protobuf-compiler
    • 1
    • 1

    切换到doppia目录下,运行

    sudo sh ./generate_protocol_buffer_files.sh
    • 1
    • 1

    protobuf通过doppia-v1检测的返回信息为

    Generating objects detection files...
    (Ground plane and video input files not yet handled by this script)
    End of game. Have a nice day!
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    protobuf通过doppia-v2检测的返回信息为

    + cd src/objects_detection/
    + protoc --cpp_out=./ detector_model.proto detections.proto
    + protoc --python_out=../../tools/objects_detection/ detector_model.proto detections.proto
    + cd ../..
    + cd src/stereo_matching/ground_plane/
    + protoc --cpp_out=./ plane3d.proto
    + protoc --python_out=../../../tools/stixels_evaluation plane3d.proto
    + cd ../../..
    + cd src/stereo_matching/stixels/
    + protoc --cpp_out=./ -I. -I../ground_plane --include_imports stixels.proto ground_top_and_bottom.proto
    --include_imports only makes sense when combined with --descriptor_set_out.
    + protoc --python_out=../../../tools/stixels_evaluation -I. -I../ground_plane --include_imports stixels.proto ground_top_and_bottom.proto
    --include_imports only makes sense when combined with --descriptor_set_out.
    + cd ../../..
    + cd src/video_input/calibration
    + protoc --cpp_out=./ calibration.proto
    + cd ../../..
    + cd src/helpers/data
    + protoc --cpp_out=./ DataSequenceHeader.proto
    + protoc --python_out=../../../tools/data_sequence DataSequenceHeader.proto
    + cd ../../..
    + cd src/helpers
    + cd ../..
    + cd src/tests/data_sequence/
    + protoc --cpp_out=./ TestData.proto
    + cd ../../..
    + echo End of game. Have a nice day!
    End of game. Have a nice day!
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    到这里,我们该安装的库大部分已经安装成功,接下来就可以开始编译doppia啦!(至于可能还缺少的库,可以根据doppia的错误提示进行安装)

    编译运行doppia/src/applications/objects_detection 
    由于我只需要用到doppia的objects_detection的功能,而之前我在编译doppia-v2时,ground_estimation和stixel_world都能编译运行。所以这次在编译doppia-v1时,我就直接切入“主题”,编译运行objects_detection。下面也主要是列出我在编译objects_detection是遇到的问题以及相应的解决方案。

    错误一,创建(build)错误 
    error:

    /home/mx/doppia/src/applications/objects_detection/../../../src/helpers/data/DataSequence.hpp:293:56: error: invalid use of incomplete type ‘class google::protobuf::io::CodedInputStream’
         const bool read_size_success = input_coded_stream_p->ReadLittleEndian64(&size);
    • 1
    • 2
    • 1
    • 2

    solution: 

    doppia/src/helpers/data/DataSequence.hpp
    • 1
    • 1

    头文件中,在

    #include "DataSequenceHeader.pb.h"
    #include <google/protobuf/io/zero_copy_stream_impl.h>
    • 1
    • 2
    • 1
    • 2

    两行之间添加一行新的引用,如下,

    #include "DataSequenceHeader.pb.h"
    #include <google/protobuf/io/coded_stream.h>
    #include <google/protobuf/io/zero_copy_stream_impl.h>
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    错误二,创建(build)错误 
    error:

    /home/mx/doppia/src/applications/objects_detection/../../../src/objects_detection/gpu/integral_channels_detector.cu.hpp:23:9: error: ‘fast_stage_t’ inclass doppia::SoftCascadeOverIntegralChannelsModeldoes not name a type
     typedef SoftCascadeOverIntegralChannelsModel::fast_stage_t cascade_stage_t;
             ^
    /home/mx/doppia/src/applications/objects_detection/../../../src/objects_detection/gpu/integral_channels_detector.cu.hpp:33:36: error: ‘cascade_stage_t’ was not declared in this scope
     typedef Cuda::DeviceMemoryLinear2D<cascade_stage_t> gpu_detection_cascade_per_scale_t;
                                        ^
    /home/mx/doppia/src/applications/objects_detection/../../../src/objects_detection/gpu/integral_channels_detector.cu.hpp:33:51: error: template argument 1 is invalid
     typedef Cuda::DeviceMemoryLinear2D<cascade_stage_t> gpu_detection_cascade_per_scale_t;
                                                       ^
    /home/mx/doppia/src/applications/objects_detection/../../../src/objects_detection/gpu/integral_channels_detector.cu.hpp:33:86: error: invalid type in declaration before ‘;’ token
     typedef Cuda::DeviceMemoryLinear2D<cascade_stage_t> gpu_detection_cascade_per_scale_t;
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    这里出现错误原因是因为common_settings.cmake中没有添加cuda链接库路径。 
    solution: 
    编辑common_settings.cmake,在其中添加一个条件项

    elseif(${HOSTNAME} STREQUAL  "mx-pc")
      message(STATUS "Using mx-pc optimisation options")
    
      option(USE_GPU "Should the GPU be used ?" TRUE)
      set(CUDA_BUILD_CUBIN OFF)
      set(local_CUDA_LIB_DIR "/usr/local/cuda/lib64")
      set(cuda_LIBS "")
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这里mx-pc是我电脑的主机名,你需要将它改成自己电脑的主机名。

    错误三,创建(build)错误 
    error:

    /home/mx/doppia/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);
    • 1
    • 2
    • 1
    • 2

    solution: 

    doppia/src/objects_detection/SoftCascadeOverIntegralChannelsFastFractionalStage.cpp
    • 1
    • 1

    文件开头添加一行引用

    #include<iostream>
    • 1
    • 1

    解决了以上三个错误后,doppia就可以创建(build)成功啦!但要想运行成功,还得改正以下2个错误。

    错误四,链接(link)错误 
    error:

    Linking CXX executable objects_detection
    /usr/bin/ld: cannot find -lboost_program_options-mt
    /usr/bin/ld: cannot find -lboost_filesystem-mt
    /usr/bin/ld: cannot find -lboost_system-mt
    /usr/bin/ld: cannot find -lboost_thread-mt
    collect2: error: ld returned 1 exit status
    make[2]: *** [objects_detection] 错误 1
    make[1]: *** [CMakeFiles/objects_detection.dir/all] 错误 2
    make: *** [all] 错误 2
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    这里出现错误的原因,是boost库链接出错,这时候我们需要修改CMakeList.txt文件,这里我就直接把CMakeList.txt贴出来,修改的地方做过注释。 
    solution:

    # This is a CMake build file, for more information consult:
    # http://en.wikipedia.org/wiki/CMake
    # and
    # http://www.cmake.org/Wiki/CMake
    # http://www.cmake.org/cmake/help/syntax.html
    # http://www.cmake.org/Wiki/CMake_Useful_Variables
    # http://www.cmake.org/cmake/help/cmake-2-8-docs.html
    
    # to compile the local code you can use: cmake ./ && make -j2
    
    # ----------------------------------------------------------------------
    # Base CMake setup
    
    cmake_minimum_required (VERSION 2.6)
    
    set(doppia_root "../../..")
    
    set(CMAKE_MODULE_PATH $ENV{CMAKE_MODULE_PATH})
    set(CMAKE_MODULE_PATH "./" ${doppia_root} ${CMAKE_MODULE_PATH})
    set(CMAKE_MODULE_PATH "/home/rodrigob/work/code/doppia_references/cuda/FindCUDA/CMake/cuda" ${CMAKE_MODULE_PATH})
    set(CMAKE_MODULE_PATH "/users/visics/rbenenso/code/references/cuda/FindCUDA/CMake/cuda" ${CMAKE_MODULE_PATH})
    
    # ----------------------------------------------------------------------
    # Setup the project
    
    include(FindPkgConfig)
    project (ObjectsDetection)
    
    # ----------------------------------------------------------------------
    # Site specific configurations
    include(${doppia_root}/common_settings.cmake)
    
    # ----------------------------------------------------------------------
    # Setup required libraries
    pkg_check_modules(libpng REQUIRED libpng)
    #pkg_check_modules(OpenEXR REQUIRED OpenEXR)
    pkg_check_modules(opencv REQUIRED opencv>=2.3)
    #set(vw_LIBRARIES "-lvwCore -lvwImage -lvwStereo -lvwFileIO -lvwMath -lvwInterestPoint")
    
    set(opencv_LIBRARIES
        opencv_core opencv_imgproc opencv_highgui opencv_ml
        opencv_video opencv_features2d
        opencv_calib3d
        #opencv_objdetect opencv_contrib
        opencv_legacy opencv_flann
       ) # quick hack for opencv2.4 support
    
    # 修改1:find where is boost 
    #(+)find_package(Boost REQUIRED  
    #(+)   COMPONENTS program_options filesystem system thread
    #(+) )
    find_package(Boost REQUIRED  
       COMPONENTS program_options filesystem system thread
    ) 
    
    # ----------------------------------------------------------------------
    # Setup CUDA
    if(USE_GPU)
      find_package(CUDA 4.0 REQUIRED)
      include_directories(${CUDA_INCLUDE_DIRS} ${CUDA_CUT_INCLUDE_DIR})
    endif(USE_GPU)
    
    # ----------------------------------------------------------------------
    # Setup link and include directories
    
    set(local_LIBRARY_DIRS
      "/usr/local/lib"
      "/users/visics/rbenenso/no_backup/usr/local/lib"
      "/usr/lib64"
      "/usr/lib64/atlas"
      "/usr/lib/sse2/atlas"
      "/usr/lib/llvm-2.8/lib"
      ${local_CUDA_LIB_DIR}
    )
    set(local_INCLUDE_DIRS
      "/users/visics/rbenenso/no_backup/usr/local/include"
      "/usr/include/eigen2/"
       "/usr/local/include/eigen2"
       "/usr/local/cuda/include"
       ${CUDA_INCLUDE_DIRS}
    )
    
    link_directories(
      ${libpng_LIBRARY_DIRS}
      ${OpenEXR_LIBRARY_DIRS}
      ${opencv_LIBRARY_DIRS}
      ${local_LIBRARY_DIRS}
    )
    
    include_directories(
      "${doppia_root}/libs"
      "${doppia_root}/src"
      ${libpng_INCLUDE_DIRS}
      ${OpenEXR_INCLUDE_DIRS}
      ${opencv_INCLUDE_DIRS}
      ${local_INCLUDE_DIRS}
      "${doppia_root}/libs/cudatemplates/include"
    )
    
    if(USE_GPU)
    cuda_include_directories("${doppia_root}/libs/")
    endif(USE_GPU)
    
    # ----------------------------------------------------------------------
    # Collect source files
    
    set(doppia_src "${doppia_root}/src")
    set(doppia_stereo "${doppia_root}/src/stereo_matching")
    
    file(GLOB SrcCpp
      "./ObjectsDetection*.cpp"
      "./draw*.cpp"
      "${doppia_src}/*.cpp"
      #"${doppia_src}/objects_detection/*.c*"
      "${doppia_src}/objects_detection/Abstract*.c*"
      "${doppia_src}/objects_detection/*Converter.c*"
      "${doppia_src}/objects_detection/Base*.c*"
      "${doppia_src}/objects_detection/*Factory.c*"
      "${doppia_src}/objects_detection/Greedy*.c*"
      "${doppia_src}/objects_detection/Detection*.c*"
      "${doppia_src}/objects_detection/*Model.c*"
      "${doppia_src}/objects_detection/*Stage.c*"
      "${doppia_src}/objects_detection/*Integral*.c*"
      "${doppia_src}/objects_detection/MultiscalesIntegral*.c*"
      "${doppia_src}/objects_detection/integral_channels/Integral*.cpp"
      "${doppia_src}/objects_detection/FastestPedestrian*.c*"
      "${doppia_src}/objects_detection/DetectorSearchRange.c*"
      "${doppia_src}/objects_detection/*.pb.c*"
      "${doppia_src}/objects_detection/non_maximal_suppression/*.c*"
    
      "${doppia_src}/objects_tracking/*.cpp"
    
      "${doppia_src}/applications/*.cpp"
      "${doppia_src}/applications/stixel_world/*Gui.cpp"
      "${doppia_src}/applications/stixel_world/draw*.cpp"
    
      #"${doppia_stereo}/*.cpp"
      "${doppia_stereo}/cost_volume/*CostVolume.cpp"
      "${doppia_stereo}/cost_volume/*CostVolumeEstimator*.cpp"
      "${doppia_stereo}/cost_volume/DisparityCostVolumeFromDepthMap.cpp"
      "${doppia_stereo}/cost_functions.cpp"
      "${doppia_stereo}/CensusCostFunction.cpp"
      "${doppia_stereo}/CensusTransform.cpp"
      "${doppia_stereo}/GradientTransform.cpp"
      "${doppia_stereo}/AbstractStereoMatcher.cpp"
      "${doppia_stereo}/AbstractStereoBlockMatcher.cpp"
      "${doppia_stereo}/SimpleBlockMatcher.cpp"
      "${doppia_stereo}/MutualInformationCostFunction.cpp"
      "${doppia_stereo}/ConstantSpaceBeliefPropagation.cpp"
      "${doppia_stereo}/qingxiong_yang/*.cpp"
      "${doppia_stereo}/SimpleTreesOptimizationStereo.cpp"
      "${doppia_stereo}/OpenCvStereo.cpp"
    
      "${doppia_stereo}/ground_plane/*.cpp"
      "${doppia_stereo}/stixels/*.cpp"
       #"${doppia_stereo}/stixels/*.cc"
      "${doppia_src}/video_input/*.cpp"
      "${doppia_src}/video_input/calibration/*.c*"
      "${doppia_src}/video_input/preprocessing/*.cpp"
      #"${doppia_src}/features_tracking/*.cpp"
      "${doppia_src}/image_processing/*.cpp"
      "${doppia_src}/drawing/gil/*.cpp"
    )
    
    
    file(GLOB HelpersCpp
      #"${doppia_src}/helpers/*.cpp"
      "${doppia_src}/helpers/data/*.c*"
      "${doppia_src}/helpers/any_to_string.cpp"
      "${doppia_src}/helpers/get_section_options.cpp"
      "${doppia_src}/helpers/Log.cpp"
      "${doppia_src}/helpers/loggers.cpp"
      "${doppia_src}/helpers/AlignedImage.cpp"
      "${doppia_src}/helpers/replace_environment_variables.cpp"
      "${doppia_src}/helpers/objects_detection/*.cpp"
    )
    
    file(GLOB SrcGpuCpp
      "${doppia_src}/objects_detection/Gpu*.cpp"
      "${doppia_src}/objects_detection/integral_channels/Gpu*.cpp"
      "${doppia_src}/helpers/gpu/*.cpp"
    
      #"${doppia_stereo}/SimpleTreesGpuStereo.cpp"
    )
    
    file(GLOB SrcCuda
      "${doppia_src}/objects_detection/integral_channels/gpu/*.cu"
      "${doppia_src}/objects_detection/integral_channels/gpu/*.cpp"
      "${doppia_src}/objects_detection/gpu/*.cu"
      "${doppia_src}/objects_detection/gpu/*.cpp"
    
      #"${doppia_src}/helpers/gpu/*.cu"
    
    #  "${doppia_stereo}/*.cu.c*"
    #  "${doppia_stereo}/*.cu"
    #  "${doppia_stereo}/gpu/*.cu.c*"
    #  "${doppia_stereo}/gpu/*.cu"
    )
    
    list(REMOVE_ITEM SrcCpp ${SrcCuda}) # just in case
    
    
    if(USE_GPU)
    
    # add GPU related source code to the executable list
    list(APPEND SrcCpp ${SrcGpuCpp})
    
    # add GPU related libraries
    list(APPEND opencv_LIBRARIES opencv_gpu)
    
    # ----------------------------------------------------------------------
    # Compile CUDA stuff
    cuda_include_directories(${local_CUDA_CUT_INCLUDE_DIRS})
    cuda_include_directories(${CUDA_INCLUDE_DIRS} ${CUDA_CUT_INCLUDE_DIR} ${local_CUDA_CUT_INCLUDE_DIR})
    link_directories(${local_CUDA_CUT_LIBRARY_DIRS})
    
    cuda_add_library(cuda_stuff_library ${SrcCuda})
    target_link_libraries(cuda_stuff_library
       ${CUDA_LIBRARIES}
       ${cutil_LIB}
    )
    
    #set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} --generate-line-info) # used during profiling
    
    endif(USE_GPU)
    # ----------------------------------------------------------------------
    # Create the executable
    #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") # required for unrestricted unions
    #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -p") # add gprof information
    
    add_library(cpp_stuff_library  ${SrcCpp} ${HelpersCpp})
    
    add_executable(objects_detection "./objects_detection.cpp")
    
    target_link_libraries(objects_detection
    
       cpp_stuff_library
    
       ${cg_LIBRARIES}
       # linking with CgGL _after_ boost_program_options generates a segmentation fault ! boost_program_options 1.39 has a bug
       #修改2:link to boost
       #(-)boost_program_options-mt boost_filesystem-mt boost_system-mt boost_thread-mt
       #(+)${Boost_LIBRARIES}
       ${Boost_LIBRARIES}
       protobuf pthread
       SDL X11 Xext #Xrandr
       gomp
       ${libpng_LIBRARIES} jpeg
    #  ${OpenEXR_LIBRARIES} 
       ${opencv_LIBRARIES}
    
       #${vw_LIBRARIES}
       #csparse sparse spblas mv
       #lapack blas atlas
    
       ${google_perftools_LIBS} # enables profiling, see http://code.google.com/p/google-perftools
    
       #`OcelotConfig -l`
       #ocelot
       #boost_system-mt boost_filesystem-mt boost_thread-mt
       #GLEW
       #LLVMAsmParser LLVMX86Disassembler LLVMX86AsmParser LLVMX86CodeGen LLVMSelectionDAG
       #LLVMAsmPrinter LLVMMCParser LLVMX86AsmPrinter LLVMX86Info LLVMJIT
       #LLVMExecutionEngine LLVMCodeGen LLVMScalarOpts LLVMInstCombine LLVMTransformUtils LLVMipa
       #LLVMAnalysis LLVMTarget LLVMMC LLVMCore LLVMSupport LLVMSystem
    )   
    
    if(USE_GPU)
    target_link_libraries(objects_detection cuda_stuff_library ${local_CUDA_LIB})
    endif(USE_GPU)
    # ----------------------------------------------------------------------
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    • 255
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    • 255
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271

    到这里就OK啦!

    最后运行成功你会看到一个简短地video,以及下面这样的信息

    2015-05-09 16:33:23 {7feb06974880} [ BaseIntegralChannelsDetector ] : Warning: At scale index 47 the detection window size is larger than the biggest ground plane corridor. Setting the detection search to a single line.
    scale_index == 47, original_height == 18, updated_height == 1
    Expected speed gain == 5.28x (num pixels original/updated)
    GpuVeryFastIntegralChannelsDetector::compute_v2 max search range (min_x, min_y; max_x, max_y) == (0, 0; 153, 58)
    2015-05-09 16:33:23 {7feb06974880} [ GpuIntegralChannelsDetector ] : scaled_x == 640, scaled_y == 480
    Requested frame number 11 but frames should be in range (0, 10)
    Processed a total of 10 input frames
    Average objects detection speed per iteration 29.36 [Hz] (in the last 10 iterations)
    End of game, have a nice day.
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    好啦,doppia编译到此也就结束啦! 
    希望这几篇文章能帮助正在读博客的你。

    doppia及作者相关介绍链接: 
    http://blog.csdn.net/xizero00/article/details/43227019 
    https://bitbucket.org/rodrigob/doppia

  • 相关阅读:
    寒假周总结一
    1657. Determine if Two Strings Are Close
    1656. Design an Ordered Stream
    695. Max Area of Island (BFS)
    695. Max Area of Island (DFS)
    Daily Coding Problem: Problem #713
    939. Minimum Area Rectangle
    259. 3Sum Smaller
    29. Divide Two Integers
    16. 3Sum Closest
  • 原文地址:https://www.cnblogs.com/huty/p/8517099.html
Copyright © 2011-2022 走看看