我当前的代码
- 仅按名称声明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);
- 显示Mat
imshow(windowName,cameraFeed);
最后一个是破坏程序的东西,我感觉这是因为Mat的尺寸尚未宣布。但每当我尝试使用 垫::创建 无论如何它都会破裂。有没有其他方法可以使这项工作?
答案 0 :(得分:2)
您可能需要初始化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();