当前位置: 首页 > wzjs >正文

什么叫网站被k中国建筑工程人才网

什么叫网站被k,中国建筑工程人才网,哈尔滨建设工程管理工资多少,网站便捷营销操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于在 GPU 上计算图像的原始矩(spatial moments)。这些矩可用于描述图像中物体的形状特征,如面积、质…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

该函数用于在 GPU 上计算图像的原始矩(spatial moments)。这些矩可用于描述图像中物体的形状特征,如面积、质心等。

与 cv::cuda::moments(…) 不同的是,这个函数将结果写入一个 OutputArray 中,而不是返回结构体。因此它更适合需要手动处理矩数组的应用场景。

参数

参数名类型描述
srcInputArray输入图像,支持 CV_8U, CV_16U, 或 CV_32S 类型,单通道图像。如果 binaryImage 为 true,则应为二值图像(前景非零,背景为零)。
momentsOutputArray输出矩数组,是一个一维数组,长度由 order 决定(见下文),数据类型由 momentsType 指定。
binaryImageconst bool如果为 true,则假设输入图像是二值图像;否则按灰度图处理。默认为 false。
orderconst MomentsOrder要计算的矩的最大阶数,可选:
- FIRST_ORDER_MOMENTS:仅计算到一阶矩(共 4 个矩)
- SECOND_ORDER_MOMENTS:计算到二阶矩(共 9 个矩)
- THIRD_ORDER_MOMENTS:计算到三阶矩(共 16 个矩)
momentsTypeconst int矩的数据类型,通常为 CV_64F(双精度浮点数),也可以是 CV_32F。
streamStream&可选的 CUDA 流对象,用于异步执行。默认为同步执行(Stream::Null())。

注意:

为了获得最佳性能,请预先分配一个一维 GpuMat 用于存储矩(moments),其类型和大小必须足以容纳指定阶数下的所有图像矩。

例如:当 order == MomentsOrder::SECOND_ORDER_MOMENTS 且 momentsType == CV_32F 时,可以这样分配:

GpuMat momentsDevice(1, numMoments(MomentsOrder::SECOND_ORDER_MOMENTS), CV_32F);

下载矩数组后,可以在主机端使用 cv::Moments 构造函数轻松地计算中心矩(central moments)和归一化矩(normalized moments)。例如:

HostMem momentsHostMem(1, numMoments(MomentsOrder::SECOND_ORDER_MOMENTS), CV_32F);
momentsDevice.download(momentsHostMem, stream);
stream.waitForCompletion();
Mat momentsMat = momentsHostMem.createMatHeader();
cv::Moments cvMoments(momentsMat.at<float>(0), momentsMat.at<float>(1),momentsMat.at<float>(2), momentsMat.at<float>(3),momentsMat.at<float>(4), momentsMat.at<float>(5),momentsMat.at<float>(6), momentsMat.at<float>(7),momentsMat.at<float>(8), momentsMat.at<float>(9)
);

示例详见 OpenCV 贡献模块源码中的测试文件:
opencv_contrib_source_code/modules/cudaimgproc/test/test_moments.cpp 中的 CUDA_TEST_P(Moments, Async) 测试用例

返回值

无返回值。矩的结果通过 moments 参数输出。

代码示例

#include <opencv2/opencv.hpp>
#include <opencv2/cudaimgproc.hpp>
#include <iostream>int main()
{// 加载图像cv::Mat h_src = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_GRAYSCALE);if (h_src.empty()){std::cerr << "无法加载图像!" << std::endl;return -1;}// 上传图像到 GPUcv::cuda::GpuMat d_src;d_src.upload(h_src);// 获取最大阶数下的矩数量int nMoments = cv::cuda::numMoments(cv::cuda::MomentsOrder::THIRD_ORDER_MOMENTS);// 创建输出矩阵cv::cuda::GpuMat d_moments;d_moments.create(1, nMoments, CV_64F);  // 存储所有矩值// 计算空间矩cv::cuda::spatialMoments(d_src, d_moments, false, cv::cuda::MomentsOrder::THIRD_ORDER_MOMENTS);// 下载结果cv::Mat h_moments;d_moments.download(h_moments);// 打印结果std::cout << "原始矩(spatial moments):" << std::endl;for (int i = 0; i < h_moments.cols; ++i){std::cout << "Moment[" << i << "] = " << h_moments.at<double>(i) << std::endl;}return 0;
}

运行结果

原始矩(spatial moments):
Moment[0] = 3.4715e+07
Moment[1] = 9.17605e+09
Moment[2] = 8.59234e+09
Moment[3] = 3.17604e+12
Moment[4] = 2.31525e+12
Moment[5] = 2.88234e+12
Moment[6] = 1.22333e+15
Moment[7] = 8.11918e+14
Moment[8] = 7.81631e+14
Moment[9] = 1.09583e+15
http://www.dtcms.com/wzjs/803067.html

相关文章:

  • 免费网站下载直播软件手工企业网站模板
  • 网站百度推广怎么做的迷失传奇网站naocq
  • 网站制作的重要性wordpress+打断点
  • 安徽php网站建设wordpress横排菜单
  • 广告代码在线制作做网站seo推广公司
  • 网站建设毕业设计中期报告互联网大厂设计哪家口碑好
  • 廊坊做网站的企业哪家好wordpress微信开发
  • 国外在线crm酒店系统西安seo顾问
  • 品牌网站建设 磐石网络官方网站四川网站设计首选柚米科技
  • 程序员培训班要多少钱网站优化排名
  • 能注册通用网址的网站网站及单位网站建设情况
  • 建设网站成本预算wordpress升级注意事项
  • 网站上放百度地图怎么DW做的网站怎么弄兼容性
  • 宜宾市住房和城乡建设局网站seo营销型网站推广
  • asp.net网站管理工具wordpress 编辑器 视频教程
  • 现在建网站挣钱吗wordpress站点浏览
  • 网站建站商务平台新冠咳嗽吃什么药
  • 做网上购物网站温州网页制作设计营销
  • win2008做网站做彩票网站违法的吗
  • 怎么联系做网站公司二级域名是什么意思
  • 做网站用jsp还是j2ee自助搭建平台
  • 上海外贸网站推广哪家好优化wordpress访问
  • 文化厅网站建设审核报告单谷歌做自己的网站
  • 手机网站排名优化无代码开发平台全免费
  • 千万pv网站开发成本建设网站服务器自营方式的特点
  • 在线做头像网站做热饮店网站
  • 芮城网站建设小程序开发平台到底哪家好
  • 网站建设都是用什么软件如何做网站教学
  • 外链查询sem和seo的关系
  • 公司网站主页怎么做创意营销策划方案