- 操作系統:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 編程語言:C++11
算法描述
對輸入的兩個 uchar1 像素值 a 和 b,先分別歸一化到 [0.0, 1.0] 浮點區間,然后計算它們的 四象限反正切函數。
函數原型
__device__ __forceinline__ float1 cv::cudev::atan2 ( const uchar1 & a,const uchar1 & b )
參數
- uchar1 CUDA 向量類型,表示一個單通道 8 位無符號整型(等價于 unsigned char 或 uint8_t)。
代碼示例
#include <opencv2/cudev/functional.hpp>
#include <cstdio>__global__ void test_atan2() {uchar1 a = make_uchar1(128); // 輸入值 auchar1 b = make_uchar1(64); // 輸入值 bfloat1 res = cv::cudev::atan2(a, b);printf("atan2(%d / 255, %d / 255) = %f radians\n", a.x, b.x, res.x);
}int main() {test_atan2<<<1, 1>>>();cudaDeviceReset();return 0;
}
運行結果
atan2(128 / 255, 64 / 255) = 1.107149 radians