Opencv与PIL之间的通道(channel)转换

我们知道opencv默认是以BGR通道顺序打开的和显示的,而PIL.Image是以RGB打开和显示的,要想使用opencv打开的图片在PIL.Image中显示就必须转换通道(不转换通道也可以显示,但是颜色会发生变化)。

Opencv转PIL.Image

cv2_img = cv2.imread("test.jpg")  # 返回的数据默认就是numpy.arrary类型
cv2.imshow("cv2_img", cv2_img)
cv2.waitKey(0)
pil_img = Image.fromarray(cv2.cvtColor(cv2_img,cv2.COLOR_BGR2RGB))
pil_img.show()

PIL.Image转Opencv

pil_img = Image.open("test.jpg")
pil_img.show()
cv2_img = cv2.cvtColor(np.asarray(pil_img), cv2.COLOR_RGB2BGR)
cv2.imshow("cv2_img", cv2_img)
cv2.waitKey(0)
发布了141 篇原创文章 · 获赞 131 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_41621362/article/details/104596708