没有GPU编译OpenCV?

fre*_*ley 12 opencv gpu cmake

我刚刚跑cmake -D CMAKE_BUILD_TYPE=RELEASE ..出来OpenCV/build,并得到了我的输出:

--   OpenCV modules:
--     To be built:                 core imgproc flann highgui features2d calib3d ml video
                                    objdetect contrib nonfree gpu legacy photo python
                                    stitching ts videostab
--     Disabled:                    -
--     Disabled by dependency:      -
--     Unavailable:                 androidcamera java world
Run Code Online (Sandbox Code Playgroud)

问题是,编译gpu失败,可能是因为我的机器没有?(这是一个EC2实例).

make 失败并出现奇怪的错误:

Scanning dependencies of target opencv_test_gpu
[ 72%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_gpumat.cpp.o
[ 72%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/utility.cpp.o
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_filters.cpp.o
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_copy_make_border.cpp.o
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/main.cpp.o
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_threshold.cpp.o
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_video.cpp.o
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_core.cpp.o
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
make[2]: *** [modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_core.cpp.o] Error 4
make[1]: *** [modules/gpu/CMakeFiles/opencv_test_gpu.dir/all] Error 2
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

我已尝试使用该标志,-DOPENCV_MODULES_DISABLED_USER="gpu"但产生奇怪的输出,gpu列为to be built disabled.

--   OpenCV modules:
--     To be built:                 core imgproc flann highgui features2d calib3d ml video objdetect contrib nonfree gpu legacy photo python stitching ts videostab
--     Disabled:                    gpu
--     Disabled by dependency:      -
--     Unavailable:                 androidcamera java world
Run Code Online (Sandbox Code Playgroud)

如何编译没有gpu

cha*_*101 20

要禁用构建特定模块,请使用

-D BUILD_opencv_{modulename}=OFF
Run Code Online (Sandbox Code Playgroud)

在这种情况下,使用

-D BUILD_opencv_gpu=OFF
Run Code Online (Sandbox Code Playgroud)


ced*_*rou 13

尝试添加-D WITH_CUDA=OFF到您的cmake命令行.


Mar*_*ard 7

对于EC2上的OpenCV 2.4.11,我必须同时包含-D BUILD_opencv_gpu=OFF-D WITH_CUDA=OFF.我还包括-D WITH_1394=OFF在python中避免警告.所以:

cd opencv-2.4.11/
mkdir release
cd release/
cmake -D BUILD_opencv_gpu=OFF -D WITH_CUDA=OFF -D WITH_1394=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
Run Code Online (Sandbox Code Playgroud)


fre*_*ley 0

我以最可怕的方式解决了这个特殊问题:

touch modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_core.cpp.o
make
Run Code Online (Sandbox Code Playgroud)

然后编译就ok完成了。但这并不是真正的解决方案,所以我想知道是否有适当的解决方案。