Я хочу получить изображения из:
fnumber=6.3;
iso_list=[100,200,300,400,500,600,700,800];
shutterspeed_list=[1,1/2,1/3,1/4,1/5,1/6];
Выберите лучшую пару iso
и shutterspeed
, чтобы получить изображение с соответствующей яркостью (яркость = 150,0) на основе значения экспозиции .
Я думаю, что могу решить следующим образом:
- Установите
desired_brightness=150.0
, получите current_brightness
на основе картинки - Получитетока
iso
и shutterspeed
, вычислите current_ev
brightness_ratio=log2(desired_brightness)/log2(current_brightness)
desired_ev=current_ev*brightness_ratio
- Получите
shutterspeed
и iso
на основеtarget_ev
Вот код:
def get_target_ev(self,cur_bright,tar_bright,shutterspeed,iso):
f=6.3
bright_ratio=math.log(tar_bright,2)/math.log(cur_bright,2)
cur_ev=math.log(f*f*shutterspeed,2)+math.log(iso/100.0,2)
target_ev=cur_ev*bright_ratio
return target_ev
Имеет ли смысл?