局部阈值分割算法的python实现(1)

本文介绍了Bersen算法的原理及Python实现,通过对比原算法,进行了三点改进:使用OTSU法获取全局阈值,用图像方差代替预设参数s,以及将比较方式改为像素值与全局阈值对比。实验展示了不同窗口大小(k值)的效果,窗口越小,分割越细致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)
    print(tt)
   
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值