1

我当前的代码

- 仅按名称声明垫子

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::create 时,它​​都会中断。有没有其他方法可以使这项工作?

4

1 回答 1

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();
于 2013-09-11T04:59:18.947 回答