FastCV SDK发行版本说明(2)
2.3 发行版1.6.0
这里我们仅仅关注1.6.0版本和1.7.0版本的变化,过早之前的版本变化并不涉及。
2.3.1 现有 API 修改
fcvBoxFilterNxNf3 API 有轻微的 API 修改,以支持原有实现和内核。
之前的API:
FASTCV_API void fcvBoxFilterNxNf32(
const float32_t* __restrict src,
uint32_t srcWidth,
uint32_t srcHeight,
uint32_t srcStride,
uint32_t N,
float32_t* __restrict dst,
uint32_t dstStride);
新版API:
FASTCV_API void fcvBoxFilterNxNf32(
const float32_t* src,
uint32_t srcWidth,
uint32_t srcHeight,
uint32_t srcStride,
uint32_t N,
float32_t* dst,
uint32_t dstStride);
按照命名修改策略,添加了以下 API 的较新版本。
fcvBoxFilter3x3u8_v2 | fcvFilterThresholdRangeu8_v2 |
fcvFilterDilate3x3u8_v3 | fcvFilterThresholdu8_v3 |
fcvFilterErode3x3u8_v3 | fcvGeomHomographyFitf32_v2 |
fcvFilterGaussian3x3u8_v3 | fcvGeomHomographyRobustFitf32_v2 |
fcvFilterMedian3x3u8_v3 | fcvImageSpatialHistogramu8_v2 |
2.3.2 新增的API
fastCV 库的 1.6.0 版本包含一组新函数。 下表列出了添加到 fastCV 库中的新函数。 有关更多信息,请参阅头文件 (fastcv.h) 中的各个函数文档。
fcv2PlaneWarpPerspectiveu8 | fcvICPJacobianErrorSE3f32 |
fcvDepthFusion8x8x8xNs16 | fcvImageDetectLineSegmentsu8 |
fcvFindMultipleMaximau8 | fcvScaleDownBy2Gaussian3x3u8 |
2.3.3 bug修复
- 此版本中包含多个错误修复
- fcvGeomHomographyRobustFitf32 的精度更高
- 针对Snapdragon的修复
- 在 fcvImageGradientSobel 变体中修复奇数宽度情况下的越界内存访问
- 修复了 fcvTableLookupu8 中特定奇数宽度情况下的越界内存访问
- 修复了 fcvFilterCorrNxNu8f32 处的越界内存访问
- 修复了 fcvNCCPatchesOnRectu8 的崩溃问题
- 针对以下情况修复了几个 fcvCornerFast API 的崩溃问题:宽度或高度小于 2 * 边框
2.3.4 性能改进
所有新增功能均在高通骁龙平台上进行了加速。
2.4 发行版本1.7.0系列
2.4.1 现有 API 修改
以下现有API有一些新特性来支持原有实现。
fcvFilterThresholdu8 | fcvFilterThresholdOtsuu8 |
fcvFilterThresholdu8_v2 | fcvFilterThresholdRangeu8 |
fcvFilterThresholdu8_v3 | fcvFilterThresholdRangeu8_v2 |
按照相同策略,添加了以下 API 的较新版本。 鼓励开发人员迁移到特定 API 的最新版本。
fcvImageIntensityStats_v2 | fcvPyramidAllocate_v3 |
fcvMinMaxLocf32_v2 | fcvPyramidCreateu8_v3 |
fcvMinMaxLocs16_v2 | fcvRemapu8_v2 |
fcvMinMaxLocs32_v2 | fcvScaleu8_v2 |
fcvMinMaxLocu16_v2 | fcvTrackLKOpticalFlowu8_v3 |
fcvMinMaxLocu32_v2 | fcvTransformAffineClippedu8_v3 |
fcvMinMaxLocu8_v2 | fcvWarpPerspectiveu8_v4 |
2.4.2 新增的API
fastCV 库的 1.7.0 版本包含一组新函数。 下表列出了添加到 fastCV 库中的新函数。 有关更多信息,请参阅头文件 (fastcv.h) 中的各个函数文档。
fcvCornerHarrisScoreu8 | fcvRotateImageInterleavedu8 |
fcvConvertDepthImageToPointCloudf32 | fcvRotateImageu8 |
fcvRegisterDepthImagef32 | fcvUndistortDisparityConvertDepthf32 |
fastCV 库的 1.7.1 版本包含一组新函数。 下表列出了添加到 fastCV 库中的新函数。 有关更多信息,请参阅头文件 (fastcv.h) 中的各个函数文档。
fcvExtractHOGu16 | fcvHOGInit |
fcvHOGDeInit |
2.4.3 bug修复
此版本中包含多个错误修复。
- 在 fcvImageDetectLineSegmentsu8 进行更多优化
- 支持多维(更小)而无需在 fcvMser 变体处重新初始化
- 修复了 fcvFilterDilateNxNu8 的错误结果和更多优化
- 修复了 fcvFilterErodeNxNu8 的错误结果和更多优化
- 修复了 fcvNCCPatchesOnRectu8 处的错误结果
- 修复了 fcvFilterCanny3x3u8_v2 处的错误结果
- 修复了 fcvFilterCanny3x3u8_v3 处的错误结果
- 使用 FASTCV_NV12 和 FASTCV_NV21 修复了 fcvChannelExtractu8 处的错误结果
- 修正了 fcvMagnitudes16 的错误结果
- 修复了 fcvFilterSobel3x3u8s16 边界情况下的错误结果
- 固定 fcvFilterMedian3x3u8_v3 用于恒定边框和/或 srcStride != dstStride 情况
1.7.1
- 修复了 fcvCornerFast10InMasku8 的内存分配
- 修正了 fcvGeomAffinefitf32 的错误结果
- 修复了 fcvFilterMedian3x3u8_v2、fcvFilterMedian3x3u8 _v3 处的错误结果
由于错误修复,其中一些功能可能会显示有限的性能下降。
2.4.4 性能改进
除 fcvMinMaxLoc _v2 变体外,所有新增功能均在 Qualcomm Snapdragon 平台中进行了加速。
1.7.1
所有新增功能均在高通骁龙平台加速。
2.4.5 其他改变
2.4.5.1 支持 Android 的 32 位和 64 位库
从 FastCV1.7.0 开始,支持 Android 的 32 位和 64 位库。
2.4.5.2 编译器
LLVM编译器用于构建32位和64位库。
使用LLVM 3.6 工具链构建 FastCV 1.7.0 32 位和 64 位库。
使用LLVM 3.7 工具链构建 FastCV 1.7.1 32 位和 64 位库。