【问题标题】:OpenCV can't compileOpenCV 无法编译
【发布时间】:2013-03-06 00:00:28
【问题描述】:

我是新手 OpenCV 用户。我只是想了解一些关于它的知识,但我不知道从哪里开始。

不幸的是,我可以找到很多关于 openCV 的教程,但它们对我不起作用(有时是因为他们使用的旧版本)。

所以在真正开始之前,我想看看环境是否运行良好,以避免将来浪费时间。这是我找到的一个例子:

#include <opencv\cv.h>
#include <opencv\highgui.h>

using namespace cv;

int main()
{
    //create an image to store the video screen grab
    Mat image;

    //setup the video capture method using the default camera
    VideoCapture cap;
    cap.open(0);

    //create the window that will show the video feed
    namedWindow("VideoCaptureTutorial", 1);

    //create a loop to update the image with video camera image capture
    while(1)
    {
        //grad a frame from the video camers
        cap>>image;

        //show the image on the screen
        imshow("VideoCaptureTutorial", image);

        //create a 33ms delay
        waitKey(33);
    }

    return 0;
}

我尝试编译 (Visual Studio 2010) 但我得到类似 150-250 的错误。我是 Visual Studio 的新手,我不能很好地理解“他”和他“不喜欢什么”。我正在学习如何在 IDE 中移动,但这很难。

错误指的是imgproc.hpp miniflann.hpp photo.hpp tracking.hpp 并报告了很多未定义的标识符和语法错误。

我有一些编程经验(C 与 Arduino、Java、Assembly),但我发现 openCV 文档非常混乱和困惑。我是自学成才的,所以任何关于如何开始的帮助都将不胜感激,我的目标是在我的 2WD 机器人中实现计算机视觉(如果可能的话是立体的)。

谢谢

【问题讨论】:

  • “我收到类似 150-250 的错误” - 什么错误?编译器错误或链接器错误?
  • 我写了“错误是指 imgproc.hpp miniflann.hpp photo.hpp tracking.hpp 并报告了很多未定义的标识符和语法错误。”其中 100 个是“intellisense”错误,我没有不知道是什么。我认为它们是编译器错误,其中大多数是“;”之前缺少“)”或缺少类型标识符,C++ 不再支持。
  • 您发布的代码似乎没问题,只是一点点说明:您不需要在 C++ 中return 0,这会自动发生。问题很可能与这些头文件的使用方式有关。

标签: c++ visual-studio-2010 visual-c++ opencv compiler-errors


【解决方案1】:

假设您已在 PC 上正确安装 OpenCV 并按您应该设置的 IDE,您需要在代码中包含更多库...尝试将其添加到代码顶部(我有 OpenCV 版本 3.1这段代码对我有用……而且我也是新手!)

#include <iostream>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

【讨论】:

    【解决方案2】:

    不可能告诉您如何才能使您的程序正常运行,因为您几乎没有提供任何有助于了解问题原因的信息。但是在阅读了这些行之后:

    我可以找到很多关于 openCV 的教程,但它们对我不起作用(有时是因为他们使用的旧版本)

    我是 Visual Studio 的新手,我不能很好地理解“他”和他“不喜欢”什么。我正在学习如何在 IDE 中移动,但这很难。

    我建议您看看这些材料(由 William Hoff 教授创建计算机视觉,科罗拉多矿业学院):
    Creating Your First Program in Microsoft Visual C++
    Using OpenCV in Microsoft Visual C++

    另请注意,OpenCV 的二进制形式特定于 Visual Studio 的具体版本。因此,例如,如果您有 ...\OpenCV\build\x86\vc10,这意味着它应该与 Visual Studio 一起使用2010。我最近在 Visual Studio 2012 中使用 OpenCV,我必须自己编译它。

    【讨论】:

    • 是的,我正在使用 vc10。我也在使用 x86,但我在 x64 机器上运行。我不知道该怎么办,我应该复制我得到的所有错误吗?他们是意大利语的,所以很难。我试图描述它们,但编译器并没有在我的 main.c 文件中给我错误,而是在其他一些 .hpp 文件中给我错误。我该怎么办,我没有 VS 2010 的经验,也没有开放的 CV,所以我不知道如何移动。
    • 我想我已经接近了。我有 #include ; 的代码的第一行cv.h 我认为它找不到标题。如何检查正确的目录?
    • @Vendra:“C/C++”->“常规”->“其他包含目录”。它在我给你链接的第二个文档中。
    • 是的,我看到了,谢谢。但是我现在想知道是否应该将这两个包含目录中的哪一个放在那里。因为我在主目录中有一个“包含”,在 /bin/include 中有另一个。在最后一个里面,我还有两个文件夹,一个是 opencv,另一个是 opencv2。
    猜你喜欢
    • 1970-01-01
    • 2013-12-05
    • 2023-04-02
    • 2015-07-23
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    相关资源
    最近更新 更多