随笔分类 -  C/C++

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
拓展Android应用!
OpenCV使用BSM统计视频中移动的对象
摘要:一、概述 案例:使用BackgroundSubstractor实现视频中移动对象统计 实现步骤: 1.实例化VideoCapture 2.创建BackgroundSubstractor 3.while循环读取视频帧 4.使用BS->apply获取mask 5.对mask进行二值化及形态学操作 6.使 阅读全文
posted @ 2022-04-25 22:52 飘杨...... 阅读(85) 评论(0) 推荐(0)
OpenCV连续自适应跟踪算法CAMShift实现视频对象跟踪
摘要:一、概述 案例:使用OpenCV的CAMShift算法实现视频中对象跟踪 算法API介绍: CamShift( InputArray probImage, CV_IN_OUT Rect& window, TermCriteria criteria );probImage:要跟踪对象的直方图反向投影矩 阅读全文
posted @ 2022-04-25 19:47 飘杨...... 阅读(404) 评论(0) 推荐(0)
HSV色彩空间对照表+inRange实现像素分离
摘要:一、概述 概述:主要介绍一下HSV色彩空间对照表+inRange对颜色进行分离 inRange(img,low,high),函式会将位于两个区域间的值置为255,位于区间外的值置为0 HSV色彩空间对照表图: 上面的图表使用如下: 例如:过滤黄色像素[(26,43,46)(34,255,255)], 阅读全文
posted @ 2022-04-25 16:49 飘杨...... 阅读(1613) 评论(0) 推荐(0)
OpenCV基于稠密光流跟踪
摘要:一、概述 案例:基于稠密光流的视频跟踪 API介绍: calcOpticalFlowFarneback( InputArray prev, InputArray next, InputOutputArray flow, double pyr_scale, int levels, int winsiz 阅读全文
posted @ 2022-04-25 13:29 飘杨...... 阅读(275) 评论(1) 推荐(0)
OpenCV使用稀疏光流实现视频对象跟踪
摘要:一、概述 案例:使用稀疏光流实现对象跟踪 稀疏光流API介绍: calcOpticalFlowPyrLK( InputArray prevImg, InputArray nextImg, InputArray prevPts, InputOutputArray nextPts, OutputArra 阅读全文
posted @ 2022-04-21 10:42 飘杨...... 阅读(276) 评论(0) 推荐(0)
OpenCV实现基于颜色的视频对象跟踪(跟踪一个橙子)
摘要:一、概述 案例:基于颜色来实现视频对象的跟踪,本案例跟踪的是一个橙子。 使用到的关键方法:hsv+inRange,区间内白色不再区间内黑色 实现该算法的步骤: 1.创建VideoCapture 2.使用其open方法打开视频 3.while循环读取视频帧frame 4.将frame转hsv色彩空间 阅读全文
posted @ 2022-04-18 23:10 飘杨...... 阅读(191) 评论(0) 推荐(0)
OpenCV使用MOG和KNN实现视频背景消除建模(背景差分)
摘要:一、概述 案例:使用MOG和KNN实现视频背景消除建模,使用OpenCV中的createBackgroundSubtractorMOG()和createBackgroundSubtractorKNN()来实现 1.createBackgroundSubtractorMOG()参数介绍: Ptr<Ba 阅读全文
posted @ 2022-04-18 21:53 飘杨...... 阅读(1591) 评论(0) 推荐(0)
Qt的QButtonGroup+QRadioButton简单使用
摘要:一、概述 案例:使用Qt的QButtonGroup和QRadioButton做一个简单的选中、未选中的样例(服务于视频背景消除中的一个小案例) ps:基于Qt6.2.3,主要是记录一下,防止后面忘记回看 二、代码示例 QPushButton *choiceVideo = new QPushButto 阅读全文
posted @ 2022-04-17 22:24 飘杨...... 阅读(769) 评论(0) 推荐(0)
OpenCV视频绿幕背景替换
摘要:一、概述 案例:使用OpenCV实现视频绿幕背景替换 算法步骤: 1.初始化VideoCapture并使用其open方法加载视频 2.while循环加读取frame capture.read(frame) 3.将frame转hsv色彩空间 4.使用inRange函数生成遮罩mask 5.使用形态学操 阅读全文
posted @ 2022-04-16 18:59 飘杨...... 阅读(737) 评论(0) 推荐(0)
小案例:使用OpenCV实现证件照背景替换
摘要:一、概述 案例:使用kmeans算法实现证件照背景替换 算法实现步骤: 1.加载原图像 2.制作kmeans输入参数所需要的数据(kmeans的输入数据类型是CV_32F,所以不能直接使用原始图像的数据,因为原始图像的数据类型为CV_8UC1) 3.使用kmeans算法实现图像分类,并得到分类标签 阅读全文
posted @ 2022-04-16 16:54 飘杨...... 阅读(1446) 评论(0) 推荐(0)
OpenCV使用GrabCut实现抠图
摘要:一、概述 案例:使用OpenCV的GrapCut实现有用户交互的抠图 grabCut( InputArray img, InputOutputArray mask, Rect rect, InputOutputArray bgdModel, InputOutputArray fgdModel, in 阅读全文
posted @ 2022-04-14 22:07 飘杨...... 阅读(1807) 评论(0) 推荐(0)
Qt的mouseMoveEvent捕获鼠标事件不生效的解决办法
摘要:一、概述 案例:在使用OpenCV的grabCut算法实现简单抠图操作的时候(因为使用到了鼠标坐标选择目标区域),使用到的Qt的鼠标的mousePressEvent(按下)、mouseMoveEvent(移动)、mouseReleaseEvent(释放)事件。实验下来其中只有mousePressEv 阅读全文
posted @ 2022-04-13 23:24 飘杨...... 阅读(2109) 评论(0) 推荐(0)
OpenCV使用分水岭算法实现图像分割
摘要:一、概述 案例:使用分水岭算法实现图像的分割实现 API:介绍参考上一遍 实现步骤: 1.输入图像 2.灰度化 3.二值化 4.执行距离变换 5.归一化 6.二值化 7.生成marker:通过findContours+drawContours来创建一个marker 8.将7生成的marker放入分水 阅读全文
posted @ 2022-04-12 21:51 飘杨...... 阅读(446) 评论(0) 推荐(0)
OpenCV使用分水岭变换来实现图像中对象计数
摘要:一、概述 案例:使用分水岭变换来实现图像中对象计数,达到统计图像中对象数目的目的 重要API介绍: watershed(src,markers);src:原图像markers:目标markers,生成markers是通过findContours边沿查找+drawContours来实现的。ps:这一步 阅读全文
posted @ 2022-04-12 20:21 飘杨...... 阅读(391) 评论(0) 推荐(0)
OpenCV使用GMM实现图像分割
摘要:一、概述 案例:使用GMM机器学习算法实现图像分割 相关API介绍: Ptr<EM> emModel = EM::create();//创建EM实例 emModel->setClustersNumber(numCluster);//设置分类个数 emModel->setCovarianceMatri 阅读全文
posted @ 2022-04-11 12:11 飘杨...... 阅读(378) 评论(0) 推荐(0)
使用OpenCV的kmeans实现图像分割
摘要:一、概述 案例:使用kmeans算法实现图像分割 kmeans算法参数介绍: kmeans( InputArray data, int K, InputOutputArray bestLabels, TermCriteria criteria, int attempts, int flags, Ou 阅读全文
posted @ 2022-04-10 16:34 飘杨...... 阅读(459) 评论(0) 推荐(0)
OpenCV使用级联分类器实现猫脸检测
摘要:一、概述 ps:步骤同上一篇https://www.cnblogs.com/tony-yang-flutter/p/16121237.html 二、代码示例 String catFile = "/usr/local/share/opencv4/haarcascades/haarcascade_fro 阅读全文
posted @ 2022-04-09 11:40 飘杨...... 阅读(97) 评论(0) 推荐(0)
OpenCV使用级联分类器找出视频文件中的人脸
摘要:一、概述 案例:使用OpenCV自带的级联分类器找出视频中的人脸 操作步骤: 1.实例化VideoCapture 2.使用其open方法打开文件 3.检测是否打开了文件 4.创建CascadeClassifier实例 5.加载加载特征数据 6.循环读取视频文件中的每一帧 7.将读取出来的视频帧转为灰 阅读全文
posted @ 2022-04-09 11:18 飘杨...... 阅读(279) 评论(0) 推荐(0)
使用OpenCV中的Haar特征检测图片中的人脸
摘要:一、概述 案例:使用OpenCV的Haar特征数据检测人脸。 相关API介绍 1.使用CascadeClassifier类 2.使用其load方法加载特征文件 3.使用其detectMultiScale方法在多尺度空间进行检测,其中该参数解释如下: /** @brief Detects object 阅读全文
posted @ 2022-04-06 16:15 飘杨...... 阅读(227) 评论(0) 推荐(0)
OpenCV使用brisk做一个简单的场景匹配
摘要:一、概述 案例:使用opencv+qt+brisk实现关键点提前、生成描述子,并使用BFMatcher实现场景对象匹配,最后使用drawMatches将匹配结果绘制出来 实现步骤: 1.使用Qt制作场景对象及场景图像的选择页面,并放置一个按钮开始检测 2.使用imread载入场景图像及场景对象 3. 阅读全文
posted @ 2022-03-25 16:14 飘杨...... 阅读(208) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页