https://blog.csdn.net/hutianyou123/article/details/78954444
void fun2(float alpha,float beta) {
Mat image = imread("../seq/test1.jpg");
if (image.empty()) {
std::cout << "打开图像失败,请检查路径" << std::endl;
return;
}
imshow("image", image);
for(int i=0;i<image.rows;i++)
for (int j = 0; j < image.cols; j++) {
for (int k = 0; k < 3; k++) {
int tmp= (uchar)image.at<Vec3b>(i, j)[k] * alpha + beta;
if (tmp > 255)
image.at<Vec3b>(i, j)[k] = 2 * 255 - tmp;
else
image.at<Vec3b>(i, j)[k] = tmp;
}
}
imshow("亮度增强", image);
imwrite("../seq/亮度增强.png", image);
waitKey();
}
————————————————
版权声明:本文为CSDN博主「畅游知识海洋」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hutianyou123/article/details/78954444
这里的a和b的值,分别取1.5和10,大家也可以取其他的值。
图像增强的方法有很多,这只是最简单的方法,还有直方图均衡、对比度增强、去噪、锐化以及同态强化等。
def imgeAdjustmentLightness(img) :
B, G, R = cv2.split(img)
b = copy.deepcopy(B)
g = copy.deepcopy(G)
r = copy.deepcopy(R)
for row in range(len(b)) :
for col in range(len(b[row])) :
if b[row][col] > 235 :
b[row][col] = 255
else :
b[row][col] = b[row][col] + 20
if g[row][col] > 235 :
g[row][col] = 255
else :
g[row][col] = g[row][col] + 20
if r[row][col] > 235 :
r[row][col] = 255
else :
r[row][col] = r[row][col] + 20
merged = cv2.merge([b, g, r])
cv2.imshow("after adjust lightness", merged)
相关图像增强
https://www.sohu.com/a/225997294_100087521
https://blog.csdn.net/zhu_hongji/article/details/80984341
https://zhuanlan.zhihu.com/p/57666772