我有两个伪彩色图,一个从红色(1)到白色(0)到蓝色(-1),一个从绿色(1)到白色(0)。
import matplotlib.pyplot as plt
import numpy as np
a = np.random.random((16,16))
b = 2*np.random.random((16,16)) - 1
plt.pcolor(a, vmax =1.0, vmin = 0.0, cmap = 'bwr')
plt.savefig("bwr.png")
plt.pcolor(b, vmax =1.0, vmin = -1.0, cmap = 'Greens')
plt.savefig("Greens.png")
我希望能够添加它们以获得一个图像,如果a为1且b为1,则为黄色,如果a为1且b为-1,则为青色。如果两者都为零,那么我应该变白。我尝试使用opencv2添加pcolors图:
import cv2
import numpy as np
r = cv2.imread('bwr.png')
mi = cv2.imread('Greens.png')
combo = cv2.addWeighted(r, 0.55, mi, 0.55, 0.2)
cv2.imwrite('combo.png',combo)
cv2.imshow('combo',combo)
cv2.waitKey(0)
cv2.destroyAllWindows()
但它没有产生所需的输出:
关于如何做到这一点的任何想法?