微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Ubuntu 14.10中安装OpenCV

我试图按照指示在Ubuntu 14.10中安装OpenCV。 我安装了所有提到的依赖关系,但是当我试图运行时,我得到这样的错误

/home/ilia/opencv-2.4.8/modules/highgui/src/ffmpeg_codecs.hpp:114:7: error: 'CODEC_ID_H261' was not declared in this scope { CODEC_ID_H261,MKTAG('H','2','6','1') }

对于所有的编解码器,我想。 而这些错误

In file included from /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg.cpp:45:0: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'double CvCapture_FFMPEG::getProperty(int)': /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:773:33: error: 'AVStream' has no member named 'r_frame_rate' return av_q2d(video_st->r_frame_rate); ^ /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'double CvCapture_FFMPEG::get_fps()': /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:820:49: error: 'AVStream' has no member named 'r_frame_rate' double fps = r2d(ic->streams[video_stream]->r_frame_rate); ^ In file included from /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg.cpp:45:0: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In function 'int icv_av_write_frame_FFMPEG(AVFormatContext*,AVStream*,uint8_t*,uint32_t,AVFrame*)': /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:1236:72: error: 'avcodec_encode_video' was not declared in this scope out_size = avcodec_encode_video(c,outbuf,outbuf_size,picture); ^

它看起来像找不到一些头文件,但我安装了所有必要的开发包libswscale-dev,libavdevice-dev,libavfilter-dev,libavformat-dev,libavcodec-dev。 我该如何解决这些问题?

python vlc绑定的windows

如何在Win7 -64位安装openCV

Ububtu,opencv和链接

OpenCV SurfDescriptorExtractor根据应用程序的启动方式提取不同的点

Ubuntu 16.04 – 为什么我不能安装libtiff4-dev?

使用opencv为应用程序创build可执行文件

在Windows 7上开始使用OpenCV 2.4和MinGW

windows,ImportError:DLL加载失败:指定的模块找不到

如何访问由openCV中的udev符号链接的摄像头

OpenCV和python / virtualenv?

除非你有特殊的原因,否则我会建议安装已经在Ubuntu存储库中的OpenCV: sudo apt-get install libopencv-dev

对于视频编解码器,我建议简单地尝试安装所有与ffmpeg和gstreamer相关的编解码器软件包。

在大多数情况下,从Ubuntu存储库安装OpenCV是一个不错的选择,但是有时候您需要自己从源代码构建OpenCV。

例如,如果您需要OpenCV的非自由功能,或者想要为这个项目做出贡献(您应该使用最新版本来创建拉取请求),或者想要改变OpenCV(是的,OpenCV也可以包含错误)。

可能的解决方案是建立ffmpeg(这是相当简单的) – 我真的不明白为什么Debian / Ubuntu更喜欢没有替代的libav。

要安装ffmpeg,你应该从官方站点或克隆GIT仓库(git://source.ffmpeg.org/ffmpeg.git)下载它的源代码,然后进入源代码目录并运行

./configure –enable-shared –disable-static

使

sudo make install

您也可以添加其他参数进行configure 。 你也可以构建静态库,但是OpenCV不能用静态ffmpeg库来构建(现在我不知道为什么)。

在此之后,您可以从OpenCV站点下载OpenCV源代码或克隆GitHub存储库( OpenCV存储库 ),创建生成文件夹并从中运行以下内容

cmake PATH_TO_SOURCES -DCMAKE_BUILD_TYPE =发布

使

sudo make install

当然, PATH_TO_SOURCES必须是OpenCV源代码的实际路径。

完成这些步骤之后,您将在系统中使用最新的OpenCV版本。

你可以尝试建立没有ffmpeg:

cmake -DCMAKE_BUILD_TYPE=RELEASE -DWITH_FFMPEG=OFF .. make sudo make install

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐