2013-01-16 64 views
0

我可以在没有gstreamer的Mac上编译OpenCV。在Mac OS X上使用gstreamer编译OpenCV 2.4.3-rc 10.8

的问题是,GStreamer的似乎并不被cmake被拾起,即使我有通过的MacPorts安装以下库:

ffmpeg-devel     @20121205  multimedia/ffmpeg-devel 
    ... 
    gst-ffmpeg      @0.10.13  gnome/gst-ffmpeg 
    gst-plugins-bad    @0.10.23  gnome/gst-plugins-bad 
    gst-plugins-base    @0.10.36  gnome/gst-plugins-base 
    gst-plugins-gl     @0.10.3   gnome/gst-plugins-gl 
    gst-plugins-good    @0.10.31  gnome/gst-plugins-good 
    gst-plugins-math    @0.1.0   science/gst-plugins-math 
    gstreamer      @0.10.36  gnome/gstreamer 

我的cmake生成日志看起来是这样的(最省略):

-- Video I/O: 
    --  DC1394 1.x:     NO 
    --  DC1394 2.x:     YES (ver 2.1.3) 
    --  FFMPEG:      YES 
    --  codec:      YES (ver Unknown) 
    --  format:     YES (ver Unknown) 
    --  util:      YES (ver Unknown) 
    --  swscale:     YES (ver Unknown) 
    --  gentoo-style:    YES 
    --  OpenNI:      NO 
    --  OpenNI PrimeSensor Modules: NO 
    --  PvAPI:      NO 
    --  GigEVisionSDK:    NO 
    --  QuickTime:     NO 
    --  QTKit:      YES 

正如你所看到的,gstreamer不上生成的日志存在。

我正在尝试将OpenCV用于Apexis IP摄像机,该摄像机通过HTTP提供视频输入。借助Gstreamer,我可以在Ubuntu 12.10服务器版上构建---而IP摄像机的工作原理---但我更喜欢能够在我的Mac上进行GUI会话。

任何见解都是值得欢迎的。

+1

您可能需要配置cmake以查看macports安装库的pkgconfig,include和lib路径。 – yiding

+0

@yiding我会怎么做? –

+0

第二次检查时,我刚刚在我的'CMakeLists.txt'中看到'OCV_OPTION(WITH_GSTREAMER“包括Gstreamer支持”ON IF(UNIX AND NOT APPLE AND NOT ANDROID)“)。也许它被列入黑名单。要试试这个。 –

回答

0

感谢@yiding,我发现了这个问题。

由于某种原因,Mac上的OpenCV列入黑名单的gstreamer。我能够通过简单地更改cmake配置来取消黑名单(CMakeLists.txt)。

变化

OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON IF (UNIX AND NOT APPLE AND NOT ANDROID)) 

OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON IF (UNIX AND NOT ANDROID)) 

于是,我重新安装了两个ffmpeggstreamer和所有的依赖关系,并与make -j8重新编译。 sudo make install。就是这样。

现在我有IP Camera使用OpenCV流媒体到我的Mac!

编辑:对于上下文,这是OpenCV 2.4.3-rc和Mac OS X 10.8。