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

python中cv2.imread()和Image.open()的區(qū)別和聯(lián)系詳解

 更新時(shí)間:2024年07月06日 10:12:31   作者:ElaineTiger  
image.open和cv2.imread都是Python中用于讀取圖像文件的函數(shù),但是它們之間有一些區(qū)別,這篇文章主要給大家介紹了關(guān)于python中cv2.imread()和Image.open()的區(qū)別和聯(lián)系,需要的朋友可以參考下

1. cv2.imread()

cv2.imread()讀出的數(shù)據(jù)格式是numpy,默認(rèn)按照f(shuō)lag=1進(jìn)行讀取。

例:

import cv2

img = cv2.imread("img_path")
print(img.shape, type(img))

# 顯示圖像
cv2.imshow("demo", img)

# 窗口顯示時(shí)間,默認(rèn)0表示無(wú)限
cv2.waitKey()

# 按任意鍵銷毀窗口
cv2.destoryWindows("demo")

>>>輸出
(345,678,3) <class.'numpy.ndarray'>

1.1 cv2.imread參數(shù)說(shuō)明

flags:讀取圖片的方式,可選項(xiàng)

  • ① cv2.IMREAD_COLOR(1):默認(rèn)方式,3通道BGR彩色圖像
  • ② cv2.IMREAD_GRAYSCALE(0):?jiǎn)瓮ǖ阑叶葓D像
  • ③ cv2.IMREAD_UNCHANGED(-1):原樣返回(使用Alpha通道)
  • ④ cv2.IMREAD_ANYDEPTH(2):輸入具有相應(yīng)深度時(shí)返回16位/32位圖像,否則轉(zhuǎn)為8位
  • ⑤ cv2.IMREAD_ANYCOLOR(4):以任何可能的顏色格式讀取

返回值:讀取的OpenCV圖像,nparray多維數(shù)組

1.2 注意事項(xiàng)

⑴ OpenCV中彩色圖像使用BGR格式,而PIL、PyQt、matplotlib等庫(kù)使用的是RGB格式。

import cv2

# 方法1:BGR 轉(zhuǎn) RGB
img = img[:, :, ::-1]

# 方法2:BGR 轉(zhuǎn) RGB
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

⑵ cv2.imread()如果無(wú)法從指定文件讀取圖像,并不會(huì)報(bào)錯(cuò),而是返回一個(gè)空矩陣。

⑶ 在python3中不支持圖片的路徑和文件名為中文或者有空格,當(dāng)必須使用中文可以用cv2.imdecode()處理。
例:

import cv2
imgFile = './images/測(cè)試.jpg'
# cv2.imread(imgFile)  讀取失敗但不會(huì)報(bào)錯(cuò)
img = cv2.imdecode(np.fromfile(imgFile, dtype=np.uint8), -1)

⑷ 讀取圖像時(shí)默認(rèn)忽略透明通道,但可以使用CV_LOAD_IMAGE_UNCHANGED參數(shù)讀取透明通道。

2. Image.open()

Image.open()返回值是PIL類型格式,可以直接圖片展示,但不能直接讀取其中的像素點(diǎn)值。
例:

from PIL import Image

img = Image.open('./image9.jpg')
print(img, img.size)
img.show()

>>>輸出
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1920x1080 at 0x222AD1D4160> (1920, 1080)

3. cv2.imread()與Image.open()相互轉(zhuǎn)化

3.1 cv2.imread()轉(zhuǎn)成Image.open():Image.fromarray()

import cv2
from PIL import Image

img_cv2 = cv2.imread('img_path')

# 方法1
img_cv2 = img_cv2[:, :, ::-1]

# 方法2 
img_cv2 = cv2.cvtColor(img_cv2, cv2.COLOR_BGR2RGB)

img_PIL = Image.fromarray(img_cv2)

3.2 Image.open()轉(zhuǎn)成cv2.imread():np.array()

例:

import cv2
from PIL import Image
import numpy as np

img_PIL = Image.open('img_path')

img_cv2 = np.array(img_PIL)

# 方法1
img_cv2 = img_cv2[:, :, ::-1]

# 方法2
img_cv2 = cv2.cvtColor(img_cv2, cv2.COLOR_RGB2BGR)

總結(jié):cv2.imread()讀出的數(shù)據(jù)格式是numpy,Image.open()返回值是PIL類型格式。

總結(jié)

到此這篇關(guān)于python中cv2.imread()和Image.open()的區(qū)別和聯(lián)系詳解的文章就介紹到這了,更多相關(guān)python cv2.imread()和Image.open()詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django中使用group_by的方法

    Django中使用group_by的方法

    這篇文章主要介紹了Django中使用group_by的方法,實(shí)例分析了在Django中使用group_by語(yǔ)句的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • python3使用urllib模塊制作網(wǎng)絡(luò)爬蟲

    python3使用urllib模塊制作網(wǎng)絡(luò)爬蟲

    本文給大家介紹的是利用urllib模塊通過(guò)指定的URL抓取網(wǎng)頁(yè)內(nèi)容 所謂網(wǎng)頁(yè)抓取,就是把URL地址中指定的網(wǎng)絡(luò)資源從網(wǎng)絡(luò)流中讀取出來(lái),保存到本地,有需要的小伙伴可以參考下
    2016-04-04
  • Python實(shí)現(xiàn)二維數(shù)組輸出為圖片

    Python實(shí)現(xiàn)二維數(shù)組輸出為圖片

    下面小編就為大家分享一篇Python實(shí)現(xiàn)二維數(shù)組輸出為圖片,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 淺談Python Opencv中g(shù)amma變換的使用詳解

    淺談Python Opencv中g(shù)amma變換的使用詳解

    下面小編就為大家分享一篇淺談Python Opencv中g(shù)amma變換的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python中文件I/O高效操作處理的技巧分享

    Python中文件I/O高效操作處理的技巧分享

    文件I/O是Python中最重要的技術(shù)之一,在Python中對(duì)文件進(jìn)行I/O操作是非常簡(jiǎn)單的。但如何高效的操作處理是需要技巧的,下面這篇文章就主要介紹了Python中文件I/O高效操作處理的技巧,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • OpenCV:imwrite函數(shù)保存圖片問(wèn)題

    OpenCV:imwrite函數(shù)保存圖片問(wèn)題

    這篇文章主要介紹了關(guān)于OpenCV:imwrite函數(shù)保存圖片問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python中opencv K均值聚類的實(shí)現(xiàn)示例

    python中opencv K均值聚類的實(shí)現(xiàn)示例

    本文主要介紹了python中opencv K均值聚類的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • selenium自動(dòng)化測(cè)試入門實(shí)戰(zhàn)

    selenium自動(dòng)化測(cè)試入門實(shí)戰(zhàn)

    這篇文章主要介紹了selenium自動(dòng)化測(cè)試入門實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python3實(shí)現(xiàn)ftp服務(wù)功能(客戶端)

    python3實(shí)現(xiàn)ftp服務(wù)功能(客戶端)

    這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)ftp服務(wù)功能,客戶端的相應(yīng)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Python中處理時(shí)間的幾種方法小結(jié)

    Python中處理時(shí)間的幾種方法小結(jié)

    這篇文章主要介紹了Python中處理時(shí)間的幾種方法,包括時(shí)間的獲取和時(shí)間之間的轉(zhuǎn)換等等,需要的朋友可以參考下
    2015-04-04

最新評(píng)論