错误C2664:&x27;cv::Mat::Mat(int,int,int)和#x27;:无法将参数1从';cv::尺寸';至';int'; 这是我第一次尝试编写OpenCV C++代码。 我试图创建一个所有像素值为200的图像,然后画一条线: #include <vector> #include "opencv2/highgui/highgui.hpp" #include <opencv\cv.h> #include <iostream> #include<conio.h> using namespace cv; using namespace std; int main() { std::vector<char> dataPtr(40000, 200); cv::Point p1(0,0); cv::Point p2(200, 200); cv::Size size(200,200); cv::Mat image(size, CV_8U, dataPtr); if (image.empty()) //check whether the image is valid or not { cout << "Error : Image cannot be created..!!" << endl; system("pause"); //wait for a key press return -1; } cv::line(image, p1, p2, 'r', 5, 8, 0); namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow" imshow("MyWindow", image); //display the image which is stored in the 'img' in the "MyWindow" window waitKey(0); //wait infinite time for a keypress destroyWindow("MyWindow"); //destroy the window with the name, "MyWindow" return 0; }
另一个错误是: 1 IntelliSense:构造函数“cv::Mat::Mat”的实例与 参数列表2july.cpp 78错误C2664:&x27;cv::Mat::Mat(int,int,int)和#x27;:无法将参数1从';cv::尺寸';至';int'; 这是我第一次尝试编写OpenCV C++代码。 我试图创建一个所有像素值为200的图像,然后画一条线: #include <vector> #include "opencv2/highgui/highgui.hpp" #include <opencv\cv.h> #include <iostream> #include<conio.h> using namespace cv; using namespace std; int main() { std::vector<char> dataPtr(40000, 200); cv::Point p1(0,0); cv::Point p2(200, 200); cv::Size size(200,200); cv::Mat image(size, CV_8U, dataPtr); if (image.empty()) //check whether the image is valid or not { cout << "Error : Image cannot be created..!!" << endl; system("pause"); //wait for a key press return -1; } cv::line(image, p1, p2, 'r', 5, 8, 0); namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow" imshow("MyWindow", image); //display the image which is stored in the 'img' in the "MyWindow" window waitKey(0); //wait infinite time for a keypress destroyWindow("MyWindow"); //destroy the window with the name, "MyWindow" return 0; },c++,opencv,C++,Opencv,另一个错误是: 1 IntelliSense:构造函数“cv::Mat::Mat”的实例与 参数列表2july.cpp 78 第一个参数“size”存在一些问题。为什么它说int,而我没有用int?为什么会这样 查看上的规范后,我找不到cv::Mat的构造函数实例,该构造函数的第一个参数是cv::Size,有3个参数 我要换这个 cv::Mat image(size, CV_8U, dataPtr); 对此 cv::Mat image(size, CV_8U); “大小”可能是一个坏名字it
第一个参数“size”存在一些问题。为什么它说int,而我没有用int?为什么会这样 查看上的规范后,我找不到cv::Mat的构造函数实例,该构造函数的第一个参数是cv::Size,有3个参数 我要换这个
cv::Mat image(size, CV_8U, dataPtr);
对此
cv::Mat image(size, CV_8U);
“大小”可能是一个坏名字it@beraksize1也是如此:-(@berak我在Mat中的最后一个参数有什么问题吗?需要任何类型的转换吗?哦,对不起,我没有看到这个,你是对的,那应该是&(dataPtr[0])(第一个元素的地址)。另外,vector可能更有用appropriate@berak非常感谢。它成功了!!
cv::Mat image(size, CV_8U, dataPtr);
cv::Mat image(size, CV_8U);