Matplotlab顯示OpenCV讀取到的圖像
一. 確認(rèn)圖像的數(shù)組類型
在使用 OpenCV 的 cv2.imread()
函數(shù)讀取圖像時(shí),第二個(gè)參數(shù)(標(biāo)志)決定了圖像的讀取方式。具體來(lái)說(shuō),0
、1
和 -1
分別對(duì)應(yīng)不同的讀取模式:
讀取模式 | 標(biāo)志 | 值 |
---|---|---|
灰度 | cv2.IMREAD_GRAYSCALE | 0 |
彩色(忽略透明度通道) | cv2.IMREAD_COLOR | 1 |
彩色(包括 Alpha 透明度通道,如果存在) | cv2.IMREAD_UNCHANGED | -1 |
這里不討論處理包含透明度通道的圖像
使用 img.shape
判斷圖像類型
在 OpenCV 中,當(dāng)你使用 cv2.imread()
函數(shù)讀取一張圖像時(shí),它會(huì)將圖像加載到內(nèi)存中,并將其存儲(chǔ)為一個(gè) NumPy 數(shù)組。img.shape
是 NumPy 數(shù)組的一個(gè)屬性,它返回一個(gè)包含數(shù)組各維度大小的元組。通過(guò)檢查這個(gè)元組的長(zhǎng)度(即維度的數(shù)量),我們可以確定數(shù)組的類型或結(jié)構(gòu)。
- 灰度圖像:通常是一個(gè)二維數(shù)組,表示為
(height, width)
,img.shape
返回的元組長(zhǎng)度為 2。 - 彩色圖像:通常是一個(gè)三維數(shù)組,表示為
(height, width, channels)
,channels
表示顏色通道的數(shù)量(例如 RGB 圖像有三個(gè)通道,形狀通常是(height, width, 3)
),img.shape
返回的元組長(zhǎng)度為 3。
# img 是一個(gè) NumPy 數(shù)組 if len(img.shape) == 2: print("這是一個(gè)灰度圖像") elif len(img.shape) == 3: print("這是一個(gè)彩色圖像")
二. 使用Matplotlab顯示
灰度圖像
plt.imshow(img, cmap='gray')
理解cmap='gray'
直接imshow
會(huì)使用默認(rèn)的顏色映射(通常是 viridis
),這通常不是期望的灰度效果。需要明確指定顏色映射 (cmap) 為 'gray',這樣可以確保圖像中的每個(gè)像素值都被正確地映射到灰度級(jí)別。
彩色圖像
OpenCV讀取到的色彩通道順序?yàn)?code>BGR, Matplotlab讀取顯示的色彩通道為RGB
,所以需要讀取時(shí)轉(zhuǎn)換通道
plt.imshow(img[:, :, ::-1])
理解 img[:, :, ::-1]
第一維和第二維分別代表圖像的高度和寬度,第三維有三個(gè)通道:紅(R)、綠(G)、藍(lán)(B)
:
表示選取所有元素。::-1
是Python中的切片語(yǔ)法,表示從尾到頭(逆序)選擇元素。這里的意圖通常是翻轉(zhuǎn)最后一個(gè)維度的數(shù)據(jù),比如將RGB格式轉(zhuǎn)換為BGR格式,或者相反。
到此這篇關(guān)于Matplotlab顯示OpenCV讀取到的圖像的文章就介紹到這了,更多相關(guān)Matplotlab OpenCV圖像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- OpenCV-Python給圖像去除水印多種方法
- Python?OpenCV實(shí)現(xiàn)圖像形狀檢測(cè)
- Python使用OpenCV轉(zhuǎn)換圖像大小
- Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配
- Python?opencv圖像膨脹與腐蝕處理實(shí)例探究
- Python使用OpenCV對(duì)彩色圖像進(jìn)行通道分離的項(xiàng)目實(shí)踐
- 使用Python和OpenCV進(jìn)行圖像處理和分析
- opencv-python圖像讀寫模塊示例詳解
- python?OpenCV實(shí)現(xiàn)圖像特征匹配示例詳解
相關(guān)文章
python網(wǎng)絡(luò)編程之進(jìn)程詳解
這篇文章主要為大家介紹了python網(wǎng)絡(luò)編程之進(jìn)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01Python實(shí)現(xiàn)圖像尺寸和格式轉(zhuǎn)換處理的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)圖像尺寸獲取和格式轉(zhuǎn)換處理的功能,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-04-04中秋送禮分配不均這款python刮刮卡完美解決問(wèn)題
這篇文章主要介紹了用Python實(shí)現(xiàn)一個(gè)抽獎(jiǎng)刮刮卡來(lái)解決給小朋友的禮物不均,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2021-09-09Python Dataframe 指定多列去重、求差集的方法
今天小編就為大家分享一篇Python Dataframe 指定多列去重、求差集的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07基于keras中的回調(diào)函數(shù)用法說(shuō)明
這篇文章主要介紹了基于keras中的回調(diào)函數(shù)用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06在Django中自定義filter并在template中的使用詳解
這篇文章主要介紹了在Django中自定義filter并在template中的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05