WPF:图像处理(四)大津法
来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:33 点击:次
[csharp] using System;
namespace Splash.Imaging
{
/// <summary>
/// 图像处理:大津法二值化阈值计算方法
/// </summary>
public static partial class Binarize
{
/// <summary>
/// 大津法计算阈值
/// </summary>
/// <param name="grayArray">灰度数组</param>
/// <returns>二值化阈值</returns>
public static Int32 OtsuThreshold(Byte[,] grayArray)
{ // 建立统计直方图
Int32[] Histogram = new Int32[256];
Array.Clear(Histogram, 0, 256); // 初始化
foreach (Byte b in grayArray)
{
Histogram[b]++; // 统计直方图
}
// 总的质量矩和图像点数
Int32 SumC = grayArray.Length; // 总的图像点数
Double SumU = 0; // 双精度避免方差运算中数据溢出
for (Int32 i = 1; i < 256; i++)
{
SumU += i * Histogram[i]; // 总的质量矩
}
// 灰度区间
Int32 MinGrayLevel = Array.FindIndex(Histogram, NonZero); // 最小灰度值
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>