Jetson Inference
DNN Vision Library
cudaWarp.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #ifndef __CUDA_WARP_H__
24 #define __CUDA_WARP_H__
25 
26 
27 #include "cudaUtility.h"
28 #include "imageFormat.h"
29 
30 
37 cudaError_t cudaWarpAffine( uchar4* input, uchar4* output, uint32_t width, uint32_t height,
38  const float transform[2][3], bool transform_inverted=false );
39 
40 
47 cudaError_t cudaWarpAffine( float4* input, float4* output, uint32_t width, uint32_t height,
48  const float transform[2][3], bool transform_inverted=false );
49 
50 
57 cudaError_t cudaWarpPerspective( void* input, uint32_t inputWidth, uint32_t inputHeight, imageFormat inputFormat,
58  void* output, uint32_t outputWidth, uint32_t outputHeight, imageFormat outputFormat,
59  const float transform[3][3], bool transform_inverted=false );
60 
61 
68 template<typename T>
69 cudaError_t cudaWarpPerspective( T* input, uint32_t inputWidth, uint32_t inputHeight,
70  T* output, uint32_t outputWidth, uint32_t outputHeight,
71  const float transform[3][3], bool transform_inverted=false )
72 {
73  return cudaWarpPerspective(input, inputWidth, inputHeight, imageFormatFromType<T>(), output, outputWidth, outputHeight, imageFormatFromType<T>(), transform, transform_inverted);
74 }
75 
76 
85 cudaError_t cudaWarpPerspective( uchar4* input, uchar4* output, uint32_t width, uint32_t height,
86  const float transform[3][3], bool transform_inverted=false );
87 
88 
97 cudaError_t cudaWarpPerspective( float4* input, float4* output, uint32_t width, uint32_t height,
98  const float transform[3][3], bool transform_inverted=false );
99 
100 
106 cudaError_t cudaWarpIntrinsic( uchar4* input, uchar4* output, uint32_t width, uint32_t height,
107  const float2& focalLength, const float2& principalPoint, const float4& distortion );
108 
109 
115 cudaError_t cudaWarpIntrinsic( float4* input, float4* output, uint32_t width, uint32_t height,
116  const float2& focalLength, const float2& principalPoint, const float4& distortion );
117 
118 
124 cudaError_t cudaWarpFisheye( uchar4* input, uchar4* output, uint32_t width, uint32_t height, float focus );
125 
126 
132 cudaError_t cudaWarpFisheye( float4* input, float4* output, uint32_t width, uint32_t height, float focus );
133 
134 
135 #endif
136 
cudaUtility.h
cudaWarpPerspective
cudaError_t cudaWarpPerspective(void *input, uint32_t inputWidth, uint32_t inputHeight, imageFormat inputFormat, void *output, uint32_t outputWidth, uint32_t outputHeight, imageFormat outputFormat, const float transform[3][3], bool transform_inverted=false)
Apply a 3x3 perspective warp to an image.
cudaWarpIntrinsic
cudaError_t cudaWarpIntrinsic(uchar4 *input, uchar4 *output, uint32_t width, uint32_t height, const float2 &focalLength, const float2 &principalPoint, const float4 &distortion)
Apply in-place instrinsic lens distortion correction to an 8-bit fixed-point RGBA image.
cudaWarpAffine
cudaError_t cudaWarpAffine(uchar4 *input, uchar4 *output, uint32_t width, uint32_t height, const float transform[2][3], bool transform_inverted=false)
Apply 2x3 affine warp to an 8-bit fixed-point RGBA image.
cudaWarpFisheye
cudaError_t cudaWarpFisheye(uchar4 *input, uchar4 *output, uint32_t width, uint32_t height, float focus)
Apply fisheye lens dewarping to an 8-bit fixed-point RGBA image.
imageFormat.h
imageFormat
imageFormat
The imageFormat enum is used to identify the pixel format and colorspace of an image.
Definition: imageFormat.h:49