c++实现代码:
int otsu(IplImage* src)
{
int height = src -> height;
int width = src -> width;
//------------直方图 ---------------
float histogram[256] = {0};
for(int i = 0; i < height; i++)
{
unsigned char* p = (unsigned char*)src -> imageData + src -> widthStep * i;
for(int j = 0; j < width; j++)
{
histogram[*p++]++;
}
}
//-----------直方图归一化--------
int size = height * width;
for(int i = 0; i < 256; i++)
{
histogram[i] = histogram[i] / size;
}
//-----------灰度均值 ----------
float avgValue = 0;
for(int i = 0; i < 256; i++)
{
avgValue+&#