skimage提供了io模塊,顧名思義,這個模塊是用來圖片輸入輸出操作的。爲了方便練習,也提供一個data模塊,裏面嵌套了一些示例圖片,我們可以直接使用。
from skimage import io
一、從外部讀取圖片並顯示
讀取單張彩色RGB圖片,使用skimage.io.imread(path_img)函數,path_img表示需要讀取的文件路徑。as_grey=True表示灰度化;顯示圖片使用skimage.io.imshow(im)函數,加上plt,show()函數可以顯示,im格式返回的是一個numpy數組
import matplotlib.pyplot as plt
im=io.imread('./images/huge.jpg',as_grey=True)
io.imshow(im)
plt.show()
print(im)
二、自帶圖片
astronaut |
宇航員圖片 |
coffee |
一杯咖啡圖片 |
lena |
lena美女圖片 |
camera |
拿相機的人圖片 |
coins |
硬幣圖片 |
moon |
月亮圖片 |
checkerboard |
棋盤圖片 |
horse |
馬圖片 |
page |
書頁圖片 |
chelsea |
小貓圖片 |
hubble_deep_field |
星空圖片 |
text |
文字圖片 |
clock |
時鐘圖片 |
immunohistochemistry |
結腸圖片 |
|
import matplotlib.pyplot as plt
from skimage import io,data
img=data.coffee()
io.imshow(img)
plt.show()
三、保存圖片
from skimage import io,data
img=data.coffee()
io.imshow(img)
io.imsave('d:/coffe.jpg',img)
保存圖片的同時也起到了轉換格式的作用。如果讀取時圖片格式爲jpg圖片,保存爲png格式,則將圖片從jpg圖片轉換爲png圖片並保存。
四、圖片信息
from skimage import io,data
img=data.chelsea()
io.imshow(img)
print(type(img)) #顯示類型
print(img.shape) #顯示尺寸
print(img.shape[0]) #圖片寬度
print(img.shape[1]) #圖片高度
print(img.shape[2]) #圖片通道數
print(img.size) #顯示總像素個數
print(img.max()) #最大像素值
print(img.min()) #最小像素值
print(img.mean()) #像素平均值