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

网站编辑做seo好做吗网络推广的公司

网站编辑做seo好做吗,网络推广的公司,同个主体新增网站备案,黄页网站大全通俗易懂操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::cuda::FarnebackOpticalFlow 是 OpenCV CUDA 模块中实现 Farneback 光流算法 的类。该类用于在 GPU 上高效地计算两帧图像之间的稠密光流&am…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::cuda::FarnebackOpticalFlow 是 OpenCV CUDA 模块中实现 Farneback 光流算法 的类。该类用于在 GPU 上高效地计算两帧图像之间的稠密光流(Dense Optical Flow),特别适合视频分析和运动估计。

类定义概览

属性说明
头文件<opencv2/cudaoptflow.hpp>
命名空间cv::cuda
继承自cv::cuda::DenseOpticalFlow
用途计算两个图像帧之间的稠密光流(每个像素都有一个运动向量)
GPU 加速支持 CUDA GPU 加速

创建与初始化

创建对象

cv::Ptr<cv::cuda::FarnebackOpticalFlow> farneback = cv::cuda::FarnebackOpticalFlow::create();

你也可以通过设置参数来定制化这个对象:

cv::Ptr<cv::cuda::FarnebackOpticalFlow> farneback = cv::cuda::FarnebackOpticalFlow::create(int numLevels = 5,           // 图像金字塔的层数double pyrScale = 0.5,       // 金字塔缩放因子bool fastPyramids = false,   // 是否使用快速金字塔构建int winSize = 13,            // 滑动窗口大小int numIters = 10,           // 迭代次数int polyN = 5,               // 多项式展开邻域大小double polySigma = 1.1,      // 高斯权重的标准差int flags = 0                // 标志位
);

或者,你可以创建默认对象后单独设置参数:

farneback->setNumLevels(5);          // 设置金字塔层数
farneback->setPyrScale(0.5);         // 设置金字塔缩放因子
farneback->setFastPyramids(false);   // 是否使用快速金字塔
farneback->setWinSize(13);           // 设置滑动窗口大小
farneback->setNumIters(10);          // 设置迭代次数
farneback->setPolyN(5);              // 设置多项式展开邻域大小
farneback->setPolySigma(1.1);        // 设置高斯权重的标准差
farneback->setFlags(0);              // 设置标志位

代码示例

#include <opencv2/cudaimgproc.hpp>  // for upload/download
#include <opencv2/cudaoptflow.hpp>
#include <opencv2/opencv.hpp>  // for imread, imshow 等int main()
{// Step 1: 加载灰度图像cv::Mat frame1 = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/frame1.png", cv::IMREAD_GRAYSCALE );cv::Mat frame2 = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/frame2.png", cv::IMREAD_GRAYSCALE );
if (frame1.empty() || frame2.empty()) {std::cerr << "无法加载图像" << std::endl;return -1;}// Step 2: 上传到 GPUcv::cuda::GpuMat d_frame1, d_frame2;d_frame1.upload(frame1);d_frame2.upload(frame2);// Step 3: 创建 FarnebackOpticalFlow 对象,并设置参数cv::Ptr<cv::cuda::FarnebackOpticalFlow> farneback =cv::cuda::FarnebackOpticalFlow::create(5,       // numLevels0.5,     // pyrScalefalse,   // fastPyramids21,      // winSize20,      // numIters7,       // polyN1.5,     // polySigma0        // flags);// Step 4: 准备输出 flow 图像(CV_32FC2)cv::cuda::GpuMat d_flow;farneback->calc(d_frame1, d_frame2, d_flow);// Step 5: 下载结果到 CPUcv::Mat host_flow;d_flow.download(host_flow);  // CV_32FC2// Step 6: 分离 dx 和 dy 通道std::vector<cv::Mat> flow_parts(2);cv::split(host_flow, flow_parts);  // flow_parts[0] = dx, flow_parts[1] = dy// Step 7: 计算 magnitude 和 anglecv::Mat mag, ang;cv::cartToPolar(flow_parts[0], flow_parts[1], mag, ang, true);  // 角度单位为 degree// Step 8: 构建 HSV 图像std::vector<cv::Mat> hsv_channels;// Hue: 角度归一化到 [0, 1]ang.convertTo(ang, CV_32F);ang = ang.mul(cv::Mat::ones(ang.size(), CV_32F) / 360.0f);  // [0, 1]// Saturation: 固定最大cv::Mat sat = cv::Mat::ones(ang.size(), CV_32F) * 255;  // [0, 255]// Value: magnitude 归一化到 [0, 255]cv::Mat val;cv::normalize(mag, val, 0, 255, cv::NORM_MINMAX, CV_32F);// 合并通道hsv_channels.push_back(ang);   // H: [0, 1]hsv_channels.push_back(sat);   // S: [0, 255]hsv_channels.push_back(val);   // V: [0, 255]cv::Mat hsv_merged;cv::merge(hsv_channels, hsv_merged);// Step 9: 转换为 BGR 显示cv::Mat bgr_out;hsv_merged.convertTo(hsv_merged, CV_8U);  // 必须先转成 8Ucv::cvtColor(hsv_merged, bgr_out, cv::COLOR_HSV2BGR);// Step 10: 显示图像cv::imshow("Optical Flow (Magnitude)", mag);cv::imshow("Optical Flow (Angle)", ang);cv::imshow("Optical Flow (HSV)", bgr_out);cv::waitKey(0);return 0;
}

运行结果

在这里插入图片描述

http://www.dtcms.com/a/550919.html

相关文章:

  • 工程化(八股)
  • 百度云搭建网站商城网站的建设方案
  • 网站做电商资质吗西安有没有网站建设和营销的培训
  • 汕头模板自助建站叫别人做网站要注意什么
  • html5网站建设基本流程seo排名查询工具
  • 网站系统管理百度推广培训机构
  • 深圳万齐网站建设2020网络公司排名
  • 好未来披露Q2财报:营收8.61亿美元,净利润1.24亿美元
  • Java基础复习-中-集合
  • 【数据库】约束
  • 黄浦网站设计北京网站改版报价
  • 苏州企业网站制作服务wordpress 看不到主题
  • 心率血氧传感器介绍
  • Rust智能指针的奇妙之旅:从踩坑到顿悟
  • 鹰潭做网站的有什么网站是做平面设计的
  • 网站开发有哪些流程Wordpress 插件开发者
  • 公司网站一年多少钱苏州网站制作网络建设公司
  • 赣州网站建设哪家公司好wordpress后台登录不上
  • 服装公司电商网站建设规划建设银行网站最近都打不开吗
  • 浅谈 BSGS(Baby-Step Giant-Step 大步小步)算法
  • 大石网站建设做ppt找图片在哪个网站好
  • 在线简历制作网站免费做网站赚钱难
  • 【数字逻辑】24小时数字钟实战!74HC161搭24/60进制计数器+Multisim仿真
  • 架构师论文《论分布式缓存的设计与实现》
  • 网站建设模板51戴尔网站建设
  • jsp电影网站开发教程阿里云中英文网站建设
  • 网站开发开票税率北京谁会做网站开发
  • 台州网站制作建设宁波seo关键词优化设计
  • wordpress设置网站关键字wordpress口腔
  • 做网站要多少回扣郑州正岩建设集团网站