如果我不使用任何命名空间我的代码工作得很好,但是当我尝试使用带有这样的命名空间的方法时:
cv::nameOfMethodInHighGUI()
编译器告诉我cv
没有这样的成员方法。
所以我认为highgui.h
和cv.h
有不同的命名空间,我是对的吗?
任何人都可以告诉我应该使用什么命名空间来调用头文件highgui.h
中的方法吗?
答案 0 :(得分:3)
所有opencv函数都包含在命名空间cv!
中因此要显示图像,您可以使用cv :: imshow(在opencv> 2上)
答案 1 :(得分:0)
从看到highgui.h
我有以下想法:
也许你不小心混合了旧式和新的OpenCV2包含标题(因为它们都附带了OpenCV2 +库)。
我建议只使用
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
他们拥有cv
命名空间中的所有功能。