focal length
This commit is contained in:
		@ -33,8 +33,8 @@ uniform float pts;
 | 
			
		||||
 | 
			
		||||
// parameters
 | 
			
		||||
const vec2 sensor_size = vec2(5.949440, 5.205760);
 | 
			
		||||
const float equidistant_focal_length = 3.020000;
 | 
			
		||||
const float rectilinear_focal_length = 2.232346;
 | 
			
		||||
const float equidistant_focal_length = 2.970000;
 | 
			
		||||
const float rectilinear_focal_length = 2.167601;
 | 
			
		||||
 | 
			
		||||
// constants
 | 
			
		||||
const int subsampling = 4;
 | 
			
		||||
 | 
			
		||||
@ -20,39 +20,25 @@ print("\n--- physical sensor ---\n")
 | 
			
		||||
 | 
			
		||||
# https://www.sony-semicon.com/files/62/pdf/p-13_IMX677-AAPH5-J_Flyer.pdf
 | 
			
		||||
 | 
			
		||||
sensor_array_horizontal = 5700 # p
 | 
			
		||||
sensor_array_vertical   = 5160 # p
 | 
			
		||||
sensor_array_diagonal   = math.hypot(sensor_array_horizontal, sensor_array_vertical)
 | 
			
		||||
 | 
			
		||||
sensor_pixel_size = 1.12 * 0.001 # mm
 | 
			
		||||
 | 
			
		||||
sensor_size_horizontal = sensor_array_horizontal * sensor_pixel_size
 | 
			
		||||
sensor_size_vertical   = sensor_array_vertical   * sensor_pixel_size
 | 
			
		||||
sensor_size_diagonal   = math.hypot(sensor_size_horizontal, sensor_size_vertical)
 | 
			
		||||
 | 
			
		||||
print("sensor size : horizontal = %7.3f, vertical = %7.3f, diagonal = %7.3f (mm)" % (
 | 
			
		||||
    sensor_size_horizontal,
 | 
			
		||||
    sensor_size_vertical,
 | 
			
		||||
    sensor_size_diagonal))
 | 
			
		||||
 | 
			
		||||
# https://community.gopro.com/s/article/HERO11-Black-Video-Settings-And-Resolutions
 | 
			
		||||
 | 
			
		||||
gopro_array_horizontal = 5312 # p
 | 
			
		||||
gopro_array_vertical   = 4648 # p
 | 
			
		||||
gopro_array_diagonal   = math.hypot(gopro_array_horizontal, gopro_array_vertical)
 | 
			
		||||
 | 
			
		||||
gopro_size_horizontal = (gopro_array_horizontal / sensor_array_horizontal) * sensor_size_horizontal
 | 
			
		||||
gopro_size_vertical   = (gopro_array_vertical   / sensor_array_vertical)   * sensor_size_vertical
 | 
			
		||||
gopro_size_diagonal   = (gopro_array_diagonal   / sensor_array_diagonal)   * sensor_size_diagonal
 | 
			
		||||
gopro_size_horizontal = gopro_array_horizontal * sensor_pixel_size
 | 
			
		||||
gopro_size_vertical   = gopro_array_vertical   * sensor_pixel_size
 | 
			
		||||
gopro_size_diagonal   = math.hypot(gopro_size_horizontal, gopro_size_vertical)
 | 
			
		||||
 | 
			
		||||
print("gopro  size : horizontal = %7.3f, vertical = %7.3f, diagonal = %7.3f (mm)" % (
 | 
			
		||||
    gopro_size_horizontal,
 | 
			
		||||
    gopro_size_vertical,
 | 
			
		||||
    gopro_size_diagonal))
 | 
			
		||||
 | 
			
		||||
# https://thinglabs.io/gopro-focal-radius-guide
 | 
			
		||||
# https://thinglabs.io/gopro-focal-length-guide
 | 
			
		||||
 | 
			
		||||
gopro_focal_length = 3.02 # mm
 | 
			
		||||
gopro_focal_length = 2.97 # mm
 | 
			
		||||
 | 
			
		||||
gopro_radius_horizontal = gopro_size_horizontal * 0.5
 | 
			
		||||
gopro_radius_vertical   = gopro_size_vertical   * 0.5
 | 
			
		||||
@ -101,8 +87,7 @@ print("\n--- shader parameters ---\n")
 | 
			
		||||
print("""// parameters
 | 
			
		||||
const vec2 sensor_size = vec2(%.6f, %.6f);
 | 
			
		||||
const float equidistant_focal_length = %.6f;
 | 
			
		||||
const float rectilinear_focal_length = %.6f;
 | 
			
		||||
""" % (
 | 
			
		||||
const float rectilinear_focal_length = %.6f;""" % (
 | 
			
		||||
    gopro_size_horizontal, gopro_size_vertical,
 | 
			
		||||
    gopro_focal_length,
 | 
			
		||||
    rectilinear_focal_length_vertical)
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user