focal length
This commit is contained in:
@ -33,8 +33,8 @@ uniform float pts;
|
|||||||
|
|
||||||
// parameters
|
// parameters
|
||||||
const vec2 sensor_size = vec2(5.949440, 5.205760);
|
const vec2 sensor_size = vec2(5.949440, 5.205760);
|
||||||
const float equidistant_focal_length = 3.020000;
|
const float equidistant_focal_length = 2.970000;
|
||||||
const float rectilinear_focal_length = 2.232346;
|
const float rectilinear_focal_length = 2.167601;
|
||||||
|
|
||||||
// constants
|
// constants
|
||||||
const int subsampling = 4;
|
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
|
# 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_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
|
# https://community.gopro.com/s/article/HERO11-Black-Video-Settings-And-Resolutions
|
||||||
|
|
||||||
gopro_array_horizontal = 5312 # p
|
gopro_array_horizontal = 5312 # p
|
||||||
gopro_array_vertical = 4648 # 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_horizontal = gopro_array_horizontal * sensor_pixel_size
|
||||||
gopro_size_vertical = (gopro_array_vertical / sensor_array_vertical) * sensor_size_vertical
|
gopro_size_vertical = gopro_array_vertical * sensor_pixel_size
|
||||||
gopro_size_diagonal = (gopro_array_diagonal / sensor_array_diagonal) * sensor_size_diagonal
|
gopro_size_diagonal = math.hypot(gopro_size_horizontal, gopro_size_vertical)
|
||||||
|
|
||||||
print("gopro size : horizontal = %7.3f, vertical = %7.3f, diagonal = %7.3f (mm)" % (
|
print("gopro size : horizontal = %7.3f, vertical = %7.3f, diagonal = %7.3f (mm)" % (
|
||||||
gopro_size_horizontal,
|
gopro_size_horizontal,
|
||||||
gopro_size_vertical,
|
gopro_size_vertical,
|
||||||
gopro_size_diagonal))
|
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_horizontal = gopro_size_horizontal * 0.5
|
||||||
gopro_radius_vertical = gopro_size_vertical * 0.5
|
gopro_radius_vertical = gopro_size_vertical * 0.5
|
||||||
@ -101,8 +87,7 @@ print("\n--- shader parameters ---\n")
|
|||||||
print("""// parameters
|
print("""// parameters
|
||||||
const vec2 sensor_size = vec2(%.6f, %.6f);
|
const vec2 sensor_size = vec2(%.6f, %.6f);
|
||||||
const float equidistant_focal_length = %.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_size_horizontal, gopro_size_vertical,
|
||||||
gopro_focal_length,
|
gopro_focal_length,
|
||||||
rectilinear_focal_length_vertical)
|
rectilinear_focal_length_vertical)
|
||||||
|
|||||||
Reference in New Issue
Block a user