一、设计思路
- 首先定义举行中心,再以中心加减size个像素点得到矩形
- 接着利用两个for循环依次读取矩形中像素点的值并累加
- 最后除以矩形面积得到矩形内像素点的平均值
二、函数代码
//计算图像某矩形区域内像素值的平均值函数(四个参数依次为:输入图像的指针,矩形中点的X坐标,矩形中点的Y坐标,矩形面积为((size*2)+1)的平方个像素点)
int* calMeanOfPixelValueWithRange(Mat* input,int x,int y,int size){
int leftTop_x,leftTop_y,leftBottom_x,leftBottom_y,rightTop_x,rightTop_y,rightBottom_x,rightBottom_y;
if(x-size<=0){
leftTop_x = 0;
leftBottom_x = 0;
}
else {
leftTop_x = x - size;
leftBottom_x = x - size;
}
if(x+size>=input->cols){
rightTop_x = input->cols;
rightBottom_x = input->cols;
}
else {
rightTop_x = x + size;
rightBottom_x = x + size;
}
if(y+size>=input->rows){
righ