App下載

Python使用scipy保存圖片需要注意什么?

猿友 2021-07-30 14:19:14 瀏覽數(shù) (2485)
反饋

SciPy作為一個著名的開源科學庫,我們可以用它來做很多科學處理相關的功能,比如說利用SciPy圖片處理。但是在SciPy保存圖片的時候需要注意一些細節(jié),不然會導致一些錯誤。接下來我們就來介紹一下SciPy怎么保存圖片吧。

首先我們載入一張灰度圖片,一般灰度圖片像素為0-255.

圖片載入

查看數(shù)據(jù)

可以發(fā)現(xiàn)該圖片的最大像素為254,最小像素為2。一般處理圖片時會轉化為double類型。

轉換格式

我們將圖片使用scipy保存為pgm格式。

然后我們重新讀取該圖片信息。

獲取圖片信息

運行結果

其像素值發(fā)生了變化,自動標準化到了0-255范圍,最小值變?yōu)?,最大值變?yōu)?55.

運行結果

所以,使用scipy保存圖像時,加上2個參數(shù),cmin和cmax。就可以了

重新讀取圖片。結果正確

運行結果

補充:from scipy import misc 讀取和保存圖片

from scipy import misc

def imread(name, flatten=False, mode=None)
    pass
"""
讀取一張圖片返回array,uint8,"""
def imsave(name, arr, format=None):
    pass
"""
Save an array as an image. 自動的調用將圖片轉成0-255范圍內的
arr : ndarray, MxN or MxNx3 or MxNx4
        Array containing image values.  If the shape is ``MxN``, the array
        represents a grey-level image.  Shape ``MxNx3`` stores the red, green
        and blue bands along the last dimension.  An alpha layer may be
        included, specified as the last colour band of an ``MxNx4`` array.
"""

注意上面對圖片讀取和保存的函數(shù)會被棄用,使用如下代替:

import imageio
imageio.imread()
imageio.imwrite()

以上就是SciPy保存圖片的一些注意要點,希望能給大家一個參考,也希望大家多多支持W3Cschool。



0 人點贊