基于直方图的图像全局二值化算法原理、实现--一维最大熵
来源:互联网 发布:2016年网络词汇 编辑:程序博客网 时间:2024/05/21 21:43
1、描述:
该算法把信息论中熵的概念引入到图像中,通过计算阈值分割后两部分熵的和来判断阈值是否为最佳阈值。
2、算法原理
3、参考代码:
{ int X, Y,Amount=0; double* HistGramD = new double[256]; double SumIntegral, EntropyBack, EntropyFore, MaxEntropy; int MinValue = 255, MaxValue = 0; int Threshold = 0; for (MinValue = 0; MinValue < 256 && HistGram[MinValue] == 0; MinValue++) ; for (MaxValue = 255; MaxValue > MinValue && HistGram[MinValue] == 0; MaxValue--) ; if (MaxValue == MinValue) return MaxValue; // 图像中只有一个颜色 if (MinValue + 1 == MaxValue) return MinValue; // 图像中只有二个颜色 for (Y = MinValue; Y <= MaxValue; Y++) Amount += HistGram[Y]; // 像素总数 for (Y = MinValue; Y <= MaxValue; Y++) HistGramD[Y] = (double)HistGram[Y] / Amount+1e-17; MaxEntropy = double.MinValue; ; for (Y = MinValue + 1; Y < MaxValue; Y++) { SumIntegral = 0; for (X = MinValue; X <= Y; X++) SumIntegral += HistGramD[X]; EntropyBack = 0; for (X = MinValue; X <= Y; X++) EntropyBack += (-HistGramD[X] / SumIntegral * Math.Log(HistGramD[X] / SumIntegral)); EntropyFore = 0; for (X = Y + 1; X <= MaxValue; X++) EntropyFore += (-HistGramD[X] / (1 - SumIntegral) * Math.Log(HistGramD[X] / (1 - SumIntegral))); if (MaxEntropy < EntropyBack + EntropyFore) { Threshold = Y; MaxEntropy = EntropyBack + EntropyFore; } } return Threshold; }
0 0
- 基于直方图的图像全局二值化算法原理、实现--一维最大熵
- 基于直方图的图像全局二值化算法原理、实现--基于谷底最小值的阈值
- 基于直方图的图像全局二值化算法原理、实现--基于双峰平均值的阈值
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果
- 基于直方图的图像全局二值化算法原理、实现--灰度平局值值法
- 基于直方图的图像全局二值化算法原理、实现--百分比阈值(P-Tile)
- 基于直方图的图像全局二值化算法原理、实现--迭代最佳阈值
- 基于直方图的图像全局二值化算法原理、实现--OSTU大律法
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果(转)
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果(转)
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
- 现在的C博客,还能收录么?
- 史上最受程序员待见的计算机入门读物——图解X系列
- 堆和栈的区别
- ROS : 修改ROS源代码(overlaying package)
- 文章标题
- 基于直方图的图像全局二值化算法原理、实现--一维最大熵
- UVA - 10641(dp)
- 让TextView的drawable与文字一起居中
- 加载和卸载自己开发的Windows服务
- error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
- B-和B+树
- 第十一周项目0 是凌歌阿
- 清除缓存,数据库,sharedPreference和files
- PostgreSql索引的使用3--多字段索引