OpenCV CUDA模块结构分析与外形描述符------盘算指定阶数的矩(Moments)所需的总数量函数:numMoments [复制链接]
发表于 2025-6-3 02:56:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  • 操纵体系:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11
算法描述

该函数用于盘算指定阶数的矩(Moments)所需的总数量。
在图像处理中,矩(moments)是一种用于描述图像外形特性的数学量。OpenCV 的 CUDA 模块支持最多三阶矩(third-order moments),而 cv::cuda::numMoments(…) 函数则返回对于给定阶数,需要盘算的矩的数量。
函数原型

  1. int cv::cuda::numMoments(const MomentsOrder order)
复制代码
参数

参数范例描述orderconst MomentsOrder指定要盘算的矩的最大阶数。可选值如下:- FIRST_ORDER_MOMENTS:一阶矩,共 4 个(m00, m10, m01, m11)- SECOND_ORDER_MOMENTS:二阶矩,共 9 个- THIRD_ORDER_MOMENTS:三阶矩,共 16 个 代码示例

  1. #include <opencv2/opencv.hpp>
  2. #include <opencv2/cudaimgproc.hpp>
  3. #include <iostream>
  4. int main()
  5. {
  6.     using namespace cv::cuda;
  7.     // 查询不同阶数对应的矩数量
  8.     std::cout << "一阶矩数量: " << numMoments(MomentsOrder::FIRST_ORDER_MOMENTS) << std::endl;
  9.     std::cout << "二阶矩数量: " << numMoments(MomentsOrder::SECOND_ORDER_MOMENTS) << std::endl;
  10.     std::cout << "三阶矩数量: " << numMoments(MomentsOrder::THIRD_ORDER_MOMENTS) << std::endl;
  11.     return 0;
  12. }
复制代码
运行结果

  1. 一阶矩数量: 3
  2. 二阶矩数量: 6
  3. 三阶矩数量: 10
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表