如何解决OpenCV 画线不适用于透明图像
我正在制作一个绘图程序,您可以稍后将更改保存并导出为图像。非透明图像选项完美运行,但透明选项则不然。我现在拥有的代码基于 this post。
每当我在透明选项中画一条线时,图像上没有任何显示。完全透明。
std::max
解决方法
感谢 Mark Setchell,我找到了一个可行的解决方案。在 color
的 cv2.line()
参数中,传递一个元组,其中前三个值是 BGR 颜色。第四个值是透明度/alpha。因此,如果您想在透明图像上绘图,您的代码应该类似于 cv2.line(color=(0,200,255)) # etc
。
OpenCV 的绘图功能非常有限,仅用于图像中的简单标记。
他们不支持图像透明度的概念。例如,line
方法理解两种模式:三通道(彩色线)或非三通道(灰度线)。就是这样。
结果是,在您的情况下,所有四个通道都写入了相同的值。黑线应保持不可见,而白线或蓝线应以白线结束。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。