主頁 > 知識庫 > 詳解OpenCV和PIL讀取和顯示圖像的差異

詳解OpenCV和PIL讀取和顯示圖像的差異

熱門標簽:地圖標注的意義點 地圖標注微信發(fā)送位置不顯示 地圖制圖標注位置改變是移位嗎 上海機器人外呼系統(tǒng)哪家好 315電話機器人廣告 房產(chǎn)電銷外呼系統(tǒng) 浙江電銷卡外呼系統(tǒng)好用嗎 南京銷售外呼系統(tǒng)軟件 蓋州市地圖標注

本博客演示使用OpenCV和PIL讀取和顯示圖像的差異。

首先來看一下原始的bgr圖像 src.jpg

1. 使用cv2讀取src.jpg并轉為rgb格式的src_rgb.jpg并顯示和保存

#首先讀入并保存為rgb圖像
src_path = 'C:\\Users\\Administrator\\Desktop\\cv2_PIL\\src.png' # bgr
img = cv2.imread(src_path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cv2.imshow('src_rgb.png', img)
cv2.imwrite('src_rgb.png', img)
cv2.waitKey(5000)

2. 使用cv2讀取src_rgb.jpg并顯示, 發(fā)現(xiàn)仍為rgb格式

# 讀入rgb格式的圖像并保存
src_path = 'C:\\Users\\Administrator\\Desktop\\cv2_PIL\\src_rgb.png' # rgb
img = cv2.imread(src_path)
cv2.imshow('src_rgb.png', img)
cv2.waitKey(5000)

由此可見cv2讀取bgr格式圖片為bgr格式讀入;讀取rgb格式圖片為rgb格式讀入。

3. 使用PIL讀取src.jpg并顯示

# 使用PIL讀取bgr格式圖片并顯示
src_path = 'C:\\Users\\Administrator\\Desktop\\cv2_PIL\\src.png' # bgr
img = Image.open(src_path)#.convert("RGB")
print(img.mode)
img.show("src.png")

由此可見PIL讀入bgr格式圖片為讀入后是rgb格式

4. 使用PIL讀取src.jpg并轉為numpy的array格式圖片并顯示

# 使用PIL讀取bgr格式圖片并顯示
src_path = 'C:\\Users\\Administrator\\Desktop\\cv2_PIL\\src.png' # bgr
img = Image.open(src_path)#.convert("RGB")
print(img.mode)
img = np.array(img) # rgb
cv2.imshow("src.png",img)
cv2.waitKey(5000)

所以進一步坐實了PIL讀入bgr格式圖片為讀入后是rgb格式

5. 使用PIL讀取rgb格式src_rgb.jpg并顯示

# 使用PIL讀取rgb格式圖片并顯示
src_path = 'C:\\Users\\Administrator\\Desktop\\cv2_PIL\\src_rgb.png' # rgb
img = Image.open(src_path)#.convert("RGB")
print(img.mode)
# img1 = img.load()
# print(img1[0,0])
#img.show()
img = np.asarray(img) # bgr
#print(img)
cv2.imshow("src_.png",img)
cv2.waitKey(5000)

可見PIL讀入rgb順序圖片后雖然為RGB格式,但是其實通道順序為BGR格式圖片

總結:

cv2讀取BGR圖片 img = cv2.imread('src.png'),其中img為BGR通道順序的圖片
cv2讀取RGB圖片 img = cv2.imread('src.png'),其中img為RGB通道順序的圖片
PIL讀入BGR圖片 img = Image.open('src.png'),顯示img為RGBA格式,其中img為RGBA通道順序的圖片; img = img.convert('RGB')后,img為RGBA通道順序的圖片
PIL讀入RGB圖片 img = Image.open('src_rgb.png'),雖然顯示img為RGB格式,但是img為通道順序為BGR格式的圖片。

到此這篇關于詳解OpenCV和PIL讀取和顯示圖像的差異的文章就介紹到這了,更多相關OpenCV和PIL讀取和顯示圖像 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python讀取并顯示圖片的三種方法(opencv、matplotlib、PIL庫)

標簽:赤峰 貴州 克拉瑪依 金華 日照 雙鴨山 臨汾 陽泉

巨人網(wǎng)絡通訊聲明:本文標題《詳解OpenCV和PIL讀取和顯示圖像的差異》,本文關鍵詞  詳解,OpenCV,和,PIL,讀取,顯示,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解OpenCV和PIL讀取和顯示圖像的差異》相關的同類信息!
  • 本頁收集關于詳解OpenCV和PIL讀取和顯示圖像的差異的相關信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章