九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
OpenCV 函數(shù)學(xué)習(xí)04-用 matplotlib 顯示圖像(plt.imshow)

4. 用 matplotlib 顯示圖像(plt.imshow)

函數(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ō)明:

  • img:圖像數(shù)據(jù),nparray 多維數(shù)組,對(duì)于 openCV(BGR)格式圖像要先進(jìn)行格式轉(zhuǎn)換
  • cmap:顏色圖譜(colormap),默認(rèn)為 RGB(A) 顏色空間
    • gray:灰度顯示
    • hsv:hsv 顏色空間

注意事項(xiàng):

  1. OpenCV 和 matplotlib 中的彩色圖像都是 Numpy 多維數(shù)組。但 OpenCV 使用 BGR 格式,顏色分量按照藍(lán)/綠/紅的次序排列,而 matplotlib 使用 RGB 格式,顏色分量按照紅/綠/藍(lán)的次序排序。因此用 plt.imshow() 顯示 OpenCV 彩色圖像時(shí),先要進(jìn)行顏色空間轉(zhuǎn)換,將Numpy 多維數(shù)組按照紅/綠/藍(lán)的次序排序。
  2. plt.imshow() 可以直接顯示 OpenCV 灰度圖像,不需要格式轉(zhuǎn)換,但需要使用 cmap='gray’ 進(jìn)行參數(shù)設(shè)置。
  3. plt.imshow() 可以使用 matplotlib 庫(kù)中的各種方法繪圖,如標(biāo)題、坐標(biāo)軸、插值等,詳見(jiàn) matploblib Document。
  4. PyQt5 也使用 RGB 格式,因此在 PyQt5 中顯示 OpenCV 彩色圖像時(shí),也要進(jìn)行顏色空間轉(zhuǎn)換。

基本例程:

    # 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’,灰度圖像的顏色顯示異常。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
使用 OpenCV 將圖像轉(zhuǎn)換為鉛筆素描的 8 個(gè)步驟
OpenCV follows BGR order, while matplotlib follows RGB order.
什么是OpenCV?有哪些基礎(chǔ)圖像處理操作?
【OpenCV 例程300篇】11. 圖像通道的拆分(cv2.split)
python 讀取并顯示圖片的兩種方法
《python+opencv學(xué)習(xí)》一、Gui Features in Opencv(2)Matplotlib顯示圖片
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服