https://github.com/baoblei/otsu

Otsu 阈值算法的简单实现

https://github.com/baoblei/otsu

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Unable to calculate vocabulary similarity
Last synced: 9 months ago · JSON representation

Repository

Otsu 阈值算法的简单实现

Basic Info
  • Host: GitHub
  • Owner: baoblei
  • Language: Python
  • Default Branch: main
  • Size: 43.9 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme

README.md

Otsu 阈值算法的简单实现

1. 什么是 Otsu 阈值算法

Otsu 阈值算法是一种自适应阈值分割算法,用于将图像分割为前景和背景。核心思想是通过最大化类间方差来确定最佳阈值。

Otsu 阈值算法的基本思想是:通过计算图像的灰度直方图,找到一个阈值,使得前景和背景的类间方差最大。

2. 算法步骤

  1. 计算图像的灰度直方图:

    • 图像的像素值被划分为若干个灰度级,计算每个灰度级的像素数。
    • 计算每个灰度级的像素数占总像素数的比例。
  2. 计算前景和背景的类间方差

    • 对每个可能的阈值,将图像的像素值划分为前景和背景。
    • 计算这两部分的灰度均值、像素比例和类间方差。
    • 寻找使类间方差最大的阈值。

3. 数学表达

  • 假设总像素数为 $N$,灰度值的范围为 $[0, L-1]$,灰度级 $k$ 的像素数为 $nk$,灰度级 $k$ 的像素数占总像素数的比例为 $pk$。
  • 对于x给定的阈值$t$,灰度值被分为两类:

    • 前景类$C_1$,灰度值在$[0, t]$之间
    • 背景类$C_2$,灰度值在$[t+1, L-1]$之间
  • 前景类的像素数比例:$w1 = \sum{i=0}^{t} p_i$

  • 背景类的像素数比例:$w2 = \sum{i=t+1}^{L-1} p_i$

  • 前景类的灰度均值:$u1 = \sum{i=0}^{t} i pi / w1$

  • 背景类的灰度均值:$u2 = \sum{i=t+1}^{L-1} i pi / w2$

  • 类间方差:$\sigmab^2 = w1 w2 (u1 - u_2)^2$

Owner

  • Login: baoblei
  • Kind: user

GitHub Events

Total
  • Push event: 3
  • Create event: 2
Last Year
  • Push event: 3
  • Create event: 2