我正在 XCode 中使用 OpenCV 库,并开发了一个颜色跟踪应用程序,可以从一个点到另一个点绘制线条。我想知道是否可以将输出不是视频而是白色背景。 所以不是
cvShowImage("video",frame);
是否有显示(背景颜色,框架)的功能? 编辑:
我已经添加了这段代码,但由于 Canvas 不是图像,所以我不能在它而不是框架上写字。
cv::Mat canvas(320, 240, CV_8UC3, Scalar(255,255,255));
IplImage* imgYellowThresh1 = GetThresholdedImage1(canvas);
cvAdd(&canvas,imgScribble,&canvas);
cvShowImage("video",&canvas);
所以错误是在 GetThresholdedImage1
上说“没有匹配函数来调用 GetThresholdedImage1”
最佳答案
不,不是你提出的这么简单的方法。解决方案是创建单独的 Mat 并在其上绘制线条
。
cv::Mat canvas(rows, cols, CV_8U3C, Scalar(255,255,255));//设置大小、类型和填充颜色
您可以在代码开头准备此垫子,然后在其上使用绘制函数。因此,不是在 frame
上绘制线条,而是在 canvas
上绘制。
编辑: 有轻微的误解。问题是您使用的是旧的 C API。要了解最新的 C++ API,请遵循以下教程:
关于OpenCV-Colour 跟踪输出为彩色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17739853/