name 必须是命名空间名称 Visual Studio 错误
Posted
技术标签:
【中文标题】name 必须是命名空间名称 Visual Studio 错误【英文标题】:name must be a namespace name Visual Studio Error 【发布时间】:2017-02-13 07:36:40 【问题描述】:我正在尝试运行以下代码并将 RGB 图像转换为 YCbCr 颜色模型。但是在构建此代码段时,会出现上述错误。我附上了截图。你能不能参考一下,给我一个解决方案。
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "iostream"
#include "opencv2/opencv.hpp"
using namespace cv;
using namespace cv2;
using namespace std;
int main()
Mat src1;
src1 = imread("face.jpg", CV_LOAD_IMAGE_COLOR);
namedWindow("Original image", CV_WINDOW_AUTOSIZE);
imshow("Original image", src1);
Mat gray, edge, draw;
//cvtColor(src1, gray, CV_BGR2GRAY);
Mat imgYCC = cv2.cvtColor(src1, cv2.COLOR_BGR2YCR_CB);
//equalizeHist(gray, draw);
//Canny(gray, edge, 50, 255, 3);
edge.convertTo(draw, CV_8U);
namedWindow("image", CV_WINDOW_AUTOSIZE);
imshow("image", imgYCC);
waitKey(0);
return 0;
【问题讨论】:
表示不存在命名空间cv2
。我认为您可以在没有cv2.
的情况下致电cvtColor()
。
在 C++ 中,命名空间不与点一起使用,而是与 ::
一起使用,如 cv::cvtColor(src1, cv::COLOR_BGR2YCR_CB);
【参考方案1】:
命名空间cv2
不存在。它是 python 包装器的名称。
只需删除该行:
using namespace cv2;
并且不要在你的代码中使用它,例如:
Mat imgYCC = cvtColor(src1, COLOR_BGR2YCR_CB);
【讨论】:
以上是关于name 必须是命名空间名称 Visual Studio 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何不在生成的命名空间中包含 Visual Studio 项目文件夹名称
“类型或命名空间名称‘[Type]’在此范围内无效”Visual Studio 监视窗口中的错误?
MySql 在 Visual Studio 2012 中不起作用:找不到类型或命名空间名称“MySql”
项目默认的 XML 命名空间必须是在 Visual Studio 2017.0 中安装 .Net Core 3 后的 MSBuild XML 命名空间错误