我当前的代码

-仅按名称声明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/

10-12 07:35