App下載

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

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

SciPy作為一個(gè)著名的開源科學(xué)庫(kù),我們可以用它來(lái)做很多科學(xué)處理相關(guān)的功能,比如說(shuō)利用SciPy圖片處理。但是在SciPy保存圖片的時(shí)候需要注意一些細(xì)節(jié),不然會(huì)導(dǎo)致一些錯(cuò)誤。接下來(lái)我們就來(lái)介紹一下SciPy怎么保存圖片吧。

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

圖片載入

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

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

轉(zhuǎn)換格式

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

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

獲取圖片信息

運(yùn)行結(jié)果

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

運(yùn)行結(jié)果

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

重新讀取圖片。結(jié)果正確

運(yùn)行結(jié)果

補(bǔ)充: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. 自動(dòng)的調(diào)用將圖片轉(zhuǎn)成0-255范圍內(nèi)的
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.
"""

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

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

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



0 人點(diǎn)贊