【问题标题】:Error on building OpenCV (C++)构建 OpenCV (C++) 时出错
【发布时间】:2011-07-14 11:08:34
【问题描述】:

构建我的代码(如下)返回error 'imread' is not a member of 'cv'

我正在使用:

  • Ubuntu 11.04。
  • libcv 位于 2.1.0-3ubuntu1
  • CMake 作为构建系统(其中只有 project(foo) 和 add_executable(foo main.cpp)。)

main.cpp:

#include <opencv/cv.h>
int main(int argc, char **argv) {
     cv::Mat src = cv::imread("frame_original.png", 0);
     return 0;
 }`

要使 cv::imread 正常工作,我需要包含哪些内容?

imread 是 OpenCV 2.1 的一部分: http://opencv.willowgarage.com/documentation/cpp/highgui_reading_and_writing_images_and_video.html?highlight=imread#imread 但它在我的系统上的什么位置?我需要包括什么?我在哪里可以找到告诉我需要从 OpenCV 获得哪个头文件才能使用特定功能的文档?

【问题讨论】:

    标签: c++ linux ubuntu opencv


    【解决方案1】:

    你应该包括opencv/highgui.h

    【讨论】:

    • 我的系统上没有opencv/highgui.h。
    • 好的,我不知道它是否有帮助,但是如果我 cd 到 opencv 包含目录,并且grep imread * 我在 highgui.hpp 中得到了命中,它包含在 highgui.h 中跨度>
    • 已解决:有一个包叫libhighgui2.1和libhighgui-dev。需要 libhighgui-dev。
    • 必须包含一个gui组件(甚至看起来是单独打包的)才能进行非gui操作(读取图像),这不是很奇怪吗?
    【解决方案2】:

    您可能必须在 CMake 配置文件中实际包含 OpenCV 库和标头。 特别是查看include_directories 的头文件和target_link_libraries 的库本身

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 2018-04-03
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      • 2016-03-10
      相关资源
      最近更新 更多