change_radial_distortion_image T_change_radial_distortion_image ChangeRadialDistortionImage ChangeRadialDistortionImage change_radial_distortion_image (Operator)
Name
change_radial_distortion_image T_change_radial_distortion_image ChangeRadialDistortionImage ChangeRadialDistortionImage change_radial_distortion_image
— Change the radial distortion of an image.
Signature
Description
change_radial_distortion_image change_radial_distortion_image ChangeRadialDistortionImage ChangeRadialDistortionImage change_radial_distortion_image
changes the radial distortion
of the input image Image Image Image image image
in accordance to the internal camera
parameters CamParamIn CamParamIn CamParamIn camParamIn cam_param_in
and CamParamOut CamParamOut CamParamOut camParamOut cam_param_out
. Each pixel of
the output image that lies within the region Region Region Region region region
is
transformed into the image plane using
CamParamOut CamParamOut CamParamOut camParamOut cam_param_out
and subsequently projected into a subpixel of
Image Image Image image image
using CamParamIn CamParamIn CamParamIn camParamIn cam_param_in
.
The resulting gray value is determined by
bilinear interpolation. If the subpixel is outside of Image Image Image image image
,
the corresponding pixel in ImageRectified ImageRectified ImageRectified imageRectified image_rectified
is set to 'black'
and eliminated from the image domain.
If the gray values of all pixels in the output image shall be
calculated, it is sufficient to pass an empty object in
Region Region Region region region
(which must be previously generated by, for example,
using gen_empty_obj gen_empty_obj GenEmptyObj GenEmptyObj gen_empty_obj
). This is especially useful if the size
of the output image differs from the size of the input image, and
hence, it is not possible to simply pass the region of the input
image in Region Region Region region region
.
If CamParamOut CamParamOut CamParamOut camParamOut cam_param_out
was computed via
change_radial_distortion_cam_par change_radial_distortion_cam_par ChangeRadialDistortionCamPar ChangeRadialDistortionCamPar change_radial_distortion_cam_par
, ImageRectified ImageRectified ImageRectified imageRectified image_rectified
is equivalent to Image Image Image image image
obtained with a lens with a modified
radial distortion. If
the image
is rectified. A subsequent pose estimation (determination of the
external camera parameters) is not affected by this operation.
Please note that change_radial_distortion_image change_radial_distortion_image ChangeRadialDistortionImage ChangeRadialDistortionImage change_radial_distortion_image
does not
work for line scan cameras with perspective lenses. Instead, you
might want to use image_to_world_plane image_to_world_plane ImageToWorldPlane ImageToWorldPlane image_to_world_plane
.
Attention
change_radial_distortion_image change_radial_distortion_image ChangeRadialDistortionImage ChangeRadialDistortionImage change_radial_distortion_image
can be executed on OpenCL devices if
the input image does not exceed the maximum size of image objects of the
selected device. As the OpenCL implementation uses single precision
arithmetic, the results can differ from the CPU implementation.
Execution Information
Supports OpenCL compute devices.
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Automatically parallelized on channel level.
Parameters
Image Image Image image image
(input_object) (multichannel-)image(-array) →
object HImage HObject HObject Hobject (byte / uint2 / real)
Original image.
ImageRectified ImageRectified ImageRectified imageRectified image_rectified
(output_object) (multichannel-)image(-array) →
object HImage HObject HObject Hobject * (byte / uint2 / real)
Resulting image with modified radial distortion.
CamParamIn CamParamIn CamParamIn camParamIn cam_param_in
(input_control) campar →
HCamPar , HTuple Sequence[Union[int, float, str]] HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Internal camera parameter for Image Image Image image image
.
CamParamOut CamParamOut CamParamOut camParamOut cam_param_out
(input_control) campar →
HCamPar , HTuple Sequence[Union[int, float, str]] HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Internal camera parameter for Image Image Image image image
.
Result
change_radial_distortion_image change_radial_distortion_image ChangeRadialDistortionImage ChangeRadialDistortionImage change_radial_distortion_image
returns 2 (
H_MSG_TRUE )
if all parameter
values are correct. If the input is empty (no input image is
available) the behavior can be set via
set_system('no_object_result',<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>)
. If necessary, an
exception is raised.
Possible Predecessors
change_radial_distortion_cam_par change_radial_distortion_cam_par ChangeRadialDistortionCamPar ChangeRadialDistortionCamPar change_radial_distortion_cam_par
,
read_image read_image ReadImage ReadImage read_image
,
grab_image grab_image GrabImage GrabImage grab_image
Possible Successors
edges_image edges_image EdgesImage EdgesImage edges_image
,
threshold threshold Threshold Threshold threshold
See also
change_radial_distortion_cam_par change_radial_distortion_cam_par ChangeRadialDistortionCamPar ChangeRadialDistortionCamPar change_radial_distortion_cam_par
,
camera_calibration camera_calibration CameraCalibration CameraCalibration camera_calibration
,
read_cam_par read_cam_par ReadCamPar ReadCamPar read_cam_par
,
change_radial_distortion_contours_xld change_radial_distortion_contours_xld ChangeRadialDistortionContoursXld ChangeRadialDistortionContoursXld change_radial_distortion_contours_xld
,
change_radial_distortion_points change_radial_distortion_points ChangeRadialDistortionPoints ChangeRadialDistortionPoints change_radial_distortion_points
Module
Calibration