我正在尝试运行以下简单代码
# cat VideoCaptureTest.cpp
#include <cstdlib>
#include <string>
#include <iostream>
#include <opencv2/videoio.hpp>
using namespace std;
int main(int argc, char** argv) {
string input("/root/OpenCVTest/720p.mp4");
cv::VideoCapture capture(input);
if (!capture.isOpened()) {
cout << "Failed to open " << input << endl;
exit (1);
}
return 0;
}
使用
编译成功# g++ -ggdb VideoCaptureTest.cpp -lopencv_videoio -o VideoCaptureTest
但是 VideoCaptureTest
无法打开指定的 .mp4
文件,尽管该文件存在并且可以由 ffmpeg -i /root/OpenCVTest/720p.mp4
推断
# ./VideoCaptureTest
Failed to open /root/OpenCVTest/720p.mp4
我已经用
编译了 OpenCVcmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON \
-D WITH_QT=OFF \
-D WITH_V4L=ON \
-D CMAKE_SHARED_LINKER_FILES=-wl,-Bsymbolic \
-D WITH_FFMPEG=1 \
-D WITH_CUDA=ON \
-D CUDA_GENERATION=Turing \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D WITH_LAPACK=OFF \
-D BUILD_opencv_python2=OFF ..
可以使用
验证安装# pkg-config --modversion opencv4
4.5.3
我在 nvidia/cuda:10.0-devel-ubuntu18.04
上的 Ubuntu 20.04 GCP VM
docker 容器上运行它,带有 T4
GPU。它没有任何图形环境。
答案 0 :(得分:0)
https://github.com/justadudewhohacks/opencv4nodejs/issues/274 修复了该问题。 我需要
apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavresample-dev