在 OpenCV 中用渐变颜色绘制一条线

Posted

技术标签:

【中文标题】在 OpenCV 中用渐变颜色绘制一条线【英文标题】:Drawing a line with a gradient color in OpenCV 【发布时间】:2017-09-11 08:32:57 【问题描述】:

我发现这个问题适用于不同的技术,但没有在 c++ 中使用 OpenCV。我需要绘制一条改变其颜色的线以表示方向 一种颜色从哪里开始,另一种颜色在哪里结束,所以在视觉上我可以看到我拥有的几条轨迹的方向。每个轨迹都有几个点,但数量不一样。

【问题讨论】:

你不能只使用arrow吗? @Miki 很酷,甚至不知道 OpenCV 中存在。 @miki 轨迹太多,对可视化没有太大帮助。 或许您可以展示几张图片,以便我们更好地了解 这里是如何绘制一条线,因此您可以绘制它并计算每个点从线开始到线结束的距离的百分比,并使用它来确定该点的适当颜色... en.m.wikipedia.org/wiki/Bresenham%27s_line_algorithm 【参考方案1】:

我假设您希望每个方向都有不同的颜色?我要做的是选择一条参考线,如水平线。并计算每条线与水平线之间的角度。然后我会将 255 值映射到 360 度,例如 color=255/360*angleFound。然后将此值放入 cv::line 函数。 cv::line( , , RGB(颜色,颜色,颜色))。这是一个例子。您可以以不同的方式放置此颜色值。这样每个方向都会有自己的颜色。

【讨论】:

以上是关于在 OpenCV 中用渐变颜色绘制一条线的主要内容,如果未能解决你的问题,请参考以下文章

对于canvas画图时,改变其中一条线的颜色,该怎么解决

CSS中的渐变——线性渐变

在opencv Python中拖动鼠标绘制一条线并获取线的端点坐标

在 OpenCV 中使用 CV_AA 标志绘制一条线不会产生抗锯齿线

如何以编程方式从Android上的渐变中获取颜色列表

如何使用opencv在图像上动态画一条线? [提供的代码,无法找出错误]