欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年04月19日 08:39:46   作者:雞啄米的時光機  
這篇文章主要介紹了OpenCV和PIL讀取和顯示圖像的差異,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

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

1. 使用cv2讀取src.jpg并轉(zhuǎn)為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并轉(zhuǎn)為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格式圖片

總結(jié):

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格式的圖片。

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

相關(guān)文章

  • python常用庫之NumPy和sklearn入門

    python常用庫之NumPy和sklearn入門

    這篇文章主要介紹了python常用庫之NumPy和sklearn入門,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Pycharm 創(chuàng)建 Django admin 用戶名和密碼的實例

    Pycharm 創(chuàng)建 Django admin 用戶名和密碼的實例

    今天小編就為大家分享一篇Pycharm 創(chuàng)建 Django admin 用戶名和密碼的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 解決windows上安裝tensorflow時報錯,“DLL load failed: 找不到指定的模塊”的問題

    解決windows上安裝tensorflow時報錯,“DLL load failed: 找不到指定的模塊”的問題

    這篇文章主要介紹了解決windows上安裝tensorflow時報錯,“DLL load failed: 找不到指定的模塊”的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Python提取網(wǎng)頁中超鏈接的方法

    Python提取網(wǎng)頁中超鏈接的方法

    很多人在一開始學習Python,會打算用作爬蟲開發(fā)。既然要做爬蟲,首先就要抓取網(wǎng)頁,并且從網(wǎng)頁中提取出超鏈接地址。這篇文章給大家分享一個簡單的方法,有需要的可以參考借鑒。
    2016-09-09
  • 基于Python實現(xiàn)體育彩票選號器功能代碼實例

    基于Python實現(xiàn)體育彩票選號器功能代碼實例

    這篇文章主要介紹了基于Python實現(xiàn)體育彩票選號器功能代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Python面向?qū)ο笾腴T類和對象

    Python面向?qū)ο笾腴T類和對象

    這篇文章主要為大家介紹了Python入門類和對象,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 如何用python繪制散點圖

    如何用python繪制散點圖

    這篇文章主要介紹了如何用python繪制散點圖問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python3.7 的新特性詳解

    python3.7 的新特性詳解

    這篇文章主要介紹了python3.7 的新特性詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 元組列表字典(莫煩python基礎(chǔ))

    元組列表字典(莫煩python基礎(chǔ))

    這篇文章主要介紹了python元組列表字典,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • python 裝飾器的基本使用

    python 裝飾器的基本使用

    這篇文章主要介紹了python 裝飾器的基本使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01

最新評論