随笔 - 632  文章 - 17  评论 - 54  阅读 - 92万
04 2022 档案
OpenCV使用GoogleNet网络模型实现图像分类
摘要:一、概述 1.案例:使用GoogleNet网络模型实现图像分类。此案例主要在于学习使用已经训练好的模型。 2.GoogleNet:卷积神经网络 3.模型介绍:这个模型中有1000个分类,但是其分类并不准确,只能用于学习使用。 模型中的三个重要文件: 1.网络模型文件:bvlc_googlenet.c 阅读全文
posted @ 2022-04-28 13:05 飘杨...... 阅读(552) 评论(0) 推荐(0) 编辑
OpenCV使用扩展模块中的TrackerKCF实现视频中单对象跟踪
摘要:一、概述 案例:使用TrackerKCF实现单对象跟踪,而TrackerKCF是扩展模块中的内容所以需要导入头文件:<opencv2/tracking.hpp> 实现步骤: 1.实例化VideoCapture 2.利用VideoCapture.open方法打开视频文件 3.VideoCapture. 阅读全文
posted @ 2022-04-26 13:50 飘杨...... 阅读(1172) 评论(0) 推荐(0) 编辑
OpenCV使用BSM统计视频中移动的对象
摘要:一、概述 案例:使用BackgroundSubstractor实现视频中移动对象统计 实现步骤: 1.实例化VideoCapture 2.创建BackgroundSubstractor 3.while循环读取视频帧 4.使用BS->apply获取mask 5.对mask进行二值化及形态学操作 6.使 阅读全文
posted @ 2022-04-25 22:52 飘杨...... 阅读(71) 评论(0) 推荐(0) 编辑
OpenCV连续自适应跟踪算法CAMShift实现视频对象跟踪
摘要:一、概述 案例:使用OpenCV的CAMShift算法实现视频中对象跟踪 算法API介绍: CamShift( InputArray probImage, CV_IN_OUT Rect& window, TermCriteria criteria );probImage:要跟踪对象的直方图反向投影矩 阅读全文
posted @ 2022-04-25 19:47 飘杨...... 阅读(351) 评论(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 飘杨...... 阅读(1400) 评论(0) 推荐(0) 编辑
OpenCV基于稠密光流跟踪
摘要:一、概述 案例:基于稠密光流的视频跟踪 API介绍: calcOpticalFlowFarneback( InputArray prev, InputArray next, InputOutputArray flow, double pyr_scale, int levels, int winsiz 阅读全文
posted @ 2022-04-25 13:29 飘杨...... 阅读(207) 评论(1) 推荐(0) 编辑
OpenCV使用稀疏光流实现视频对象跟踪
摘要:一、概述 案例:使用稀疏光流实现对象跟踪 稀疏光流API介绍: calcOpticalFlowPyrLK( InputArray prevImg, InputArray nextImg, InputArray prevPts, InputOutputArray nextPts, OutputArra 阅读全文
posted @ 2022-04-21 10:42 飘杨...... 阅读(216) 评论(0) 推荐(0) 编辑
OpenCV实现基于颜色的视频对象跟踪(跟踪一个橙子)
摘要:一、概述 案例:基于颜色来实现视频对象的跟踪,本案例跟踪的是一个橙子。 使用到的关键方法:hsv+inRange,区间内白色不再区间内黑色 实现该算法的步骤: 1.创建VideoCapture 2.使用其open方法打开视频 3.while循环读取视频帧frame 4.将frame转hsv色彩空间 阅读全文
posted @ 2022-04-18 23:10 飘杨...... 阅读(159) 评论(0) 推荐(0) 编辑
OpenCV使用MOG和KNN实现视频背景消除建模(背景差分)
摘要:一、概述 案例:使用MOG和KNN实现视频背景消除建模,使用OpenCV中的createBackgroundSubtractorMOG()和createBackgroundSubtractorKNN()来实现 1.createBackgroundSubtractorMOG()参数介绍: Ptr<Ba 阅读全文
posted @ 2022-04-18 21:53 飘杨...... 阅读(1322) 评论(0) 推荐(0) 编辑
Qt的QButtonGroup+QRadioButton简单使用
摘要:一、概述 案例:使用Qt的QButtonGroup和QRadioButton做一个简单的选中、未选中的样例(服务于视频背景消除中的一个小案例) ps:基于Qt6.2.3,主要是记录一下,防止后面忘记回看 二、代码示例 QPushButton *choiceVideo = new QPushButto 阅读全文
posted @ 2022-04-17 22:24 飘杨...... 阅读(710) 评论(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 飘杨...... 阅读(694) 评论(0) 推荐(0) 编辑
小案例:使用OpenCV实现证件照背景替换
摘要:一、概述 案例:使用kmeans算法实现证件照背景替换 算法实现步骤: 1.加载原图像 2.制作kmeans输入参数所需要的数据(kmeans的输入数据类型是CV_32F,所以不能直接使用原始图像的数据,因为原始图像的数据类型为CV_8UC1) 3.使用kmeans算法实现图像分类,并得到分类标签 阅读全文
posted @ 2022-04-16 16:54 飘杨...... 阅读(1261) 评论(0) 推荐(0) 编辑
OpenCV使用GrabCut实现抠图
摘要:一、概述 案例:使用OpenCV的GrapCut实现有用户交互的抠图 grabCut( InputArray img, InputOutputArray mask, Rect rect, InputOutputArray bgdModel, InputOutputArray fgdModel, in 阅读全文
posted @ 2022-04-14 22:07 飘杨...... 阅读(1721) 评论(0) 推荐(0) 编辑
Qt的mouseMoveEvent捕获鼠标事件不生效的解决办法
摘要:一、概述 案例:在使用OpenCV的grabCut算法实现简单抠图操作的时候(因为使用到了鼠标坐标选择目标区域),使用到的Qt的鼠标的mousePressEvent(按下)、mouseMoveEvent(移动)、mouseReleaseEvent(释放)事件。实验下来其中只有mousePressEv 阅读全文
posted @ 2022-04-13 23:24 飘杨...... 阅读(1986) 评论(0) 推荐(0) 编辑
OpenCV使用分水岭算法实现图像分割
摘要:一、概述 案例:使用分水岭算法实现图像的分割实现 API:介绍参考上一遍 实现步骤: 1.输入图像 2.灰度化 3.二值化 4.执行距离变换 5.归一化 6.二值化 7.生成marker:通过findContours+drawContours来创建一个marker 8.将7生成的marker放入分水 阅读全文
posted @ 2022-04-12 21:51 飘杨...... 阅读(404) 评论(0) 推荐(0) 编辑
OpenCV使用分水岭变换来实现图像中对象计数
摘要:一、概述 案例:使用分水岭变换来实现图像中对象计数,达到统计图像中对象数目的目的 重要API介绍: watershed(src,markers);src:原图像markers:目标markers,生成markers是通过findContours边沿查找+drawContours来实现的。ps:这一步 阅读全文
posted @ 2022-04-12 20:21 飘杨...... 阅读(356) 评论(0) 推荐(0) 编辑
OpenCV使用GMM实现图像分割
摘要:一、概述 案例:使用GMM机器学习算法实现图像分割 相关API介绍: Ptr<EM> emModel = EM::create();//创建EM实例 emModel->setClustersNumber(numCluster);//设置分类个数 emModel->setCovarianceMatri 阅读全文
posted @ 2022-04-11 12:11 飘杨...... 阅读(346) 评论(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 飘杨...... 阅读(413) 评论(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 飘杨...... 阅读(76) 评论(0) 推荐(0) 编辑
OpenCV使用级联分类器找出视频文件中的人脸
摘要:一、概述 案例:使用OpenCV自带的级联分类器找出视频中的人脸 操作步骤: 1.实例化VideoCapture 2.使用其open方法打开文件 3.检测是否打开了文件 4.创建CascadeClassifier实例 5.加载加载特征数据 6.循环读取视频文件中的每一帧 7.将读取出来的视频帧转为灰 阅读全文
posted @ 2022-04-09 11:18 飘杨...... 阅读(253) 评论(0) 推荐(0) 编辑
使用OpenCV中的Haar特征检测图片中的人脸
摘要:一、概述 案例:使用OpenCV的Haar特征数据检测人脸。 相关API介绍 1.使用CascadeClassifier类 2.使用其load方法加载特征文件 3.使用其detectMultiScale方法在多尺度空间进行检测,其中该参数解释如下: /** @brief Detects object 阅读全文
posted @ 2022-04-06 16:15 飘杨...... 阅读(199) 评论(0) 推荐(0) 编辑
Mac下OpenCV4.5.5+opencv_contrib4.5.5+CMake编译
摘要:一、概述 背景:19年mac机上安装过opencv,昨天清理电脑磁盘(把不要的删除掉),结果把opencv误删除掉了。所以决定重新编译一份。 过程中遇到了不少问题,这里做个记录,以便下次遇到的时候查阅,当然也方便其他开发同学。 二、操作步骤 1.去opencv官网下载下载:opencv源代码和ope 阅读全文
posted @ 2022-04-04 16:58 飘杨...... 阅读(918) 评论(0) 推荐(0) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示