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