我当前的代码
-仅按名称声明Mat
Mat Scribble;
-画两条直线指向它
line(Scribble(leftRect),cvPoint(LEFx,LEFy),cvPoint(leftey.xPos,leftey.yPos), cvScalar(0,250,0),3,8,0);
line(Scribble(rightRect),cvPoint(RIGa,RIGb),cvPoint(rightey.aPos,rightey.bPos), cvScalar(0,250,0),3,8,0);
-显示垫子
imshow(windowName,cameraFeed);
最后一个是破坏程序的原因,我感觉是因为尚未声明Mat的尺寸。但是每当我尝试使用
垫::创建
反正坏了。还有其他方法可以使这项工作吗?
最佳答案
您可能需要初始化Mat Scribble
的大小。这是画线的代码。您可以根据自己的意愿更改其起点和终点。
Mat Scribble = Mat::zeros(250, 250, CV_8UC3); // 250 x 250 Mat
line(Scribble, Point(10, 10), Point(100, 100), Scalar(255, 255, 255), 1, 8);
namedWindow("Scribble", CV_WINDOW_AUTOSIZE);
imshow("Scribble", Scribble);
waitKey();
关于c++ - 如何创建空垫并在其上画线?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18732850/