77# # From yakir12/CameraModels.jl
88origin (vector:: Union{<:AbstractVector{<:Real},<:Vector3} ) = origin3d
99origin (ray:: Ray ) = ray. origin
10- lookdirection (cameramodel:: CameraCalibrationT ) = SVector {3} (0 ,1 ,0 )
11- updirection (cameramodel:: CameraCalibrationT ) = SVector {3} (0 ,0 ,1 )
12- width (cameramodel:: CameraCalibrationT ) = cameramodel. width
13- height (cameramodel:: CameraCalibrationT ) = cameramodel. height
10+ lookdirection (cameramodel:: AbstractCameraModel ) = SVector {3} (0 ,1 ,0 )
11+ updirection (cameramodel:: AbstractCameraModel ) = SVector {3} (0 ,0 ,1 )
12+ width (cameramodel:: AbstractCameraModel ) = cameramodel. width
13+ height (cameramodel:: AbstractCameraModel ) = cameramodel. height
1414direction (vector:: Union{<:AbstractVector{<:Real},<:Vector3} ) = vector
1515direction (ray:: Ray ) = ray. direction
1616sensorsize (cameramodel:: AbstractCameraModel ) = SVector {2} (width (cameramodel), height (cameramodel))
@@ -24,11 +24,11 @@ canreproject(camera::AbstractCameraModel) = true
2424
2525
2626# # From JuliaRobotics/Caesar.jl
27- f_w (pc:: CameraCalibrationT ) = pc. K[1 ,1 ]
28- f_h (pc:: CameraCalibrationT ) = pc. K[2 ,2 ]
29- shear (pc:: CameraCalibrationT ) = pc. K[1 ,2 ]
30- c_w (pc:: CameraCalibrationT ) = pc. K[1 ,3 ]
31- c_h (pc:: CameraCalibrationT ) = pc. K[2 ,3 ]
27+ f_w (pc:: AbstractCameraModel ) = pc. K[1 ,1 ]
28+ f_h (pc:: AbstractCameraModel ) = pc. K[2 ,2 ]
29+ shear (pc:: AbstractCameraModel ) = pc. K[1 ,2 ]
30+ c_w (pc:: AbstractCameraModel ) = pc. K[1 ,3 ]
31+ c_h (pc:: AbstractCameraModel ) = pc. K[2 ,3 ]
3232
3333set_f_w! (pc:: CameraCalibrationMutable , val:: Real ) = (pc. K[1 ,1 ] = val)
3434set_f_h! (pc:: CameraCalibrationMutable , val:: Real ) = (pc. K[2 ,2 ] = val)
@@ -59,13 +59,13 @@ Deprecates:
5959Also see: [`backproject`](@ref)
6060"""
6161function project (
62- model:: CameraCalibrationT ,
62+ model:: AbstractCameraModel ,
6363 pointincamera:: Union{<:AbstractVector{<:Real}, <:Point3}
6464 )
6565 #
6666 column = c_w (model) + f_w (model) * pointincamera[1 ] / pointincamera[3 ]
6767 row = c_h (model) - f_h (model) * pointincamera[2 ] / pointincamera[3 ]
68- return PixelCoordinate (column, row)
68+ return PixelIndex (column, row)
6969end
7070# # homogeneous point coords xyzw (stereo cameras)
7171# # xyzw are in the camera frame, i.e. x-columns, y-rows, z-forward
@@ -95,9 +95,9 @@ Deprecates:
9595Also see: [`project`](@ref)
9696"""
9797function backproject (
98- model:: CameraCalibrationT ,
99- px_coord:: Union{<:AbstractVector{<:Real}, <:PixelIndex}
100- )
98+ model:: AbstractCameraModel , # AbstractCameraModel ,
99+ px_coord:: Union{<:AbstractVector{<:Real}, <:PixelIndex}
100+ )
101101 #
102102 x = (px_coord[1 ] - c_w (model)) / f_w (model)
103103 y = - (px_coord[2 ] - c_h (model)) / f_h (model)
0 commit comments