阈值处理是将图像按照特定的一个值将图像分为1/0两个值。
mahotas使用两种方式,一种是传统的otsu方式,另外一种是Rildley-Calavard当时
import mahotas as mh image=mh.imread(‘image/building05.jpg‘) #image=image-image.mean() from matplotlib import pyplot as plt import numpy as np image=mh.colors.rgb2gray(image,dtype=np.uint8) plt.gray() thresh=mh.thresholding.otsu(image) plt.subplot(121) plt.imshow(image>thresh) plt.subplot(122) thresh=mh.thresholding.rc(image) plt.imshow(image>thresh) plt.show()
原始图像
结果为:
针对当前图像,rc的效果要好。而实际上,很难区分到底哪种好或者坏。好坏是跟当前的图像相关的。
参考资料:
机器学习系统设计,P156-159
时间: 2024-10-06 20:43:04