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()) #像素平均值