如何使用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
提交
取消