在 Ubuntu 14.10 中安装 OpenCV

2023-12-02

我正在尝试根据以下方法在 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,您应该从以下位置下载其源代码官方网站或者克隆GIT存储库(git://source.ffmpeg.org/ffmpeg.git),然后进入源目录并运行

./configure --enable-shared --disable-static
make
须藤进行安装

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

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

cmake PATH_TO_SOURCES -DCMAKE_BUILD_TYPE=发布
make
须藤进行安装

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ubuntu 14.10 中安装 OpenCV 的相关文章

随机推荐

  • 如何使用 Metal 将纹理缓冲区数据传递给 Shader?

    我想在计算着色器中将纹理数据作为一维数组处理 我读到最好的方法是将其作为缓冲区而不是一维纹理传递 我正在加载纹理 let textureLoader MTKTextureLoader device device do if let imag
  • DataGridView 中的总计行

    我正在开发一个winform应用程序 我想显示每列最后一行的列总和 该行必须始终可见 目前 我正在考虑在带有记录的数据网格视图下方添加另一个数据网格视图 并将在底部数据网格视图中显示总和 如果有更好的方法来完成这个任务吗 不 需要添加另一个
  • 删除 geom_text 中的重复标签

    我的数据如下所示 composerName season Location Time Venue eventType id conductorName interval movement workTitle 1 Anthem 1918 19
  • Magento 1.6,Google 购物/产品/内容

    Magento 1 6 于本周初发布 但使用 mage googleshopping 扩展 http www magentocommerce com magento connect Magento Core extension 6887 m
  • 编译 Play 应用程序时出现的问题

    我在编译 Play 框架应用程序时遇到了一些问题 有时应用程序运行良好 但大多数时候这些问题都是在 sbt 和 activator 工具中发生的 这是使用 sbt 编译我的应用程序的示例 info Compiling 15 Scala so
  • Objective C 类方法返回值,分配给弱/强属性

    我面临着一些涉及弱属性和强属性的困惑 为了简洁起见 我不会包含整个代码 我创建了一个返回 UIView 对象的类便捷方法 并在 UIView 类别中实现了它作为子类化的替代方法 implementation UIView CSMonthVi
  • 使用 CUT 和 Quartile 在 R 函数中生成中断

    下列的之前的一些很好的建议 我现在正在编写第二个 R 函数并使用类似的逻辑 然而 我正在尝试更多地自动化 但可能变得太聪明了 不利于我自己 我想根据订单数量将客户分成五分位数 这是我执行此操作的代码 sample data clientID
  • 如何在 apache Camel Rest api 中进行自定义错误处理?

    我有一个 apache Camel Rest api 它从 S3 下载文件 我发送 json 输入 key bucketname accessKey secretKey region 以便写入 URI 代码如下所示 public stati
  • vba 循环中出现类型不匹配错误

    我正在 Outlook VBA 中工作 并构建了一个 For Next 循环来读取 MailItems 的正文 其格式类似于 Key Value 对 在某种程度上 它似乎有效 但在第二次迭代结束时 当它到达 下一个项目 时 我收到抛出 类型
  • 阻止传出短信

    如果短信包含根据数据库过滤的单词 如何阻止传出短信 我可以监控发送的消息是否包含已过滤的单词 但我无法阻止短信 您无法停止手机上默认消息发送应用程序发送短信 为此 您必须创建自己的短信盒应用程序 然后才能向其中添加自定义功能
  • 如何使用 Bundle 在 Activity 之间传递 Uri 数组

    我需要将 Uri 数组传递给另一个活动 传递一个我简单使用的字符串数组 String images getImagesPathString Bundle b new Bundle b putStringArray images images
  • 如何向 UIToolBar 添加图像?

    我想将图像添加到用户无法与之交互的 UIToolBar 它本质上只是一个非交互式指示器 就像徽章一样 这可能吗 如果是这样 怎么办 创建一个UIBarButtonItem使用图像并添加它 Example UIBarButtonItem it
  • 处理按钮外部的点击事件

    我正在尝试通过重现 Apple AppStore 中的应用程序来练习 C 在应用程序中 有一个带有文本的矩形 Touch me 当您触摸它时 矩形会自行重新定位 执行此操作几次后 文本将更改为 不要碰我 在这种情况下 您必须触摸矩形之外 一
  • Pyspark 向数据帧添加顺序和确定性索引

    我需要向数据帧添加一个索引列 并具有三个非常简单的约束 从0开始 是连续的 具有确定性 我确信我错过了一些明显的东西 因为我发现的例子对于这样一个简单的任务来说看起来非常复杂 或者使用非顺序 非确定性越来越单调的 id 我不想使用索引进行压
  • 在 Swift 2 中对字典数组进行排序

    我读过很多关于SO的文章 但我仍然感到困惑 我有一系列字典 见下文 var myArray String AnyObject myArray append caseNumber 12349 formType Advanced caseSta
  • python 将本地时间字符串转换为 UTC 纪元时间戳

    我有 YMD hms 格式的字符串 其中删除了时区 但我知道他们现在是东部时间 有夏令时 我正在尝试将它们转换为 UTC 时间的纪元时间戳 我写了以下函数 def ymdhms timezone dst to epoch input str
  • Java Apache POI 打开文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个 Java 程序 可以编辑现有的 Excel 文件并将其另存为新文件 但是 我还希望程序在结束时自动打开新创建的文件 是否有 apache poi 命令可以让我执行此操作 由
  • Rails ActionMailer 中的 Net::SMTPAuthenticationError 502 5.5.2

    我正在尝试向用户发送确认电子邮件 但我收到以下错误 Net SMTPAuthenticationError 502 5 5 2 错误 命令无法识别 Production rb中的配置如下 Disable delivery errors ba
  • 原型声明和前向声明之间的区别?

    所以我有这个代码 class xx int getnum Is this a forward declaration or a prototype declaration and why int xx getnum return 1 3 所
  • 在 Ubuntu 14.10 中安装 OpenCV

    我正在尝试根据以下方法在 Ubuntu 14 10 中安装 OpenCV操作说明 我安装了所有提到的依赖项 但是当我尝试运行时make我收到这样的错误 home ilia opencv 2 4 8 modules highgui src f