【文件属性】:
文件名称:图像处理 OTSU 算法 在c++ 中的实现
文件大小:2KB
文件格式:TXT
更新时间:2018-01-15 11:05:00
OTSU
OTSU
/*
* 功能: 大津二值法
* 参数: img为图像矩阵
* 返回: 二值化的阈值
*/
#include
#define HEIGHT 1080
#define WIDTH 1920
unsigned char otsuBin(unsigned char img[][WIDTH]) {
long greyHisto[256];
unsigned char greyMin = 0, greyMax = 255;
memset(greyHisto, 0, 256 * sizeof(long));
// 获取灰度直方图
for (int row = 0; row < WIDTH; row++)
for (int col = 0; col < HEIGHT; col++) {
int greyVal = img[row][col];
greyHisto[greyVal]++;
}
// 获取灰度范围
for (int i = 0; i < 256; i++) {
if (greyHisto[i] > 0) {
greyMin = i;
break;
}
}
for (int i = 255; i >= 0; i--) {
if (greyHisto[i] > 0) {
greyMax = i;
break;
}
}