国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

pillow opencv matplotlib讀寫圖片有什么區(qū)別

這篇具有很好參考價值的文章主要介紹了pillow opencv matplotlib讀寫圖片有什么區(qū)別。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

from PIL import Image
import numpy as np
import cv2
from matplotlib import pyplot as plt

file_path = '1.png'

讀彩色圖像

區(qū)別:文章來源地址http://www.zghlxwxcb.cn/news/detail-763939.html

  1. opencv-python讀出來的是BGR顏色通道的
  2. PIL讀出的是PIL類格式的,而cv和plt是numpy數(shù)組
# 讀取彩色圖像 都是H×W×C
img1 = cv2.imread(file_path)  # BGR
img2 = plt.imread(file_path)  # RGB
img3 = np.array(Image.open(file_path))  # RGB

BRG和RGB格式互轉

# 用opencv-python
image_rgb = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB)

image_bgr = cv2.cvtColor(image_rgb, cv2.COLOR_RGB2BGR)

# 利用數(shù)組切片 
# 因為shape是H×W×C,BGR倒著讀就是RGB
image_rgb = image_bgr[:, :, ::-1] 

讀灰色圖像

區(qū)別:

  1. plt沒法讀取時設置讀灰色圖像,但是可以在plt.imshow()的時候設置按照灰度圖顯示
# 以灰度圖方式讀取 
img4 = cv2.imread(file_path, flags=cv.IMREAD_GRAYSCALE)
img6 = np.array(Image.open(file_path).convert("L"))

# img5 = plt.imread(file_path) 
# plt沒法以灰度方式讀取,只能在imshow的時候以灰度方式顯示plt.imshow(a, cmap='viridis', interpolation='nearest')

opencv的flags參數(shù)

常數(shù) 效果
cv2.IMREAD_COLOR 1 讀取圖像時保留顏色通道(默認值)
cv2.IMREAD_GRAYSCALE 0 以灰度模式讀取圖像
cv2.IMREAD_UNCHANGED -1 以包含 alpha 通道的方式讀取圖像

保存圖像

matplotlib:

plt保存原理是先創(chuàng)建畫板,然后把圖像繪制上去。

這會導致保存圖像出現(xiàn)白邊,以及像素大小與想要的大小不符的現(xiàn)象。不推薦使用?。?/strong>

plt.imshow(image)
plt.savefig('output.png', bbox_inches='tight', transparent=True, dpi=300, figsize=(6, 4))

opencv:

簡單好用

cv2.imwrite("output.jpg", img) # img是numpy數(shù)組

pillow:

必須先轉PIL對象才能保存

# 使用PIL保存NumPy數(shù)組為圖像
image = Image.fromarray(numpy_array)

# 保存圖像
image.save("output.png")

?

顯示圖像

區(qū)別:

  1. PIL調(diào)用系統(tǒng)默認的圖片查看工具
  2. opencv和matplotlib有自己的可視化工具,且matplotlib可以集成在Pycharm的SciView
# PIL 
image = Image.open("image.jpg")
image.show()

# opencv 
image = cv2.imread("image.jpg")
cv2.imshow("Image", image)
cv2.waitKey(0) # 修改等待時間可以用于展示視頻幀
cv2.destroyAllWindows()

# matplotlib
plt.imshow(img)
plt.show()

到了這里,關于pillow opencv matplotlib讀寫圖片有什么區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Python的圖像處理:OpenCV與Pillow

    Python是一個強大的編程語言,它在圖像處理領域也發(fā)揮了廣泛的作用。OpenCV和Pillow是Python圖像處理領域的兩個重要庫,它們各自具有不同的特點和應用場景。本文將從背景、核心概念、核心算法原理、最佳實踐、實際應用場景、工具和資源推薦等方面進行全面的講解,幫助讀

    2024年04月15日
    瀏覽(27)
  • 使用Python的Pillow庫對圖片進行格式轉換和重命名

    Python 是一門功能強大的編程語言,廣泛應用于科學計算、數(shù)據(jù)分析、機器學習等領域。隨著互聯(lián)網(wǎng)的發(fā)展和智能手機的普及,現(xiàn)在人們更加傾向于通過圖片來表達自己的想法和情感。因此,在科研、工程和設計等領域,對于圖片的處理也變得越來越重要。 Python 提供了多種圖

    2024年02月08日
    瀏覽(21)
  • 【python 的各種模塊】(9) 在python使用PIL( 即pillow模塊 ) 修改圖片

    【python 的各種模塊】(9) 在python使用PIL( 即pillow模塊 ) 修改圖片

    目錄 1 導入PIL模塊(pillow) 1.1 PIL的全稱:Python Imaging Library 1.2 導入PIL模塊 1.2.1 可用的導入形式 1.2.2 常用的導入形式 1.2.3?PIL下面的常用子模塊 2 PIL.Image的方法 (讀入,生成和顯示圖片) 2.1?用 PIL.Image.open() 可以讀入圖片 2.1.1 基礎語法 PIL.Image.open(path) 2.1.2?PIL.Image.open() 方法是

    2024年01月16日
    瀏覽(24)
  • OpenCV中的HoughLines函數(shù)和HoughLinesP函數(shù)到底有什么區(qū)別?

    OpenCV中的HoughLines函數(shù)和HoughLinesP函數(shù)到底有什么區(qū)別?

    ????????基于OpenCV進行直線檢測可以使用HoughLines和HoughLinesP函數(shù)完成的。這兩個函數(shù)之間的唯一區(qū)別在于,第一個函數(shù)使用標準霍夫變換,第二個函數(shù)使用概率霍夫變換(因此名稱為 P)。概率版本之所以如此,是因為它僅分析點的子集并估計這些點都屬于同一條線的概率

    2024年02月07日
    瀏覽(23)
  • Matplotlib中的%matplotlib inline是什么

    %matplotlib是一個魔法函數(shù)(Magic Function),功能:內(nèi)嵌畫圖。將matplotlib的圖表直接嵌入到Notebook中,或使用指定的界面庫顯示圖表(由參數(shù)指定)。inline就表示將圖表嵌入到Notebook中。 IPython有一組預先定義好的魔法函數(shù),可以通過命令行的語法形式來訪問。 Magic Function分兩種

    2024年02月15日
    瀏覽(15)
  • Python Matplotlib 中如何用 plt.savefig 存儲圖片

    Python Matplotlib 中如何用 plt.savefig 存儲圖片

    plt.show()展示圖片的時候,截圖進行保存,圖片不是多么清晰 如何保存高清圖也是一知識點 函數(shù)包名: import matplotlib.pyplot as plt 主要功能 :保存繪制數(shù)據(jù)后創(chuàng)建的圖形。使用此方法可以將創(chuàng)建的圖形保存 函數(shù)源碼: (根據(jù)需要進行選擇) 參數(shù)解釋: 參數(shù) 描述 fname 指定格式

    2024年02月01日
    瀏覽(18)
  • 使用Python中的matplotlib將多個圖片顯示到一張圖內(nèi)

    使用Python中的matplotlib將多個圖片顯示到一張圖內(nèi)

    在我們寫論文或是匯報時,經(jīng)常需要整合所得到的可視化數(shù)據(jù)結果,插入我們的論文中。如下所示的情況,我們需要將四個相關的彈性模量預測結果在一張圖里展示。 使用matplotlib庫中的子圖(subplot)功能可以輕松而高效地實現(xiàn)這一過程,避免繁瑣地手動調(diào)節(jié)。 具體代碼如下,

    2024年02月06日
    瀏覽(27)
  • FPGA-仿真讀寫bmp圖片

    FPGA-仿真讀寫bmp圖片

    最近想完成FPGA圖像處理,由于沒有開發(fā)板,就像通過仿真完成,之前像的是通過python 將圖像轉化為txt文本,最后利用verilog 讀取txt文件導入,對像素點進行處理,然后將處理后像素數(shù)據(jù)寫入txt,最后通過python轉化為bmp位圖,后來發(fā)現(xiàn)verilog可以直接讀取bmp文件,并且將數(shù)據(jù)寫入

    2023年04月12日
    瀏覽(18)
  • Python numpy庫的應用、matplotlib繪圖、opencv的應用
  • 圖像處理庫(Opencv, Matplotlib, PIL)以及三者之間的轉換

    圖像處理庫(Opencv, Matplotlib, PIL)以及三者之間的轉換

    opencv的基本圖像類型可以和numpy數(shù)組相互轉化,因此可以直接調(diào)用 torch.from_numpy(img) 將圖像轉換成 tensor 讀取: img=cv2.imread(path) OpenCV讀取圖像后返回的是一個代表圖像的 numpy.ndarray ,采用的格式是 (H,W,C) ,通道順序為 BGR , 取值范圍 [0,255] , dtype=uint8 。 顯示: cv2.imshow(name,img) 保存

    2024年02月14日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包