彩色圖像失真問(wèn)題
如果使用opencv讀入圖像宵溅,然后使用matplotlib顯示的話肝谭,得到的圖像將會(huì)出現(xiàn)色彩失真的情況购笆。
import cv2
import matplotlib.pyplot as plt
image = cv2.imread("ImageFile")
plt.axis("off")
plt.imshow(image)
plt.show()
主要原因是OpenCV讀取彩色圖像的時(shí)候使用將色彩存儲(chǔ)為了BGR的格式赖晶,然而matplotlib識(shí)別的是RGB格式俄占。所以诉儒,在使用matplotlib顯示OpenCV讀取的圖像時(shí)葡缰,應(yīng)該首先對(duì)數(shù)組進(jìn)行重新排序:
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
灰度圖像
需要顯示灰度圖像的時(shí)候,將cmap
值設(shè)置為gray
即可忱反。
plt.imshow(arr, cmap='gray')
plt.show()