C++ 错误:imread不是cv的成员

C++ 错误:imread不是cv的成员,c++,opencv,ubuntu,imread,C++,Opencv,Ubuntu,Imread,我使用OpenCV 3.0和Ubuntu 14.04。我正在尝试使用opencv在ubuntu上编译一些代码。我犯了一个错误 “错误:'imread'不是'cv'的成员” 由于我以前的搜索知识,我尝试通过添加“highgui.h”进行编译 我使用: $g++ main.cpp HOG.cpp HOGFeaturesOfBlock.cpp -I/usr/local/include/opencv -lml -lcvaux -highgui -lcv -lcxcore -o featureExtrac

我使用OpenCV 3.0和Ubuntu 14.04。我正在尝试使用opencv在ubuntu上编译一些代码。我犯了一个错误

“错误:'imread'不是'cv'的成员”

由于我以前的搜索知识,我尝试通过添加“highgui.h”进行编译

我使用:

$g++ main.cpp HOG.cpp HOGFeaturesOfBlock.cpp -I/usr/local/include/opencv -lml -lcvaux -highgui -lcv -lcxcore -o featureExtractor
在终端上进行编译

有什么建议吗? 当做
Can.

以下命令应该可以工作。如果不起作用,您应该检查是否正确设置了include/lib文件

#include <opencv2\highgui\highgui.hpp>
#include <opencv2\core\core.hpp>
#include <opencv\cv.hpp>

using namespace cv;

Mat image = imread(filename, CV_LOAD_IMAGE_COLOR);
#包括
#包括
#包括
使用名称空间cv;
Mat image=imread(文件名、CV\u加载\u图像\u颜色);

我发现compile命令必须非常具体(除了在代码中使用namespace cv;添加了
),源文件必须直接位于
g++
之后,如下所示

g++ test.cpp -fpermissive $(pkg-config --cflags --libs opencv) -o testbin

如果您使用的是
opencv4
,请将
opencv
替换为
opencv4
,我以前也有同样的问题。 只需添加
#包括“imgcodec.hpp”
, 希望这能帮助你

#包括
#include <opencv2/imgcodecs.hpp> 

解决了包含imread函数的问题

请发布一条消息,以便我们能够准确地看到您所做的操作-否则很难回答。您没有正确设置OpenCV。请参阅以了解要包含的内容和链接(这里是添加到Visual Studio项目的,只需添加到gcc命令行中即可)。好的,我正在尝试从main.cpp中的深度图像中提取功能。我还在main.cpp中调用了readData.cpp。cpp:错误:“imread”不是“cv”的成员@Miki我使用Ubuntu,不是Windows:/Yeah,我知道了。但是你需要正确地包含和链接opencv。1)你不需要
#include
,2)你可以只使用
#include
3)没有
main
这将不起作用,4)opencv 3.0参数现在被称为
IMREAD\u COLOR
我在代码中包含了这些标题,但这次我得到了另一个错误,/usr/bin/ld找不到-lml,其他库也出现相同错误