我正在使用XCode中的OpenCV库并执行一个颜色跟踪应用程序,该应用程序从一个点到另一个点绘制线条。我想知道是否可以将输出视为视频而不是白色背景。 而不是
cvShowImage("video",frame);
是否有显示(backgroundcolour,frame)的功能? 修改
我已添加此代码,但由于画布不是图像,因此不会让我写入它而不是帧。
cv::Mat canvas(320, 240, CV_8UC3, Scalar(255,255,255));
IplImage* imgYellowThresh1 = GetThresholdedImage1(canvas);
cvAdd(&canvas,imgScribble,&canvas);
cvShowImage("video",&canvas);
所以erro在GetThresholdedImage1
上说“没有匹配函数来调用GetThresholdedImage1”
答案 0 :(得分:1)
不,不是你提出这么简单的方法。解决方案是创建单独的Mat an
d在其上绘制线条。
cv::Mat canvas(rows, cols, CV_8U3C, Scalar(255,255,255)); //set size, type and fill color
您可以在编码开头准备这个mat,然后在其上使用draw函数。因此,不是在frame
上绘制线条,而是在canvas
上绘制。
编辑: 有一点误解。问题是您使用的是旧的C API。要了解最新的C ++ API,请遵循以下教程: