opencv - 如何在openCV中的图像上绘制不同的形状?

我是 OpenCV 的初学者。我知道 C++ 和 Android 编程。我决定转向 OpenCV。
在我的项目中,使用 OpenCV 我正在通过相机检测红色球并获取其坐标。使用这些坐标,我想在单独的白色图像上绘制相同的线条或形状。例如,如果用户移动球在空中写字母 W,并且我已经收到了所有球位置的坐标,我想在单独的图像上绘制 W。我不是要代码,而是要很少的帮助和指导。

提前致谢。

最佳答案

如果你有坐标就很容易了。首先创建您的 cv::Mat 并将其设置为白色。

cv::Mat image;
image.setTo(cv::Scalar(255,255,255));

然后,如果你有开始和结束坐标,你可以使用 opencv line 画一条线功能。
cv::line(image, cv::Point(initial_coords.x, initial_coords.y), cv::Point(end_coords.x, end_coords.y), cv::Scalar(0,0,255));

最后做 w 使用 puttext function
cv::putText(image, "text", cv::Point(coords.x, coords.y), cv::FONT_HERSHEY_SCRIPT_SIMPLEX, 2, Scalar::all(255), 3,8);

如果您需要在添加新内容之前删除窗口,请再次使用
image.setTo(cv::Scalar(255,255,255));

https://stackoverflow.com/questions/24387427/

相关文章:

opencv - 如何使用 OpenCV 有选择地应用膨胀?

python-2.7 - 我的opencv python程序显示看似期望的短语,但既不终止也不允许进

opencv - OSX 10.9上的Macports-使用libstdc++编译opencv

python - 如何将python list [a,b,c,d]转换为[a:b,c:d]格式

opencv - 如何使用opencv在鱼眼校正图像中绘制内接矩形?

android - imread在Android的OpenCV中不起作用

opencv - opencv c++ HSV图像 channel 分离异常

python - 如何在 Python 中为 OpenCV minMaxLoc 函数创建掩码矩阵变量

opencv - 使用眼睛位置作为引用裁剪检测到的面部

spring-boot - IllegalStateException : Topic(s) [XY