我想转换图像中的颜色,从而保留抗锯齿和透明背景。
初始图像是具有透明背景的PNG:。
我使用以下代码将箭头从红色转换为绿色:
导入numpy as np
导入CV2
image=cv2.imread(“c:/temp/arr.png”)。
image=cv2.cvt颜色(image,cv2.color_bgr2bgra)
cv2.imwrite('c:/temp/source.png',图像)
image[np.其中((image=[0,0255255])。all(axis=2))]=[0255,0255]
image=cv2.cvt颜色(image,cv2.color_bgr2rgba)
image[np.all(image=[255,255,255,255],axis=2]=[255,255,255,0]
cv2.imwrite('c:/temp/target.png',图像)
< /代码>
但箭头尖端的对角线变得非常细小:
我该如何改进这种颜色转换?
我使用以下代码将箭头从红色转换为绿色:
import numpy as np
import cv2
image = cv2.imread("C:/Temp/arr.png")
image = cv2.cvtColor(image, cv2.COLOR_BGR2BGRA)
cv2.imwrite('C:/Temp/source.png', image)
image[np.where((image == [0,0,255,255]).all(axis = 2))] = [0,255,0,255]
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGBA)
image[np.all(image == [255, 255, 255, 255], axis=2)] = [255, 255, 255, 0]
cv2.imwrite('C:/Temp/target.png', image)
但箭头尖端的对角线变得非常细小:
我该如何改进这种颜色转换?