mean関数でMatの平均輝度を求めることができます。また、第2引数にマスク画像を指定すると、マスク画像において0でないピクセル位置と対応する第1引数のMatの平均輝度を求めることができます。第2引数を省略した場合には画像全体の平均を計算します。下の画像は1つ目が平均輝度を求める対象である第1引数に指定した画像、2つ目はマスク画像です。出力は次のようになるはずです。
Overall : 7 Mask : 100
#include "opencv/cv.h"
#include "opencv/highgui.h"
using namespace cv;
int main(){
Mat img1 = Mat::zeros(500, 500, CV_8UC1);
circle(img1, cv::Point(200, 250), 100, Scalar(100), 30, 4);
Mat mask = Mat::zeros(500, 500, CV_8UC1);
circle(mask, cv::Point(200, 250), 100, Scalar(255), 30, 4);
printf("Overall : %d\n";,(int)mean(img1)[0]);
printf("Mask : %d\n";,(int)mean(img1,mask)[0]);
imshow("img1",img1);
waitKey(0);
return 0;
}