SciPy作為一個著名的開源科學庫,我們可以用它來做很多科學處理相關的功能,比如說利用SciPy圖片處理。但是在SciPy保存圖片的時候需要注意一些細節(jié),不然會導致一些錯誤。接下來我們就來介紹一下SciPy怎么保存圖片吧。
首先我們載入一張灰度圖片,一般灰度圖片像素為0-255.
可以發(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。