如何使用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 中做到这一点。
输入:
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()
添加回答
举报
0/150
提交
取消