函數(shù) plt.imshow() 用于通過(guò) matplotlib 庫(kù)顯示圖像。
函數(shù)說(shuō)明:
matplotlib.pyplot.imshow(img[, cmap])
OpenCV 使用 BGR 格式,matplotlib/PyQt 使用 RGB 格式。使用 matplotlib/PyQt 顯示 openCV 圖像,要將 BGR 格式轉(zhuǎn)換為 RGB 格式:
# 圖片格式轉(zhuǎn)換:BGR(OpenCV) -> RGB(PyQt5)
imgRGB = cv2.cvtColor(imgBGR, cv2.COLOR_BGR2RGB)
參數(shù)說(shuō)明:
注意事項(xiàng):
基本例程:
# 1.10 圖像顯示(plt.imshow)
imgFile = "../images/imgLena.tif" # 讀取文件的路徑
img1 = cv2.imread(imgFile, flags=1) # flags=1 讀取彩色圖像(BGR)
imgRGB = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB) # 圖片格式轉(zhuǎn)換:BGR(OpenCV) -> RGB(PyQt5)
img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) # 圖片格式轉(zhuǎn)換:BGR(OpenCV) -> Gray
plt.rcParams['font.sans-serif'] = ['FangSong'] # 支持中文標(biāo)簽
plt.subplot(221), plt.title("1. RGB 格式(mpl)"), plt.axis('off')
plt.imshow(imgRGB) # matplotlib 顯示彩色圖像(RGB格式)
plt.subplot(222), plt.title("2. BGR 格式(OpenCV)"), plt.axis('off')
plt.imshow(img1) # matplotlib 顯示彩色圖像(BGR格式)
plt.subplot(223), plt.title("3. 設(shè)置 Gray 參數(shù)"), plt.axis('off')
plt.imshow(img2, cmap='gray') # matplotlib 顯示灰度圖像,設(shè)置 Gray 參數(shù)
plt.subplot(224), plt.title("4. 未設(shè)置 Gray 參數(shù)"), plt.axis('off')
plt.imshow(img2) # matplotlib 顯示灰度圖像,未設(shè)置 Gray 參數(shù)
plt.show()
程序說(shuō)明:
圖 1 中 OpenCV 的 BGR 彩色圖像已轉(zhuǎn)換為 RGB 格式,彩色圖像的顏色顯示正常;
圖 2 中 OpenCV 的 BGR 彩色圖像格式未做轉(zhuǎn)換,彩色圖像的顏色顯示異常;
圖 3 中 plt.imshow() 設(shè)置 cmap='gray’,灰度圖像的顏色顯示正常;
圖 4 中 plt.imshow() 未設(shè)置 cmap='gray’,灰度圖像的顏色顯示異常。
聯(lián)系客服