Bersen算法
声明:本文参考于https://www.cnblogs.com/zhaopengpeng/p/13300795.html,感谢该作者的理解,并对该分割算法进行python实现。
Bersen算法原理
1) 先人为设定两个值S与TT(Bemsen最初设S为15,TT设为128);
2)计算以图像中任意像素P为中心的大小为k×k窗口内的所有像素的最大值M与最小值N,两者的均值T,
如果M-N大于S,则当前像素P的阈值为T;
若小于S,则表示该窗口所在区域灰度级灰度级差别较小,那么窗口在目标区或在背景区;
3)再判断T与TT的关系,若T>TT则当前点灰度值为255,否则当前点灰度值为0。
缺点:耗时大.
python代码:
import cv2
import matplotlib.pyplot as plt
from skimage import filters
import numpy as np
def Bersen(image, k=1):
plt.imshow(image)
plt.show()
mean, dev = cv2.meanStdDev(image)
print("均值:", mean, "方差:", dev)
s = dev
tt=filters.threshold_otsu(image)
prin