gamma_correction.py 602 B

1234567891011121314151617181920
  1. import cv2
  2. import numpy as np
  3. import os
  4. gamma = 2.97
  5. # input_folder = 'imgs/patterns'
  6. input_folder = 'imgs/patterns_2x4/'
  7. output_folder = 'imgs/patterns_2x4_gamma_corrected_'+str(gamma)
  8. os.makedirs(output_folder, exist_ok=True)
  9. n = len(os.listdir(input_folder))
  10. for i in range(n):
  11. print(os.path.join(input_folder, f'pat{i:02}.bmp'))
  12. img = cv2.imread(os.path.join(input_folder, f'pat{i:02}.bmp'), cv2.IMREAD_GRAYSCALE)
  13. img = img / 255.0
  14. img = img ** (1.0 / gamma)
  15. img = img * 255.0
  16. img = img.astype(np.uint8)
  17. cv2.imwrite(os.path.join(output_folder, f'pat{i:02}.bmp'), img)