python-skimage.io,filters,transform学习笔记
目录
1.skimage.io——图片读取和显示
from skimage import io
img = io.imread( "D:\desktop\imgs\lena.jpg" )
io.imshow(edge)
#import matplotlib.pyplot as plt
#plt.show() #pycharm可能要加上plt才能显示
2.skimage.filters——简单滤波处理
(1)sobel算子,用于检测边缘
函数格式为:skimage.filters.sobel(image, mask=None)
from skimage import io,filters
img = io.imread( "D:\desktop\imgs\lena.jpg" )
#img = img[:,:,0] #可转灰度图
edge = filters.sobel(img)#sobel滤波操作
io.imshow(edge)
此外,filters模板中还有roberts算子,prewitt算子,scharr算子等算子,功能与sobel类似。调用格式相同。
edges = filters.roberts(img)
edges = filters.prewitt(img)
edges = filters.scharr(img)
(2) 大津法实现
大津法又称大类间方差法或全局OTSU算法,基本原理是计算像素的灰度值对应的最大类间方差值,取类间方差值取最大时对应的阈值为最佳阈值,根据最佳阈值进行图像二值化分割,划分前景和背景。
from skimage import io,filters
img = io.imread( "D:\desktop\imgs\lena.jpg" )
thresh = filters.threshold_otsu(img) # 取最佳阈值
d