![]() |
OpenCV 4.12.0
开源计算机视觉
|
类 | |
| 类 | cv::fastcv::FCVMSER |
| 用于灰度图像的 MSER 斑点检测器。更多... | |
| 类 | cv::fastcv::QcAllocator |
| 高通的自定义分配器。该分配器使用高通的内存管理函数。更多... | |
| 类 | cv::fastcv::QcResourceManager |
| FastCV 分配的资源管理器。此类管理活动分配。更多... | |
函数 | |
| void | cv::fastcv::arithmetic_op (InputArray src1, InputArray src2, OutputArray dst, int op) |
| 两个矩阵的算术加减操作。它针对高通处理器进行了优化。 | |
| void | cv::fastcv::bilateralFilter (InputArray _src, OutputArray _dst, int d, float sigmaColor, float sigmaSpace, int borderType=BORDER_DEFAULT) |
| 对图像应用双边滤波,考虑每个像素邻域的 d 像素直径。此滤镜不支持原地操作。 | |
| void | cv::fastcv::bilateralRecursive (cv::InputArray src, cv::OutputArray dst, float sigmaColor=0.03f, float sigmaSpace=0.1f) |
| 递归双边滤波。 | |
| void | cv::fastcv::buildPyramid (InputArray src, OutputArrayOfArrays pyr, int nLevels, bool scaleBy2=true, int borderType=cv::BORDER_REFLECT, uint8_t borderValue=0) |
| 根据预设级别,从单个原始图像连续向下缩放,构建 float32 图像金字塔。此 API 同时支持 ORB 缩放和减半缩放。 | |
| void | cv::fastcv::calcHist (InputArray _src, OutputArray _hist) |
| 计算输入图像的直方图。此函数以优化方式实现了 8u 单通道图像的 256 bin 直方图计算的特定用例。 | |
| void | cv::fastcv::dsp::Canny (InputArray _src, OutputArray _dst, int lowThreshold, int highThreshold, int apertureSize=3, bool L2gradient=false) |
| 应用于 8 位灰度图像的 Canny 边缘检测器。 | |
| void | cv::fastcv::clusterEuclidean (InputArray points, InputArray clusterCenters, OutputArray newClusterCenters, OutputArray clusterSizes, OutputArray clusterBindings, OutputArray clusterSumDists, int numPointsUsed=-1) |
| 将 D 维空间中的 N 个输入点聚类为 K 个簇。接受 8 位无符号整数点。在高通处理器上提供比 cv::kmeans 更快的执行时间。 | |
| void | cv::fastcv::DCT (InputArray src, OutputArray dst) |
| 此函数对输入图像执行 8x8 正向离散余弦变换,接受 8 位无符号整数类型的输入,并生成 16 位有符号整数类型的输出,在高通处理器上提供比 cv::dct 更快的执行时间。 | |
| void | cv::fastcv::FAST10 (InputArray src, InputArray mask, OutputArray coords, OutputArray scores, int barrier, int border, bool nmsEnabled) |
| 根据掩码从图像中提取 FAST10 角点和分数。该掩码指定了检测器要忽略的像素,该检测器专为高通处理器上的角点检测而设计,提供增强的速度。 | |
| void | cv::fastcv::dsp::fcvdspdeinit () |
| 去初始化 FastCV DSP 环境。 | |
| int | cv::fastcv::dsp::fcvdspinit () |
| 初始化 FastCV DSP 环境。 | |
| void | cv::fastcv::dsp::FFT (InputArray src, OutputArray dst) |
| 计算实值矩阵的一维或二维快速傅里叶变换。对于二维情况,输入和输出矩阵的宽度和高度必须是 2 的幂。对于一维情况,矩阵的高度必须为 1,而宽度必须是 2 的幂。 | |
| void | cv::fastcv::FFT (InputArray src, OutputArray dst) |
| 计算实值矩阵的一维或二维快速傅里叶变换。对于二维情况,输入和输出矩阵的宽度和高度必须是 2 的幂。对于一维情况,矩阵的高度必须为 1,而宽度必须是 2 的幂。接受 8 位无符号整数数组,而 cv::dft 接受浮点或复数数组。 | |
| void | cv::fastcv::fillConvexPoly (InputOutputArray img, InputArray pts, Scalar color) |
| 绘制凸多边形。此函数用指定颜色填充凸多边形的内部。要求宽度和步幅为 8 的倍数。 | |
| void | cv::fastcv::dsp::filter2D (InputArray _src, OutputArray _dst, int ddepth, InputArray _kernel) |
| 使用不可分离的核对图像进行滤波。 | |
| void | cv::fastcv::filter2D (InputArray _src, OutputArray _dst, int ddepth, InputArray _kernel) |
| 与不可分离的核进行 NxN 相关性计算。忽略达到半核宽度的边界。 | |
| void | cv::fastcv::gaussianBlur (InputArray _src, OutputArray _dst, int kernel_size=3, bool blur_border=true) |
| 高斯模糊,sigma = 0,核大小为方形。边界处理方式与 cv::GaussianBlur 不同,导致输出略有差异。 | |
| void | cv::fastcv::gemm (InputArray src1, InputArray src2, OutputArray dst, float alpha=1.0, InputArray src3=noArray(), float beta=0.0) |
| 两个浮点类型矩阵的矩阵乘法 R = a*A*B + b*C,其中 A,B,C,R 是矩阵,a,b 是常数。它针对高通处理器进行了优化。 | |
| cv::MatAllocator * | cv::fastcv::getQcAllocator () |
| 获取默认的高通分配器。此函数返回指向默认高通分配器的指针,该分配器针对 DSP 使用进行了优化。 | |
| void | cv::fastcv::houghLines (InputArray src, OutputArray lines, double threshold=0.25) |
| 执行霍夫线检测。 | |
| void | cv::fastcv::IDCT (InputArray src, OutputArray dst) |
| 此函数对输入图像执行 8x8 逆离散余弦变换,在高通处理器上的逆变换情况下,提供比 cv::dct 更快的执行时间。 | |
| void | cv::fastcv::dsp::IFFT (InputArray src, OutputArray dst) |
| 计算复数值矩阵的一维或二维逆快速傅里叶变换。对于二维情况,输入和输出矩阵的宽度和高度必须是 2 的幂。对于一维情况,矩阵的高度必须为 1,而宽度必须是 2 的幂。 | |
| void | cv::fastcv::IFFT (InputArray src, OutputArray dst) |
| 计算复数值矩阵的一维或二维逆快速傅里叶变换。对于二维情况,输入和输出矩阵的宽度和高度必须是 2 的幂。对于一维情况,矩阵的高度必须为 1,而宽度必须是 2 的幂。 | |
| void | cv::fastcv::integrateYUV (InputArray Y, InputArray CbCr, OutputArray IY, OutputArray ICb, OutputArray ICr) |
| YCbCr420 图像的积分。注意:输入高度应为 2 的倍数。输入宽度和步幅应为 16 的倍数。输出步幅应为 8 的倍数。它针对高通处理器进行了优化。 | |
| void | cv::fastcv::matmuls8s32 (InputArray src1, InputArray src2, OutputArray dst) |
| 两个 int8_t 类型矩阵的矩阵乘法使用有符号整数输入/输出,而 cv::gemm 使用浮点输入/输出,matmuls8s32 在高通处理器上提供增强的速度。 | |
| int | cv::fastcv::meanShift (InputArray src, Rect &rect, TermCriteria termCrit) |
| 应用均值漂移过程并获得最终收敛位置。此函数将均值漂移过程应用于原始图像(通常是概率图像)并获得最终收敛位置。收敛位置搜索将在达到所需精度或最大迭代次数时停止。Moments 算法中使用的矩以浮点计算。此函数与 cv::meanShift 不完全位精确,但在 Snapdragon 处理器上提供改进的延迟。 | |
| void | cv::fastcv::merge (InputArrayOfArrays mv, OutputArray dst) |
| 从多个单通道 CV_8U mat 创建一个多通道 mat。针对高通处理器进行了优化。 | |
| cv::Moments | cv::fastcv::moments (InputArray _src, bool binary) |
| 计算图像像素强度高达三阶的所有矩。结果在 cv::Moments 结构中返回。此函数 cv::fastcv::moments() 使用浮点计算矩,而 cv::moments() 使用双精度计算矩。 | |
| void | cv::fastcv::normalizeLocalBox (InputArray _src, OutputArray _dst, Size pSize, bool useStdDev) |
| 计算图像的局部减法和对比度归一化。图像的每个像素都通过以该像素为中心的块的平均值和标准差进行归一化。它针对高通处理器进行了优化。 | |
| void | cv::fastcv::remap (InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation, int borderValue=0) |
| 对灰度 CV_8UC1 图像应用通用几何变换。 | |
| void | cv::fastcv::remapRGBA (InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation) |
| 使用双线性或最近邻插值对 4 通道 CV_8UC4 图像应用通用几何变换。 | |
| void | cv::fastcv::resizeDown (cv::InputArray _src, cv::OutputArray _dst, Size dsize, double inv_scale_x, double inv_scale_y) |
| 使用指定的缩放因子或尺寸对图像进行降采样。此函数支持单通道 (CV_8UC1) 和双通道 (CV_8UC2) 图像。 | |
| void | cv::fastcv::sepFilter2D (InputArray _src, OutputArray _dst, int ddepth, InputArray _kernelX, InputArray _kernelY) |
| 与可分离核的 NxN 相关性。如果 srcImg 和 dstImg 指向同一地址且 srcStride 等于 dstStride,则将进行原地操作。忽略达到半核宽度的边界。溢出处理方式与 OpenCV 不同,此函数将对中间结果和最终结果进行右移操作。 | |
| void | cv::fastcv::sobel (InputArray _src, OutputArray _dx, OutputArray _dy, int kernel_size, int borderType, int borderValue) |
| 从源亮度数据创建二维梯度图像,不进行归一化。同时计算 X 方向的一阶导数或 Y 方向的一阶导数,或两者。 | |
| void | cv::fastcv::sobel3x3u8 (InputArray _src, OutputArray _dst, OutputArray _dsty=noArray(), int ddepth=CV_8U, bool normalization=false) |
| 从源亮度数据创建二维梯度图像,不进行归一化。此函数在 3x3 邻域上计算中心差分,然后将结果与 Sobel 核进行卷积,忽略达到半核宽度的边界。 | |
| void | cv::fastcv::sobelPyramid (InputArrayOfArrays pyr, OutputArrayOfArrays dx, OutputArrayOfArrays dy, int outType=CV_8S) |
| 从图像金字塔创建梯度金字塔。注意:在梯度计算期间忽略边界。 | |
| void | cv::fastcv::split (InputArray src, OutputArrayOfArrays mv) |
| 将 CV_8U 多通道 mat 分割为多个 CV_8UC1 mat。针对高通处理器进行了优化。 | |
| void | cv::fastcv::dsp::sumOfAbsoluteDiffs (cv::InputArray _patch, cv::InputArray _src, cv::OutputArray _dst) |
| 图像与 8x8 模板的绝对差之和。 | |
| void | cv::fastcv::dsp::thresholdOtsu (InputArray _src, OutputArray _dst, bool type) |
| 使用 Otsu 方法对灰度图像进行二值化。如果像素值大于阈值,则将像素设置为最大值(255);否则,将像素设置为最小值(0)。搜索阈值以最小化类内方差(类内的方差)。 | |
| void | cv::fastcv::thresholdRange (InputArray src, OutputArray dst, int lowThresh, int highThresh, int trueValue, int falseValue) |
| 根据一对阈值对灰度图像进行二值化。二值化图像将是用户选择的两个值,此函数在 Snapdragon 处理器上提供改进的延迟。 | |
| void | cv::fastcv::trackOpticalFlowLK (InputArray src, InputArray dst, InputArrayOfArrays srcPyr, InputArrayOfArrays dstPyr, InputArray ptsIn, OutputArray ptsOut, InputArray ptsEst, OutputArray statusVec, cv::Size winSize=cv::Size(7, 7), cv::TermCriteria termCriteria=cv::TermCriteria(cv::TermCriteria::MAX_ITER|cv::TermCriteria::EPS, 7, 0.03f *0.03f)) |
| 使用 Lucas-Kanade 算法计算稀疏光流,接受 8 位无符号整数图像。在高通处理器上提供更快的执行时间。 | |
| void | cv::fastcv::trackOpticalFlowLK (InputArray src, InputArray dst, InputArrayOfArrays srcPyr, InputArrayOfArrays dstPyr, InputArrayOfArrays srcDxPyr, InputArrayOfArrays srcDyPyr, InputArray ptsIn, OutputArray ptsOut, OutputArray statusVec, cv::Size winSize=cv::Size(7, 7), int maxIterations=7) |
| LK 跟踪函数 v1 的重载。 | |
| void | cv::fastcv::warpAffine (InputArray _src, OutputArray _dst, InputArray _M, Size dsize, int interpolation=INTER_LINEAR, int borderValue=0) |
| 使用提供的变换矩阵对输入图像执行仿射变换。 | |
| void | cv::fastcv::warpPerspective (InputArray _src, OutputArray _dst, InputArray _M0, Size dsize, int interpolation, int borderType, const Scalar &borderValue) |
| 使用透视变换对图像进行变换,与 cv::warpPerspective 相同但不完全位精确。 | |
| void | cv::fastcv::warpPerspective2Plane (InputArray _src1, InputArray _src2, OutputArray _dst1, OutputArray _dst2, InputArray _M0, Size dsize) |
| 使用相同的变换对两幅图像进行透视扭曲。在适用情况下使用双线性插值。例如,同时扭曲灰度图像和 alpha 图像,或扭曲两个颜色通道。 | |
| void cv::fastcv::arithmetic_op | ( | InputArray | src1, |
| InputArray | src2, | ||
| OutputArray | dst, | ||
| int | op ) |
#include <opencv2/fastcv/arithm.hpp>
两个矩阵的算术加减操作。它针对高通处理器进行了优化。
| src1 | 第一个源矩阵,可以是 CV_8U、CV_16S、CV_32F 类型。注意:不支持 CV_32F 用于减法操作。 |
| src2 | 第二个源矩阵,与 src1 具有相同的类型和大小。 |
| dst | 结果矩阵,类型与源矩阵相同。 |
| op | 操作类型 - 0 表示加法,1 表示减法。 |
| void cv::fastcv::bilateralFilter | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| int | d, | ||
| float | sigmaColor, | ||
| float | sigmaSpace, | ||
| int | borderType = BORDER_DEFAULT ) |
#include <opencv2/fastcv/bilateralFilter.hpp>
对图像应用双边滤波,考虑每个像素邻域的 d 像素直径。此滤镜不支持原地操作。
| _src | CV_8UC1 类型的输入图像 |
| _dst | 目标图像,类型与 _src 相同。 |
| d | 核大小(可以是 5、7 或 9) |
| sigmaColor | 颜色空间中的滤波器 sigma。典型值为 50.0f。增加此值意味着增加颜色差异更大的相邻像素对平滑结果的影响。 |
| sigmaSpace | 坐标空间中的滤波器 sigma。典型值为 1.0f。增加此值意味着增加核大小距离内更远的相邻像素对平滑结果的影响。 |
| borderType | 用于推断图像外部像素的边界模式 |
| void cv::fastcv::bilateralRecursive | ( | cv::InputArray | src, |
| cv::OutputArray | dst, | ||
| float | sigmaColor = 0.03f, | ||
| float | sigmaSpace = 0.1f ) |
#include <opencv2/fastcv/smooth.hpp>
递归双边滤波。
与传统的双边滤波不同,这里的平滑实际上是在梯度域中进行的。该算法声称在图像质量和计算方面都比原始双边滤波更高效。请参阅杨庆雄教授在 ECCV2012 论文《递归双边滤波》中的算法描述。此函数与 cv::bilateralFilter 不完全位精确,但在 Snapdragon 处理器上提供改进的延迟。
| src | 输入图像,应具有一个 CV_8U 通道 |
| dst | 输出数组,具有一个 CV_8U 通道 |
| sigmaColor | 颜色空间中的 Sigma,值越大,算法平滑的颜色差异越大。 |
| sigmaSpace | 坐标空间中的 Sigma,值越大,平滑的距离像素越多。 |
| void cv::fastcv::buildPyramid | ( | InputArray | src, |
| OutputArrayOfArrays | pyr, | ||
| int | nLevels, | ||
| bool | scaleBy2 = true, | ||
| int | borderType = cv::BORDER_REFLECT, | ||
| uint8_t | borderValue = 0 ) |
#include <opencv2/fastcv/pyramid.hpp>
根据预设级别,从单个原始图像连续向下缩放,构建 float32 图像金字塔。此 API 同时支持 ORB 缩放和减半缩放。
| src | 8U 或 32F 类型的单通道输入图像 |
| pyr | 输出数组,包含 nLevels 个缩小尺寸的图像副本 |
| nLevels | 要生成的金字塔层数 |
| scaleBy2 | 将图像缩小 2 倍或按 1/(2)^(1/4) 的因子(近似为 0.8408964,即 ORB 缩小)进行缩放,浮点图像不支持 ORB 缩放。 |
| borderType | 如何处理边界,选项包括 BORDER_REFLECT(映射到 FASTCV_BORDER_REFLECT)、BORDER_REFLECT_101(映射到 FASTCV_BORDER_REFLECT_V2)和 BORDER_REPLICATE(映射到 FASTCV_BORDER_REPLICATE)。其他边界类型映射到 FASTCV_BORDER_UNDEFINED(边界像素被忽略)。目前,边界仅支持减半缩放,ORB 缩放时忽略。浮点图像也忽略。 |
| borderValue | 用于填充边界的值,浮点图像时忽略。 |
| void cv::fastcv::calcHist | ( | InputArray | _src, |
| OutputArray | _hist ) |
#include <opencv2/fastcv/histogram.hpp>
计算输入图像的直方图。此函数以优化方式实现了 8u 单通道图像的 256 bin 直方图计算的特定用例。
| _src | CV_8UC1 类型的输入图像 |
| _hist | 256 bin 的 int 类型输出直方图 |
| void cv::fastcv::dsp::Canny | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| int | lowThreshold, | ||
| int | highThreshold, | ||
| int | apertureSize = 3, | ||
| bool | L2gradient = false ) |
#include <opencv2/fastcv/edges_dsp.hpp>
应用于 8 位灰度图像的 Canny 边缘检测器。
| void cv::fastcv::clusterEuclidean | ( | InputArray | points, |
| InputArray | clusterCenters, | ||
| OutputArray | newClusterCenters, | ||
| OutputArray | clusterSizes, | ||
| OutputArray | clusterBindings, | ||
| OutputArray | clusterSumDists, | ||
| int | numPointsUsed = -1 ) |
#include <opencv2/fastcv/cluster.hpp>
将 D 维空间中的 N 个输入点聚类为 K 个簇。接受 8 位无符号整数点。在高通处理器上提供比 cv::kmeans 更快的执行时间。
| points | 8u 类型的点数组,每行代表一个点。大小为 N 行 D 列,可以是断续的。 |
| clusterCenters | 32f 类型的初始簇中心数组,每行代表一个中心。大小为 K 行 D 列,可以是断续的。 |
| newClusterCenters | 结果簇中心数组,类型为 32f,每行代表找到的中心。大小设置为 K 行 D 列。 |
| clusterSizes | 结果簇成员计数数组,类型为 uint32,大小设置为 1 行 K 列。 |
| clusterBindings | 结果点索引数组,类型为 uint32,每个索引指示相应的点属于哪个簇。大小设置为 1 行 numPointsUsed 列。 |
| clusterSumDists | 结果距离和数组,类型为 32f,每个数字是每个簇中心到其所属点之间距离的和。大小设置为 1 行 K 列 |
| numPointsUsed | 要聚类的点数,从 0 到 numPointsUsed-1(含)。如果为负数,则设置为 N。 |
| void cv::fastcv::DCT | ( | InputArray | src, |
| OutputArray | dst ) |
#include <opencv2/fastcv/ipptransform.hpp>
此函数对输入图像执行 8x8 正向离散余弦变换,接受 8 位无符号整数类型的输入,并生成 16 位有符号整数类型的输出,在高通处理器上提供比 cv::dct 更快的执行时间。
| src | CV_8UC1 类型的输入图像 |
| dst | CV_16SC1 类型的输出图像 |
| void cv::fastcv::FAST10 | ( | InputArray | src, |
| InputArray | mask, | ||
| OutputArray | coords, | ||
| OutputArray | scores, | ||
| int | barrier, | ||
| int | border, | ||
| bool | nmsEnabled ) |
#include <opencv2/fastcv/fast10.hpp>
根据掩码从图像中提取 FAST10 角点和分数。该掩码指定了检测器要忽略的像素,该检测器专为高通处理器上的角点检测而设计,提供增强的速度。
| src | 8 位灰度图像 |
| mask | 可选掩码,指示哪些像素应从角点检测中忽略。其大小应为图像宽度和高度的 k 倍,其中 k = 1/2、1/4、1/8、1、2、4 和 8。更多详情请参阅 FastCV 中 fcvCornerFast9InMaskScoreu8 函数的文档。 |
| coords | 包含检测到的角点的交错 x、y 位置的 CV_32S 输出数组 |
| scores | 包含检测到的角点分数的可选输出数组。分数是仍能验证检测到的角点的最高阈值。分数越高表示角点特征越强。例如,分数 108 的角点比分数 50 的角点更强。 |
| barrier | FAST 阈值。该阈值用于比较中心像素的强度值与围绕该像素圆上的像素之间的差异。 |
| border | 图像顶部、底部、右侧、左侧要忽略的像素数量。如果小于 4,则默认为 4。 |
| nmsEnabled | 启用非极大值抑制以修剪弱关键点 |
| void cv::fastcv::dsp::fcvdspdeinit | ( | ) |
#include <opencv2/fastcv/dsp_init.hpp>
去初始化 FastCV DSP 环境。
此函数释放由“fcvdspinit”函数设置的资源和环境。应在使用案例或程序退出前调用此函数,以确保所有 DSP 资源都得到正确清理且不发生内存泄漏。
| int cv::fastcv::dsp::fcvdspinit | ( | ) |
#include <opencv2/fastcv/dsp_init.hpp>
初始化 FastCV DSP 环境。
此函数为 DSP 操作设置必要的环境和资源。它必须在使用案例或程序的最开始调用一次,以确保在执行任何 DSP 相关操作之前,DSP 已正确初始化。
| void cv::fastcv::dsp::FFT | ( | InputArray | src, |
| OutputArray | dst ) |
#include <opencv2/fastcv/fft_dsp.hpp>
计算实值矩阵的一维或二维快速傅里叶变换。对于二维情况,输入和输出矩阵的宽度和高度必须是 2 的幂。对于一维情况,矩阵的高度必须为 1,而宽度必须是 2 的幂。
| src | CV_8UC1 类型的输入数组。对于 2D 情况,矩阵的维度必须是 2 的幂;对于 1D 情况,高度必须为 1,而宽度必须是 2 的幂。 |
| dst | 计算得到的 CV_32FC2 类型的 FFT 矩阵。FFT 的实部(Re)和虚部(Im)系数存储在不同的通道中。因此 dst 的维度为 (srcWidth, srcHeight)。 |
| void cv::fastcv::FFT | ( | InputArray | src, |
| OutputArray | dst ) |
#include <opencv2/fastcv/fft.hpp>
计算实值矩阵的一维或二维快速傅里叶变换。对于二维情况,输入和输出矩阵的宽度和高度必须是 2 的幂。对于一维情况,矩阵的高度必须为 1,而宽度必须是 2 的幂。接受 8 位无符号整数数组,而 cv::dft 接受浮点或复数数组。
| src | CV_8UC1 类型的输入数组。对于 2D 情况,矩阵的维度必须是 2 的幂;对于 1D 情况,高度必须为 1,而宽度必须是 2 的幂。 |
| dst | 计算得到的 CV_32FC2 类型的 FFT 矩阵。FFT 的实部(Re)和虚部(Im)系数存储在不同的通道中。因此 dst 的维度为 (srcWidth, srcHeight)。 |
| void cv::fastcv::fillConvexPoly | ( | InputOutputArray | img, |
| InputArray | pts, | ||
| Scalar | color ) |
#include <opencv2/fastcv/draw.hpp>
绘制凸多边形。此函数用指定颜色填充凸多边形的内部。要求宽度和步幅为 8 的倍数。
| img | 要绘制的图像。应具有最多 4 个 8 位通道。 |
| pts | 多边形点坐标数组。应包含 N 个双通道或 2*N 个单通道 32 位整数元素。 |
| color | 绘制的多边形颜色,存储为 B、G、R 和 A(如果支持)。 |
| void cv::fastcv::dsp::filter2D | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| int | ddepth, | ||
| InputArray | _kernel ) |
#include <opencv2/fastcv/blur_dsp.hpp>
使用不可分离的核对图像进行滤波。
| _src | CV_8UC1 类型的输入图像,源尺寸应大于 176*144。 |
| _dst | CV_8UC1、CV_16SC1 或 CV_32FC1 类型的输出图像。 |
| ddepth | 输出图像的深度。 |
| _kernel | 滤波器核数据。 |
| void cv::fastcv::filter2D | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| int | ddepth, | ||
| InputArray | _kernel ) |
#include <opencv2/fastcv/blur.hpp>
与不可分离的核进行 NxN 相关性计算。忽略达到半核宽度的边界。
| _src | CV_8UC1 类型的输入图像 |
| _dst | CV_8UC1、CV_16SC1 或 CV_32FC1 类型的输出图像。 |
| ddepth | 输出图像的深度。 |
| _kernel | 滤波器核数据。 |
| void cv::fastcv::gaussianBlur | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| int | kernel_size = 3, | ||
| bool | blur_border = true ) |
#include <opencv2/fastcv/blur.hpp>
高斯模糊,sigma = 0,核大小为方形。边界处理方式与 cv::GaussianBlur 不同,导致输出略有差异。
| _src | CV_8UC1 类型的输入图像 |
| _dst | CV_8UC1 类型的输出图像。 |
| kernel_size | 滤波器核大小。可选值为 3、5、11。 |
| blur_border | 如果设置为 true,则通过 0 填充相邻值来模糊边界(常数边界的一种变体)。如果设置为 false,则忽略达到半核宽度的边界(例如 3x3 情况下的 1 像素)。 |
| void cv::fastcv::gemm | ( | InputArray | src1, |
| InputArray | src2, | ||
| OutputArray | dst, | ||
| float | alpha = 1.0, | ||
| InputArray | src3 = noArray(), | ||
| float | beta = 0.0 ) |
#include <opencv2/fastcv/arithm.hpp>
两个浮点类型矩阵的矩阵乘法 R = a*A*B + b*C,其中 A,B,C,R 是矩阵,a,b 是常数。它针对高通处理器进行了优化。
| src1 | CV_32F 类型的第一源矩阵。 |
| src2 | CV_32F 类型的第二源矩阵,行数与 src1 列数相同。 |
| dst | CV_32F 类型的结果矩阵。 |
| alpha | src1 和 src2 的乘法因子。 |
| src3 | 可选的 CV_32F 类型的第三个矩阵,将添加到矩阵乘积中。 |
| beta | src3 的乘法因子。 |
| cv::MatAllocator * cv::fastcv::getQcAllocator | ( | ) |
#include <opencv2/fastcv/allocator.hpp>
获取默认的高通分配器。此函数返回指向默认高通分配器的指针,该分配器针对 DSP 使用进行了优化。
| void cv::fastcv::houghLines | ( | InputArray | src, |
| OutputArray | 输出向量,包含与另一图像中点对应的对极线。每条线\(ax + by + c=0\)由3个数字\((a, b, c)\)编码。, | ||
| double | threshold = 0.25 ) |
#include <opencv2/fastcv/hough.hpp>
执行霍夫线检测。
| src | 包含二进制轮廓的 8 位图像。宽度和步长应能被 8 整除。 |
| 输出向量,包含与另一图像中点对应的对极线。每条线\(ax + by + c=0\)由3个数字\((a, b, c)\)编码。 | 输出数组,包含检测到的线,形式为 (x1, y1, x2, y2),所有数字均为 32 位浮点数。 |
| RANSAC参数。它是点到像素中对极线的最大距离,超过此距离的点将被视为异常值,不用于计算最终的基本矩阵。它可以设置为1-3左右,具体取决于点定位的精度、图像分辨率和图像噪声。 | 控制检测到线的最小长度。值必须介于 0.0 和 1.0 之间。接近 1.0 的值会减少检测到的线数量。接近 0.0 的值会检测更多线,但可能存在噪声。推荐值为 0.25。 |
| void cv::fastcv::IDCT | ( | InputArray | src, |
| OutputArray | dst ) |
#include <opencv2/fastcv/ipptransform.hpp>
此函数对输入图像执行 8x8 逆离散余弦变换,在高通处理器上的逆变换情况下,提供比 cv::dct 更快的执行时间。
| src | CV_16SC1 类型的输入图像。 |
| dst | CV_8UC1 类型的输出图像。 |
| void cv::fastcv::dsp::IFFT | ( | InputArray | src, |
| OutputArray | dst ) |
#include <opencv2/fastcv/fft_dsp.hpp>
计算复数值矩阵的一维或二维逆快速傅里叶变换。对于二维情况,输入和输出矩阵的宽度和高度必须是 2 的幂。对于一维情况,矩阵的高度必须为 1,而宽度必须是 2 的幂。
| src | CV_32FC2 类型的输入数组,包含存储在独立通道中的 FFT 实部和虚部系数。对于 2D 情况,矩阵的维度必须是 2 的幂;对于 1D 情况,高度必须为 1,而宽度必须是 2 的幂。 |
| dst | 计算得到的 CV_8U 类型的 IFFT 矩阵。矩阵是实数值的,没有虚部。因此 dst 的维度为 (srcWidth , srcHeight)。 |
| void cv::fastcv::IFFT | ( | InputArray | src, |
| OutputArray | dst ) |
#include <opencv2/fastcv/fft.hpp>
计算复数值矩阵的一维或二维逆快速傅里叶变换。对于二维情况,输入和输出矩阵的宽度和高度必须是 2 的幂。对于一维情况,矩阵的高度必须为 1,而宽度必须是 2 的幂。
| src | CV_32FC2 类型的输入数组,包含存储在独立通道中的 FFT 实部和虚部系数。对于 2D 情况,矩阵的维度必须是 2 的幂;对于 1D 情况,高度必须为 1,而宽度必须是 2 的幂。 |
| dst | 计算得到的 CV_8U 类型的 IFFT 矩阵。矩阵是实数值的,没有虚部。因此 dst 的维度为 (srcWidth , srcHeight)。 |
| void cv::fastcv::integrateYUV | ( | InputArray | Y, |
| InputArray | CbCr, | ||
| OutputArray | IY, | ||
| OutputArray | ICb, | ||
| OutputArray | ICr ) |
#include <opencv2/fastcv/arithm.hpp>
YCbCr420 图像的积分。注意:输入高度应为 2 的倍数。输入宽度和步幅应为 16 的倍数。输出步幅应为 8 的倍数。它针对高通处理器进行了优化。
| Y | 8UC1 YCbCr420 图像的输入 Y 分量。 |
| CbCr | 8UC1 YCbCr420 图像的输入 CbCr 分量(交错)。 |
| IY | CV_32S 单通道的输出 Y 积分图像,大小为 (Y height + 1)*(Y width + 1)。 |
| ICb | CV_32S 单通道的输出 Cb 积分图像,大小为 (Y height/2 + 1)*(Y width/2 + 1)。 |
| ICr | CV_32S 单通道的输出 Cr 积分图像,大小为 (Y height/2 + 1)*(Y width/2 + 1)。 |
| void cv::fastcv::matmuls8s32 | ( | InputArray | src1, |
| InputArray | src2, | ||
| OutputArray | dst ) |
#include <opencv2/fastcv/arithm.hpp>
两个 int8_t 类型矩阵的矩阵乘法使用有符号整数输入/输出,而 cv::gemm 使用浮点输入/输出,matmuls8s32 在高通处理器上提供增强的速度。
| src1 | CV_8S 类型的第一源矩阵。 |
| src2 | CV_8S 类型的第二源矩阵。 |
| dst | CV_32S 类型的输出矩阵。 |
| int cv::fastcv::meanShift | ( | InputArray | src, |
| Rect & | rect, | ||
| TermCriteria | termCrit ) |
#include <opencv2/fastcv/shift.hpp>
应用均值漂移过程并获得最终收敛位置。此函数将均值漂移过程应用于原始图像(通常是概率图像)并获得最终收敛位置。收敛位置搜索将在达到所需精度或最大迭代次数时停止。Moments 算法中使用的矩以浮点计算。此函数与 cv::meanShift 不完全位精确,但在 Snapdragon 处理器上提供改进的延迟。
| src | 通常基于对象直方图计算的概率图像,为 8 位、32 位整型或 32 位浮点型灰度图像。 |
| rect | 初始搜索窗口位置,同时返回最终收敛的窗口位置。 |
| termCrit | 用于结束均值漂移的准则,包含两个终止条件:1) epsilon: 所需精度;2) max_iter: 最大迭代次数。 |
| void cv::fastcv::merge | ( | InputArrayOfArrays | mv, |
| OutputArray | dst ) |
#include <opencv2/fastcv/channel.hpp>
从多个单通道 CV_8U mat 创建一个多通道 mat。针对高通处理器进行了优化。
| mv | 要合并的矩阵输入向量;mv 中的所有矩阵必须是 CV_8UC1 类型且具有相同大小。注意:矩阵数量可以是 2、3 或 4。 |
| dst | 深度为 CV_8U 且与 mv[0] 大小相同的输出数组;通道数将是矩阵数组中矩阵的总数。 |
| cv::Moments cv::fastcv::moments | ( | InputArray | _src, |
| bool | binary ) |
#include <opencv2/fastcv/moments.hpp>
计算图像像素强度高达三阶的所有矩。结果在 cv::Moments 结构中返回。此函数 cv::fastcv::moments() 使用浮点计算矩,而 cv::moments() 使用双精度计算矩。
| _src | CV_8UC1, CV_32SC1, CV_32FC1 类型的输入图像。 |
| binary | 如果为 true,则假定图像为二值图像(0x00 为黑色,0xff 为白色),否则假定图像为灰度图像。 |
| void cv::fastcv::normalizeLocalBox | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| Size | pSize, | ||
| bool | useStdDev ) |
#include <opencv2/fastcv/blur.hpp>
计算图像的局部减法和对比度归一化。图像的每个像素都通过以该像素为中心的块的平均值和标准差进行归一化。它针对高通处理器进行了优化。
| _src | 输入图像,应为单通道 CV_8U 或 CV_32F 类型。 |
| _dst | 输出数组,应为单通道,如果 src 为 CV_8U 类型则为 CV_8S,如果 src 为 CV_32F 类型则为 CV_32F。 |
| pSize | 用于均值和标准差计算的图像块大小。 |
| useStdDev | 如果为 1,则均值和标准差都将用于归一化;如果为 0,则仅使用均值。 |
| void cv::fastcv::remap | ( | InputArray | src, |
| OutputArray | dst, | ||
| InputArray | map1, | ||
| InputArray | map2, | ||
| int | interpolation, | ||
| int | borderValue = 0 ) |
#include <opencv2/fastcv/remap.hpp>
对灰度 CV_8UC1 图像应用通用几何变换。
| src | 第一个输入图像数据,CV_8UC1 类型。 |
| dst | 输出图像数据,CV_8UC1 类型。 |
| map1 | 浮点型 CV_32FC1 矩阵,每个元素作为源图像中映射位置的列坐标。 |
| map2 | 浮点型 CV_32FC1 矩阵,每个元素作为源图像中映射位置的行坐标。 |
| interpolation | 仅支持 INTER_NEAREST 和 INTER_LINEAR 插值。 |
| borderValue | 常数像素值。 |
| void cv::fastcv::remapRGBA | ( | InputArray | src, |
| OutputArray | dst, | ||
| InputArray | map1, | ||
| InputArray | map2, | ||
| int | interpolation ) |
#include <opencv2/fastcv/remap.hpp>
使用双线性或最近邻插值对 4 通道 CV_8UC4 图像应用通用几何变换。
| src | 第一个输入图像数据,CV_8UC4 类型。 |
| dst | 输出图像数据,CV_8UC4 类型。 |
| map1 | 浮点型 CV_32FC1 矩阵,每个元素作为源图像中映射位置的列坐标。 |
| map2 | 浮点型 CV_32FC1 矩阵,每个元素作为源图像中映射位置的行坐标。 |
| interpolation | 仅支持 INTER_NEAREST 和 INTER_LINEAR 插值。 |
| void cv::fastcv::resizeDown | ( | cv::InputArray | _src, |
| cv::OutputArray | _dst, | ||
| Size | dsize, | ||
| double | inv_scale_x, | ||
| double | inv_scale_y ) |
#include <opencv2/fastcv/scale.hpp>
使用指定的缩放因子或尺寸对图像进行降采样。此函数支持单通道 (CV_8UC1) 和双通道 (CV_8UC2) 图像。
| _src | 输入图像数据,CV_8UC1 或 CV_8UC2 类型。 |
| _dst | 输出图像数据,CV_8UC1 或 CV_8UC2 类型。 |
| dsize | 期望的输出图像大小。如果为空,则使用 inv_scale_x 和 inv_scale_y 计算。 |
| inv_scale_x | 宽度的逆缩放因子。如果提供了 dsize,则此参数将被忽略。 |
| inv_scale_y | 高度的逆缩放因子。如果提供了 dsize,则此参数将被忽略。 |
| void cv::fastcv::sepFilter2D | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| int | ddepth, | ||
| InputArray | _kernelX, | ||
| InputArray | _kernelY ) |
#include <opencv2/fastcv/blur.hpp>
与可分离核的 NxN 相关性。如果 srcImg 和 dstImg 指向同一地址且 srcStride 等于 dstStride,则将进行原地操作。忽略达到半核宽度的边界。溢出处理方式与 OpenCV 不同,此函数将对中间结果和最终结果进行右移操作。
| _src | CV_8UC1 类型的输入图像 |
| _dst | CV_8UC1, CV_16SC1 类型的输出图像。 |
| ddepth | 输出图像的深度。 |
| _kernelX | X 方向的滤波器核数据。 |
| _kernelY | Y 方向的滤波器核数据(对于 CV_16SC1,kernelX 和 kernelY 应相同)。 |
| void cv::fastcv::sobel | ( | InputArray | _src, |
| OutputArray | _dx, | ||
| OutputArray | _dy, | ||
| int | kernel_size, | ||
| int | borderType, | ||
| int | borderValue ) |
#include <opencv2/fastcv/edges.hpp>
从源亮度数据创建二维梯度图像,不进行归一化。同时计算 X 方向的一阶导数或 Y 方向的一阶导数,或两者。
| _src | CV_8UC1 类型的输入图像 |
| _dx | 用于存储水平梯度的缓冲区。大小必须为 (dxyStride)*(height) 字节。如果为 NULL,则不计算水平梯度。 |
| _dy | 用于存储垂直梯度的缓冲区。大小必须为 (dxyStride)*(height) 字节。如果为 NULL,则不计算垂直梯度。 |
| kernel_size | Sobel 核大小,支持 3x3, 5x5, 7x7。 |
| borderType | 边界类型,支持 BORDER_CONSTANT, BORDER_REPLICATE。 |
| borderValue | 常数边界的边界值。 |
| void cv::fastcv::sobel3x3u8 | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| OutputArray | _dsty = noArray(), | ||
| int | ddepth = CV_8U, | ||
| bool | normalization = false ) |
#include <opencv2/fastcv/edges.hpp>
从源亮度数据创建二维梯度图像,不进行归一化。此函数在 3x3 邻域上计算中心差分,然后将结果与 Sobel 核进行卷积,忽略达到半核宽度的边界。
| _src | CV_8UC1 类型的输入图像 |
| _dst | 如果提供了 _dsty,则为存储水平梯度的缓冲区,否则为 |dx|+|dy| 的 8 位输出图像。缓冲区大小为 (srcwidth)*(srcheight) 字节。 |
| _dsty | (可选)用于存储垂直梯度的缓冲区。大小必须为 (srcwidth)*(srcheight)。 |
| ddepth | 输出图像的深度 CV_8SC1, CV_16SC1, CV_32FC1。 |
| normalization | 是否对结果进行归一化。 |
| void cv::fastcv::sobelPyramid | ( | InputArrayOfArrays | pyr, |
| OutputArrayOfArrays | dx, | ||
| OutputArrayOfArrays | dy, | ||
| int | outType = CV_8S ) |
#include <opencv2/fastcv/pyramid.hpp>
从图像金字塔创建梯度金字塔。注意:在梯度计算期间忽略边界。
| pyr | 输入金字塔,由 1 通道 8 位图像组成。仅支持连续图像。 |
| dx | 与 pyr 大小相同的 Sobel 水平梯度金字塔。 |
| dy | 与 pyr 大小相同的 Sobel 垂直梯度金字塔。 |
| outType | 输出数据类型,可以是 CV_8S, CV_16S 或 CV_32F。 |
| void cv::fastcv::split | ( | InputArray | src, |
| OutputArrayOfArrays | mv ) |
#include <opencv2/fastcv/channel.hpp>
将 CV_8U 多通道 mat 分割为多个 CV_8UC1 mat。针对高通处理器进行了优化。
| src | 深度为 CV_8U 的 2、3 或 4 通道矩阵输入。 |
| mv | 大小为 src.channels() 的 CV_8UC1 矩阵输出向量。 |
| void cv::fastcv::dsp::sumOfAbsoluteDiffs | ( | cv::InputArray | _patch, |
| cv::InputArray | _src, | ||
| cv::OutputArray | _dst ) |
#include <opencv2/fastcv/sad_dsp.hpp>
图像与 8x8 模板的绝对差之和。
| _patch | 第一个输入图像数据,CV_8UC1 类型。 |
| _src | 输入图像数据,CV_8UC1 类型。 |
| _dst | 输出图像数据,CV_16UC1 类型。 |
| void cv::fastcv::dsp::thresholdOtsu | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| bool | type ) |
#include <opencv2/fastcv/thresh_dsp.hpp>
使用 Otsu 方法对灰度图像进行二值化。如果像素值大于阈值,则将像素设置为最大值(255);否则,将像素设置为最小值(0)。搜索阈值以最小化类内方差(类内的方差)。
| _src | 输入 8 位灰度图像。缓冲区大小为 srcStride*srcHeight 字节。 |
| _dst | 输出 8 位二值化图像。缓冲区大小为 dstStride*srcHeight 字节。 |
| type | 阈值类型,可以是 0 或 1。注意:对于阈值类型=0,如果像素值大于阈值,则设置为 maxValue;否则设置为零。对于阈值类型=1,如果像素值大于阈值,则设置为零;否则设置为 maxValue。 |
| void cv::fastcv::thresholdRange | ( | InputArray | src, |
| OutputArray | dst, | ||
| int | lowThresh, | ||
| int | highThresh, | ||
| int | trueValue, | ||
| int | falseValue ) |
#include <opencv2/fastcv/thresh.hpp>
根据一对阈值对灰度图像进行二值化。二值化图像将是用户选择的两个值,此函数在 Snapdragon 处理器上提供改进的延迟。
| src | 8 位灰度图像 |
| dst | 与输入图像大小和类型相同的输出图像,可以与输入图像相同。 |
| lowThresh | 二值化的下限阈值。 |
| highThresh | 二值化的上限阈值。 |
| trueValue | 如果源像素值在阈值对定义的范围内(包含边界),则分配给目标像素的值。 |
| falseValue | 如果源像素值超出阈值对定义的范围(包含边界),则分配给目标像素的值。 |
| void cv::fastcv::trackOpticalFlowLK | ( | InputArray | src, |
| InputArray | dst, | ||
| InputArrayOfArrays | srcPyr, | ||
| InputArrayOfArrays | dstPyr, | ||
| InputArray | ptsIn, | ||
| OutputArray | ptsOut, | ||
| InputArray | ptsEst, | ||
| OutputArray | statusVec, | ||
| cv::Size | winSize = cv::Size(7, 7), | ||
| cv::TermCriteria | termCriteria = cv::TermCriteria(cv::TermCriteria::MAX_ITER|cv::TermCriteria::EPS, 7, 0.03f *0.03f) ) |
#include <opencv2/fastcv/tracking.hpp>
使用 Lucas-Kanade 算法计算稀疏光流,接受 8 位无符号整数图像。在高通处理器上提供更快的执行时间。
| src | 8U 类型的单通道输入图像,初始运动帧。 |
| dst | 8U 类型的单通道输入图像,最终运动帧,应与初始帧具有相同的大小和步长。 |
| srcPyr | 根据初始运动帧构建的金字塔。 |
| dstPyr | 根据最终运动帧构建的金字塔。 |
| ptsIn | 初始亚像素坐标数组,应包含 32F 2D 元素。 |
| ptsOut | 计算出的最终点输出数组,应包含 32F 2D 元素。 |
| ptsEst | 最终点估计值的输入数组,应包含 32F 2D 元素,可以为空。 |
| statusVec | 指示每个特征状态的 int32 值输出数组,可以为空。 |
| winSize | 用于光流搜索的窗口大小。宽度和高度必须是奇数。建议值为 5、7 或 9。 |
| termCriteria | 包含最大迭代次数、最大 epsilon 和停止条件的终止准则。 |
| void cv::fastcv::trackOpticalFlowLK | ( | InputArray | src, |
| InputArray | dst, | ||
| InputArrayOfArrays | srcPyr, | ||
| InputArrayOfArrays | dstPyr, | ||
| InputArrayOfArrays | srcDxPyr, | ||
| InputArrayOfArrays | srcDyPyr, | ||
| InputArray | ptsIn, | ||
| OutputArray | ptsOut, | ||
| OutputArray | statusVec, | ||
| cv::Size | winSize = cv::Size(7, 7), | ||
| int | maxIterations = 7 ) |
#include <opencv2/fastcv/tracking.hpp>
LK 跟踪函数 v1 的重载。
| src | 8U 类型的单通道输入图像,初始运动帧。 |
| dst | 8U 类型的单通道输入图像,最终运动帧,应与初始帧具有相同的大小和步长。 |
| srcPyr | 根据初始运动帧构建的金字塔。 |
| dstPyr | 根据最终运动帧构建的金字塔。 |
| srcDxPyr | srcPyr 的 Sobel X 方向导数金字塔。 |
| srcDyPyr | srcPyr 的 Sobel Y 方向导数金字塔。 |
| ptsIn | 初始亚像素坐标数组,应包含 32F 2D 元素。 |
| ptsOut | 计算出的最终点输出数组,应包含 32F 2D 元素。 |
| statusVec | 指示每个特征状态的 int32 值输出数组,可以为空。 |
| winSize | 用于光流搜索的窗口大小。宽度和高度必须是奇数。建议值为 5、7 或 9。 |
| maxIterations | 最大尝试迭代次数。 |
| void cv::fastcv::warpAffine | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| InputArray | _M, | ||
| Size | dsize, | ||
| int | interpolation = INTER_LINEAR, | ||
| int | borderValue = 0 ) |
#include <opencv2/fastcv/warp.hpp>
使用提供的变换矩阵对输入图像执行仿射变换。
此函数根据变换矩阵执行两种类型的操作:
| _src | 输入图像。支持的格式:
|
| _dst | 输出图像。将与 src 具有相同类型,并由 dsize 指定大小。 |
| _M | 2x2/2x3 仿射变换矩阵(逆映射)。 |
| dsize | 输出大小。
|
| interpolation | 插值方法。仅适用于 2x3 变换和 CV_8UC1 输入。选项:
|
| borderValue | 边界像素的常数像素值。仅适用于 2x3 变换和单通道输入。 |
| void cv::fastcv::warpPerspective | ( | InputArray | _src, |
| OutputArray | _dst, | ||
| InputArray | _M0, | ||
| Size | dsize, | ||
| int | interpolation, | ||
| int | borderType, | ||
| const Scalar & | borderValue ) |
#include <opencv2/fastcv/warp.hpp>
使用透视变换对图像进行变换,与 cv::warpPerspective 相同但不完全位精确。
| _src | 输入 8 位图像。 |
| _dst | 输出 8 位图像。 |
| _M0 | 3x3 透视变换矩阵。 |
| dsize | 输出图像的大小。 |
| interpolation | 插值方法。仅支持 cv::INTER_NEAREST, cv::INTER_LINEAR 和 cv::INTER_AREA。 |
| borderType | 像素外推方法。仅支持 cv::BORDER_CONSTANT, cv::BORDER_REPLICATE 和 cv::BORDER_TRANSPARENT。 |
| borderValue | 常数边界情况下使用的值。 |
| void cv::fastcv::warpPerspective2Plane | ( | InputArray | _src1, |
| InputArray | _src2, | ||
| OutputArray | _dst1, | ||
| OutputArray | _dst2, | ||
| InputArray | _M0, | ||
| Size | dsize ) |
#include <opencv2/fastcv/warp.hpp>
使用相同的变换对两幅图像进行透视扭曲。在适用情况下使用双线性插值。例如,同时扭曲灰度图像和 alpha 图像,或扭曲两个颜色通道。
| _src1 | 第一个输入 8 位图像。缓冲区大小为 src1Stride*srcHeight 字节。 |
| _src2 | 第二个输入 8 位图像。缓冲区大小为 src2Stride*srcHeight 字节。 |
| _dst1 | 第一个扭曲输出图像(对应 src1)。缓冲区大小为 dst1Stride*dstHeight 字节,类型为 CV_8UC1。 |
| _dst2 | 第二个扭曲输出图像(对应 src2)。缓冲区大小为 dst2Stride*dstHeight 字节,类型为 CV_8UC1。 |
| _M0 | 3x3 透视变换矩阵(逆映射)。 |
| dsize | 输出图像大小。 |