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

河北省建设厅网站刷身份证流程seo服务 收费

河北省建设厅网站刷身份证流程,seo服务 收费,wordpress菜单无效,网站的规划OpenCV跟踪模块算法介绍 OpenCV的tracking模块是一个功能强大的跟踪算法库,包含多种用于跟踪对象的算法。它可以帮助你在连续的视频帧中定位一个物体,例如人脸、眼睛、车辆等。 在OpenCV的tracking模块中,一些主要的跟踪算法包括&#xff1…

OpenCV跟踪模块算法介绍

OpenCV的tracking模块是一个功能强大的跟踪算法库,包含多种用于跟踪对象的算法。它可以帮助你在连续的视频帧中定位一个物体,例如人脸、眼睛、车辆等。

在OpenCV的tracking模块中,一些主要的跟踪算法包括:

  • 稀疏光流(Sparse optical flow):例如Kanade-Lucas-Tomashi (KLT)特征跟踪算法,跟踪图像中几个特征点的位置。
  • 卡尔曼滤波(Kalman Filtering):一种非常流行的基于先验运动信息的信号处理算法,用于预测运动目标的位置。这种算法的早期应用之一是导弹制导。
  • Meanshift和Camshift:这是定位密度函数最大值的算法,它们还用于跟踪。
    单目标跟踪器(Single object trackers):在这类跟踪器中,第一个帧使用矩形标记,以指示要跟踪的对象的位置。然后使用跟踪算法在后续帧中跟踪对象。在大多数实际应用程序中,这些跟踪器与对象检测器一起使用。
  • 多目标跟踪查找算法(Multiple object track finding algorithms):当我们有一个快速的目标检测器时,在每一帧中检测多个对象,然后运行一个跟踪查找算法来识别一个帧中的哪个矩形与下一个帧中的矩形相对应是有意义的。

这些算法各有优缺点,可以根据实际应用场景选择适合的算法。

具体调用步骤如下:

  1. 打开视频帧第一帧
  2. 框选目标,每选择一个目标按Enter键确认选择
  3. 按Esc退出框选模式
  4. 程序执行跟踪算法并绘制预测框
#include <opencv2/opencv.hpp>
#include <opencv2/tracking.hpp>
#include "timestamp.hpp"using namespace cv;
using namespace std;//加载静态库
#if defined(_WIN32)&&defined(_DEBUG)
#pragma comment(lib, "opencv_world346d.lib")
#elif defined(_WIN32)
#pragma comment(lib, "opencv_world346.lib")
#endif// 支持的跟踪算法
vector<string> trackerTypes = { "BOOSTING", "MIL", "KCF", "TLD", "MEDIANFLOW", "GOTURN", "MOSSE", "CSRT" };// 根据名字创建跟踪器
Ptr<Tracker> createTrackerByName(string trackerType)
{Ptr<Tracker> tracker;if (trackerType == trackerTypes[0])tracker = TrackerBoosting::create();else if (trackerType == trackerTypes[1])tracker = TrackerMIL::create();else if (trackerType == trackerTypes[2])tracker = TrackerKCF::create();else if (trackerType == trackerTypes[3])tracker = TrackerTLD::create();else if (trackerType == trackerTypes[4])tracker = TrackerMedianFlow::create();else if (trackerType == trackerTypes[5])tracker = TrackerGOTURN::create();else if (trackerType == trackerTypes[6])tracker = TrackerMOSSE::create();else if (trackerType == trackerTypes[7])tracker = TrackerCSRT::create();else {cout << "Incorrect tracker name" << endl;cout << "Available trackers are: " << endl;for (vector<string>::iterator it = trackerTypes.begin(); it != trackerTypes.end(); ++it)std::cout << " " << *it << endl;}return tracker;
}// Fill the vector with random colors
void getRandomColors(vector<Scalar> &colors, int numColors)
{RNG rng(0);for (int i = 0; i < numColors; i++)colors.push_back(Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255)));
}int help(char* argv[])
{std::cout << "please input arguments:" << argv[0] << "tracktype video.mp4 videoiotype"<< std::endl;return -1;
}int main(int argc, char * argv[])
{if(argc < 4){return help(argv);}cout << "默认算法是CSRT" << endl;cout << "支持的算法包括:" << endl;for (vector<string>::iterator it = trackerTypes.begin(); it != trackerTypes.end(); ++it)std::cout << " " << *it << endl;// 设置跟踪器类型。更改此设置以尝试不同的跟踪器。	字符串 trackerType;if(atoi(argv[1]) == 0)trackerType = "MOSSE";else if(atoi(argv[1]) == 1)trackerType = "KCF";elsetrackerType = "CSRT";// 设置跟踪算法和视频的默认值string videoPath = argv[2];// 使用跟踪算法初始化 MultiTrackervector<Rect> bboxes;// 创建视频捕获对象以读取视频cv::VideoCapture cap;if(atoi(argv[3]) == 0)cap.open(0);else{cap.open(videoPath);}Mat frame;// 如果取消读取视频文件,则退出if (!cap.isOpened()){cout << "Error opening video file " << videoPath << endl;return -1;}// read first framecap >> frame;// 在对象上绘制边界框// selectROI 的默认行为是从中心开始绘制框// 当 fromCenter 设置为 false 时,可以从左上角开始绘制框bool showCrosshair = true;bool fromCenter = false;cout << "\n==========================================================\n";cout << "OpenCV 表示按 c 取消对象选择过程" << endl;cout << "这是行不通的。按 Esc 键退出选择过程" << endl;cout << "\n==========================================================\n";cv::selectROIs("MultiTracker", frame, bboxes, showCrosshair, fromCenter);// quit if there are no objects to trackif (bboxes.size() < 1)return 0;vector<Scalar> colors;getRandomColors(colors, bboxes.size());// 创建多跟踪器Ptr<MultiTracker> multiTracker = cv::MultiTracker::create();// 初始化 Multitrackerfor (int i = 0; i < bboxes.size(); i++)multiTracker->add(createTrackerByName(trackerType), frame, Rect2d(bboxes[i]));// 处理视频和跟踪对象cout << "\n==========================================================\n";cout << "开始跟踪,按 ESC 键退出。" << endl;while (cap.isOpened()){// 从视频中获取帧cap >> frame;// 如果到达视频末尾,请停止程序if (frame.empty()) break;{timestamp ti("update");// 使用新帧更新跟踪结果multiTracker->update(frame);}// 绘制跟踪对象for (unsigned i = 0; i < multiTracker->getObjects().size(); i++){rectangle(frame, multiTracker->getObjects()[i], colors[i], 2, 1);}// 显示帧imshow("MultiTracker1", frame);// 退出 X 按钮if (waitKey(1) == 27) break;}
}
http://www.hkea.cn/news/188825/

相关文章:

  • 外国网站上做雅思考试台州百度推广优化
  • 男女做那种的的视频网站国内最好的搜索引擎
  • 泉州做网站优化价格成功品牌策划案例
  • 做网站去哪个平台资源优化排名网站
  • 备案的网站名称可以改吗百度青岛代理公司
  • 专做进口批发的网站关键词优化多少钱
  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口
  • 乐从网站建设公司北京seo优化推广
  • 如何在网上接做网站的小项目市场监督管理局电话
  • 淘宝购物站优化
  • 石家庄最新疫情轨迹河南网站优化公司哪家好
  • 网站色彩搭配服务器ip域名解析
  • 哪个网站专业做安防如何注册域名网站
  • 穆棱市住房和城乡建设局网站关键词词库
  • 成都网站建设市场什么是网络营销的核心
  • 深圳找人做网站廊坊优化外包
  • 衡阳市城市建设投资有限公司网站湖南企业seo优化报价
  • css做网站常用百度权重优化软件
  • 合合肥网站建设制作网站用什么软件
  • 杭州网站设计公司推荐网络推广与优化