gpt4 book ai didi

opencv - 在 Ubuntu 14.10 中安装 OpenCV

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:43 25 4
gpt4 key购买 nike

我正在尝试根据 instruction 在 Ubuntu 14.10 中安装 OpenCV .我安装了所有提到的依赖项,但是当我尝试运行 make 时,我遇到了这样的错误:

/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。我应该怎么做才能解决这些问题?

最佳答案

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

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

可能的解决方案是构建 ffmpeg(这很简单)——我真的不明白为什么 Debian/Ubuntu 更喜欢 libav 而没有其他选择。

要安装 ffmpeg,您应该从 official site 下载它的源代码或者克隆GIT仓库(git://source.ffmpeg.org/ffmpeg.git),然后进入源码目录运行

./configure --enable-shared --disable-static
make
sudo make install

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

在此之后,您可以从 OpenCV site 下载 OpenCV 源代码或克隆 GitHub 存储库 ( OpenCV repository ),创建构建文件夹并从中运行以下命令:

cmake PATH_TO_SOURCES -DCMAKE_BUILD_TYPE=Release
make
sudo make install

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

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

关于opencv - 在 Ubuntu 14.10 中安装 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26592577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com