|
|

楼主 |
发表于 2022-6-1 03:41:10
高大上手机用户
|
显示全部楼层
安徽省滁州市
int Brenner2Clarity(const m_Byte* data, int w, int h, int x, int y, int w_len, int h_len) {
int sum1 = 0, sum2 = 0, sum3 = 0, tmp1 = 0;
for (int i = y; i < y + h_len && i < h; i += IMAGE_CHANNELS_NUMBER) {
tmp1 = i * w;
for (int j = x > 2 ? x : 2; j < x + w_len && j < w - 2; j += IMAGE_CHANNELS_NUMBER) {
//计算 f(x + 2, y) - f(x, y)
sum1 = data[tmp1 + j + 2] - data[tmp1 + j];
sum2 += (sum1 < 0 ? (-sum1) : sum1);//绝对值
}
sum3 += sum2;//可以根据传入图片的大小更改移位的数量,防止数据溢出
sum2 = 0;
}
printf(" Br2=%d,", sum3);
return sum3;
} |
|