前言:
这篇文章是一篇关于用c#实现直方图均衡化的简单demo。
这个是遥感老师布置的c#作业,由于最近一直在进行一个UWP的项目,大部分c#前台界面都是用xaml写的。但这个demo是一个窗体程序所以界面爆炸丑,望大家见谅。(虽然其他界面也写的丑 ( o=^•ェ•)o ┏━┓)
不多说。。。。。
先附上项目的Git地址:点击打开链接
开整:
首先简单的说一下直方图均衡化的步骤:
1 求原图的总像数个数 ;
int size = width * height;
2 计算各个灰度值对应的像元个数;
for (int i = 0; i < width; ++i)
for (int j = 0; j < height; ++j)
{
Color pixel = newbitmap.GetPixel(i, j);
//计算各像元值的个数
gray[Convert.ToInt16(pixel.R)] += 1;
//由于是灰度只读取R值
}
3