compute_gammaest_err.py 920 B

123456789101112131415161718192021222324
  1. import cv2
  2. import numpy as np
  3. import os
  4. import sys
  5. sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
  6. from src.utils import binarize
  7. # 创建存储图像的文件夹
  8. gamma = 2.97
  9. # gamma = 1
  10. returned_folder = 'imgs/returned_grayscales_'+str(gamma)
  11. mask = binarize(cv2.imread(os.path.join('imgs/grayscale_images_1', 'white.bmp'), cv2.IMREAD_GRAYSCALE))
  12. # 生成256张灰度图
  13. error = 0
  14. for i in range(256):
  15. # 创建一个全为i的图像,大小为100x100(可以根据需要调整大小)
  16. returned_filename = os.path.join(returned_folder, f'0_frame_{i}.bmp')
  17. returned_img = cv2.imread(returned_filename, cv2.IMREAD_GRAYSCALE)
  18. returned_brightness_value = np.mean(np.ma.masked_array(returned_img, mask=~mask))/255.0
  19. print(returned_brightness_value, i/255.0)
  20. error += np.sum(np.abs(returned_brightness_value - i/255.0))
  21. print("256张error:", error*255.0/256.0)