不完整类型 "cv::Mat" opencv c++。

6
我想在我的光线追踪项目中使用OpenCV创建一个矩阵。 这是我想到的代码:
#include "Windows.h"
#include "core/mat.hpp"
#include "core/core.hpp"
#include "core/types_c.h"

using namespace cv;

Mat createImage()
{
     Mat b(480, 640, CV_8UC3);
     return b;
}

我有一个与两个Mat相关的问题。它说“变量具有不完整类型'cv :: Mat'”。我不明白这是什么意思,因为我只写了Mat没有别的东西。

可以有人帮帮我吗?


你应该只包含core.hpp,但是看起来像是链接器错误。 - Martin Beckett
我在stackoverflow上找到了一个关于如何将opencv与xcode链接的答案,所以我按照所有步骤进行了操作。那么这个链接器错误是关于xcode本身的问题吗? - Ekica
这对我来说更像是编译器错误,而不是链接器输出。 - AlexK
1
请先重新调整您的include路径,以便它指向opencv/build/include文件夹。尝试仅使用以下代码:#include "opencv2/core/core.hpp" ,跳过所有其他头文件(特别是windows.h)。 - berak
我想使用OpenCV创建图像。我问了一个朋友,在C++中我应该使用什么来制作图像/矩阵,他告诉我可以使用OpenCV。 - Ekica
显示剩余2条评论
2个回答

5
只需包含opencv2/core/core.hpp即可。
你可以使用以下示例代码。
#include "opencv2/core/core.hpp"
using namespace cv;   

Mat createImage()
{
 Mat b(480, 640, CV_8UC3);
 return b;
}

int main()
{
   createImage();
}

0
你只需要 `#include "core/core.hpp"`。
编译器需要能够找到包含文件,你的编译器的包含目录列表中是否有 `Opencv/Include`?它是否报告了找不到 core.hpp 的任何错误?

我刚刚包含了core / core.hpp,但我还必须包含type.hpp,因为core.hpp中没有CV_8UC3,我仍然遇到这个问题。 :( - Ekica

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接