https://blog.csdn.net/hutianyou123/article/details/78954444

  1. void fun2(float alpha,float beta) {
  2. Mat image = imread("../seq/test1.jpg");
  3. if (image.empty()) {
  4. std::cout << "打开图像失败,请检查路径" << std::endl;
  5. return;
  6. }
  7. imshow("image", image);
  8. for(int i=0;i<image.rows;i++)
  9. for (int j = 0; j < image.cols; j++) {
  10. for (int k = 0; k < 3; k++) {
  11. int tmp= (uchar)image.at<Vec3b>(i, j)[k] * alpha + beta;
  12. if (tmp > 255)
  13. image.at<Vec3b>(i, j)[k] = 2 * 255 - tmp;
  14. else
  15. image.at<Vec3b>(i, j)[k] = tmp;
  16. }
  17. }
  18. imshow("亮度增强", image);
  19. imwrite("../seq/亮度增强.png", image);
  20. waitKey();
  21. }
  22. ————————————————
  23. 版权声明:本文为CSDN博主「畅游知识海洋」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
  24. 原文链接:https://blog.csdn.net/hutianyou123/article/details/78954444

这里的a和b的值,分别取1.5和10,大家也可以取其他的值。
图像增强的方法有很多,这只是最简单的方法,还有直方图均衡、对比度增强、去噪、锐化以及同态强化等。

  1. def imgeAdjustmentLightness(img) :
  2. B, G, R = cv2.split(img)
  3. b = copy.deepcopy(B)
  4. g = copy.deepcopy(G)
  5. r = copy.deepcopy(R)
  6. for row in range(len(b)) :
  7. for col in range(len(b[row])) :
  8. if b[row][col] > 235 :
  9. b[row][col] = 255
  10. else :
  11. b[row][col] = b[row][col] + 20
  12. if g[row][col] > 235 :
  13. g[row][col] = 255
  14. else :
  15. g[row][col] = g[row][col] + 20
  16. if r[row][col] > 235 :
  17. r[row][col] = 255
  18. else :
  19. r[row][col] = r[row][col] + 20
  20. merged = cv2.merge([b, g, r])
  21. 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