برای تغییر روشنایی مقادیر شدت نور را تغییر بدید و برای کنتراست هم scale شدت نور را تغییر بدید.
void contrastBrightness(InputArray _src, OutputArray _dst, float contrast, float brightness){
Mat src = _src.getMat();
if (_dst.empty() || _src.size() != _dst.size())
_dst.create(_src.size(), _src.type());
Mat dst = _dst.getMat();
if (src.type() == CV_8UC1){
for (int y = 0; y < src.rows; y++){
uchar* src_row = src.ptr<uchar>(y);
uchar* dst_row = dst.ptr<uchar>(y);
for (int x = 0; x < src.cols; x++)
dst_row[x] = saturate_cast<uchar>(contrast *(src_row[x] + brightness));
}
}
for (int y = 0; y < src.rows; y++){
uchar* src_row = src.ptr<uchar>(y);
uchar* dst_row = dst.ptr<uchar>(y);
int xx = 0;
for (int x = 0; x < src.cols; x++){
dst_row[xx++] = saturate_cast<uchar>(contrast *(src_row[xx] + brightness));
dst_row[xx++] = saturate_cast<uchar>(contrast *(src_row[xx] + brightness));
dst_row[xx++] = saturate_cast<uchar>(contrast *(src_row[xx] + brightness));
if (src.type() == CV_8UC4)
x++;
}
}
}