//改进LCM算法
Mat ImproveLCM(const Mat& SrcImg, int ksize)
{
if (SrcImg.channels() != 1)
cvtColor(SrcImg, SrcImg, CV_RGB2GRAY);
Mat resultImg = SrcImg.clone();
int delta = ksize + ksize / 2;
double m[9] = { 0 };
for (int i = delta; i < SrcImg.rows - delta; i++)
{
for (int j = delta; j < SrcImg.cols - delta; j++)
{
#if 1
//初始化0
for (int k = 0; k < 9; k++)
{
m[k] = 0;
}
//中心块
double maxValue = 0; //中心块最大值
for (int i0 = i - ksize / 2; i0 <= i + ksize / 2; i0++)
{
for (int j0 = j - ksize / 2; j0 <= j + ksize / 2; j0++)
{
m[0] += SrcImg.at<uchar>(i0, j0);
if (SrcImg.at<uchar>(i0, j0) > maxValue)
{
maxValue = SrcImg.at<uchar>(i0, j0);
}
}
}
//1
for (int i1 = i - ksize - ksize / 2; i1 <= i - ksize + ksize /