opencv - 使用 Gstreamer 编译 Opencv,cmake 找不到 GStreamer

标签 opencv compilation cmake gstreamer

我想构建支持 GStreamer 的 opencv。

我按照本指南从源代码(版本 1.8.1)构建了 GStreamer: http://kacianka.at/?p=145 我的主目录中有“gstreamer_build”文件夹,其中包含“bin”文件夹:

gst-device-monitor-1.0 gst-discoverer-1.0 gst-inspect-1.0 gst-launch-1.0 gst-play-1.0 gst-stats-1.0 gst-typefind-1.0 orc-bugreport orcc

我已将此路径添加到我的环境变量 PATH 中。

当我像这样使用 cmake 时:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D BUILD_opencv_python3=ON -D WITH_GSTREAMER=ON -D WITH_FFMPEG=OFF ..

我得到以下输出,清楚地表明找不到 gstreamer:

-- checking for module 'gstreamer-base-1.0'
--   package 'gstreamer-base-1.0' not found
-- checking for module 'gstreamer-video-1.0'
--   package 'gstreamer-video-1.0' not found
-- checking for module 'gstreamer-app-1.0'
--   package 'gstreamer-app-1.0' not found
-- checking for module 'gstreamer-riff-1.0'
--   package 'gstreamer-riff-1.0' not found
-- checking for module 'gstreamer-pbutils-1.0'
--   package 'gstreamer-pbutils-1.0' not found
-- checking for module 'gstreamer-base-0.10'
--   package 'gstreamer-base-0.10' not found
-- checking for module 'gstreamer-video-0.10'
--   package 'gstreamer-video-0.10' not found
-- checking for module 'gstreamer-app-0.10'
--   package 'gstreamer-app-0.10' not found
-- checking for module 'gstreamer-riff-0.10'
--   package 'gstreamer-riff-0.10' not found
-- checking for module 'gstreamer-pbutils-0.10'
--   package 'gstreamer-pbutils-0.10' not found

还有这个:

Video I/O:
--     DC1394 1.x:                  NO
--     DC1394 2.x:                  NO
--     FFMPEG:                      NO
--       codec:                     NO
--       format:                    NO
--       util:                      NO
--       swscale:                   NO
--       resample:                  NO
--       gentoo-style:              NO
--     GStreamer:                   NO
--     OpenNI:                      NO
--     OpenNI PrimeSensor Modules:  NO
--     OpenNI2:                     NO
--     PvAPI:                       NO
--     GigEVisionSDK:               NO
--     UniCap:                      NO
--     UniCap ucil:                 NO
--     V4L/V4L2:                    Using libv4l1 (ver 1.0.1) / libv4l2 (ver 1.0.1)
--     XIMEA:                       NO
--     Xine:                        NO
--     gPhoto2:                     NO

谁能帮我解决这个问题?

最佳答案

我遇到了同样的问题。

gstreamer-base 对应于 libgstbase-1.0.so(或 libgstbase-0.10.so),位于包 libgstreamer1.0-0(或 libgstreamer0.10-0,视情况而定)。下面,我们安装“-dev”包。

我在包 libgstreamer-plugins-base1.0-dev 中找到的其他库(libgst-video、libgst-app、libgst-riff、libgst-pbutils)(同样,替换你的版本希望使用 v0.1 或 v1.0)。

因此,应使用以下命令来安装缺少的依赖项:

sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

重复 cmake 命令,可能事先清除构建目录的内容。

关于opencv - 使用 Gstreamer 编译 Opencv,cmake 找不到 GStreamer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37678324/

相关文章:

python - 在python中更改图像的hsv值

python - cv2.videoCapture(filename)动态分配文件名(已关闭)

c++ - 如何从主应用程序的 GetInstance 获取引用?

linux - cmake 错误 : opencv2/opencv. hpp:opencv2/opencv.hpp:No such file or directory

windows - CMake 告诉我什么(Windows 上的错误)?

opencv - 模运算符的替代方案

python - cv2 (cv2.cv2) 中未解析的引用 "cv2"

c++ - 如何编译 thrust 和 c++ 项目?

c - 使用 gcc 编译时 -ffreestanding 和 -nostdlib 之间的区别

python - 导入 Pybind11/C++ 编译模块不起作用