为了账号安全,请及时绑定邮箱和手机立即绑定

在 PNG 图像上画一条线 OpenCV2 Python

在 PNG 图像上画一条线 OpenCV2 Python

缥缈止盈 2023-07-11 10:45:42
如何使用opencv在rgba(.png)图像上添加彩色线?我尝试跟随,但绘制的线条是透明的。import cv2image = cv2.imread("/content/drive/My Drive/universe-fg.png",-1)from google.colab.patches import cv2_imshowimage2 = cv2.resize(image,(150,150))cv2.line(image2, (20, 30), (100, 80), (255, 255, 0), 10)cv2_imshow(image2)结果:使用 cv2 版本 4.1.2
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

您的错误是您需要在线条颜色中指定不透明的 alpha 值。因此使用 (255, 255, 0, 255) 而不是 (255, 255, 0)。当未指定时,后者假定值为 0(透明)。

下面是如何在 Python/OpenCV 中做到这一点。

输入:

//img1.sycdn.imooc.com//64acc2810001ca5f01500154.jpg

import cv2

import numpy as np


# load transparent image

img = cv2.imread('blue_circle.png', cv2.IMREAD_UNCHANGED)

hh, ww = img.shape[:2]


# draw colored line as opaque

result = img.copy()

cv2.line(result, (20, 30), (100, 80), (255, 255, 0, 255), 10)


# save result

cv2.imwrite('blue_circle_line.png', result)


# display result, though it won't show transparency

cv2.imshow("IMAGE", img)

cv2.imshow("RESULT", result)

cv2.waitKey(0)

cv2.destroyAllWindows()

//img1.sycdn.imooc.com//64acc29000011f5701400150.jpg

查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信