【python 图像处理】skimage的子模块介绍

来源:互联网 发布:淘宝发错货买家不寄回 编辑:程序博客网 时间:2024/05/22 10:39

skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能。它是由python语言编写的,由scipy 社区开发和维护。skimage包由许多的子模块组成,各个子模块提供不同的功能。主要子模块如下:

io:读取、保存和显示图片或视频data:提供一些测试图片和样本数据color:颜色空间变换filters:图像增强、边缘检测、排序滤波器、自动阈值等draw:操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等transform:几何变换或其它变换,如旋转、拉伸和拉东变换等morphology:形态学操作,如开闭运算、骨架提取等exposure:图片强度调整,如亮度调整、直方图均衡等feature:特征检测与提取等measure:图像属性的测量,如相似性或等高线等segmentation:图像分割restoration:图像恢复util:通用函数

用到一些图片处理的操作函数时,需要导入对应的子模块,如果需要导入多个子模块,则用逗号隔开,如:

from skimage import data, color, io
#-*-coding:utf-8-*-import sysreload(sys)sys.setdefaultencoding('utf-8')from skimage import io,colorimport  numpy as np# 如果想读取灰度图,可以将imread的as_grey参数置为True,as_grey默认值为False。image=io.imread("E:/ID/5.jpg")io.imshow(image)io.show()# io.imsave("E:/ID/6.jpg",image)#####################################加入噪声(像素点设置成255(白色),0(黑色)########################def add_noise(image):    rows, cols, dim3 = image.shape    print  rows, cols, dim3    n = rows * cols / 10    print n    for i in range(n):        x = np.random.randint(0, rows)        y = np.random.randint(0, cols)        print x,y        image[x, y, :] = 255    return imageimage = add_noise(image)io.imshow(image)io.show()#####################图像裁剪##########################roi=image[12:120, 10:110, :]io.imshow(roi)io.show()#########################二值化处理#######################image1=io.imread("E:/ID/3.jpg")img_gray=color.rgb2gray(image1)rows,cols=img_gray.shapefor i in range(rows):    for j in range(cols):        if (img_gray[i,j]<=0.8):            img_gray[i,j]=0        else:            img_gray[i,j]=1# 使用了color模块的rgb2gray()函数,将彩色三通道图片转换成灰度图。转换结果为float64类型的数组,范围为[0,1]之间。io.imshow(img_gray)io.show()