gen_grayscale_images.py 719 B

1234567891011121314151617181920212223242526
  1. import cv2
  2. import numpy as np
  3. import os
  4. # 创建存储图像的文件夹
  5. gamma = 2.97
  6. # gamma = 1
  7. output_folder = 'imgs/grayscale_images'+str(gamma)
  8. os.makedirs(output_folder, exist_ok=True)
  9. error = 0
  10. # 生成256张灰度图
  11. for i in range(256):
  12. # 创建一个全为i的图像,大小为100x100(可以根据需要调整大小)
  13. p = int((i / 255.0) ** (1.0 / gamma) * 255.0)
  14. print(p, i)
  15. img = np.full((1080, 1920),p, dtype=np.uint8)
  16. # 定义文件名并保存图像
  17. filename = os.path.join(output_folder, f'pat{i:03}.bmp')
  18. cv2.imwrite(filename, img)
  19. error += np.sum(np.abs((p/255.0)**gamma - i/255.0))
  20. print("256张灰度图像已生成并保存。")
  21. print(error*255.0/256.0)