diff --git a/gopro_8:7/unfish_gopro_8:7.glsl b/gopro_8:7/unfish_gopro_8:7.glsl index b86fb72..b2334fa 100644 --- a/gopro_8:7/unfish_gopro_8:7.glsl +++ b/gopro_8:7/unfish_gopro_8:7.glsl @@ -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; diff --git a/gopro_8:7/unfish_gopro_8:7.py b/gopro_8:7/unfish_gopro_8:7.py index e73de60..9152e69 100644 --- a/gopro_8:7/unfish_gopro_8:7.py +++ b/gopro_8:7/unfish_gopro_8:7.py @@ -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)