OpenCV级联分类器

概念

        OpenCV 级联分类器是一种基于 Haar 特征、AdaBoost 算法和级联结构的目标检测方法,通过多阶段筛选快速排除非目标区域,实现高效实时检测(如人脸、行人等)。

加载级联分类器

    // 加载级联分类器CascadeClassifier cascade;// 加载级联分类器文件cascade.load("xml/cars.xml");

关键代码

void detec_car(Mat &frame,CascadeClassifier cascade,double scale)
{// 灰度处理Mat gray_frame;cvtColor(frame,gray_frame,CV_BGR2GRAY);// 压缩灰度图到原来一半Mat smalling(cvRound(frame.rows/scale),cvRound(frame.cols/scale),CV_8UC1);resize(gray_frame,smalling,smalling.size(),0,0,INTER_LINEAR);// 直方图均值化:利用直方图均衡函数让图像呈现出黑白分明,凸显出主要检测的目标equalizeHist(smalling,smalling);// 使用级联分类器模型识别车辆vector<Rect> cars;cascade.detectMultiScale(smalling,cars,1.1,2,0|CV_HAAR_SCALE_IMAGE,Size(30,30));// 绘制矩形框vector<Rect>::const_iterator itr;for(itr=cars.begin();itr!=cars.end();itr++){rectangle(frame,cvPoint(cvRound(itr->x*scale),cvRound(itr->y*scale)),cvPoint(cvRound((itr->x+itr->width)*scale),cvRound((itr->y+itr->height)*scale)),Scalar(0,255,0),2,3);}imshow("res",frame);
}

操作步骤(训练过程)

1、正样本数据采集(需要检测的物体图片)

2、负样本数据采集(非检测物的图片)

3、调用opencv程序opencv_createsamples.exe程序实现样本数据采集。

4、调用opencv程序opencv_traincascade.exe样本训练程序进行训练

5、生成级联分类器文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/81830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ inline 内联函数

一、定义与设计初衷 inline 函数是 C 中通过 减少函数调用开销 优化程序效率的机制。其核心设计初衷是 取代 C 语言中宏定义&#xff08;#define&#xff09;&#xff0c;同时解决宏的以下缺陷&#xff1a; 类型安全问题&#xff1a;宏仅进行文本替换&#xff0c;无法进行参数…

uniapp-商城-64-后台 商品列表(商品修改---页面跳转,深浅copy应用,递归调用等)

完成了商品的添加和展示&#xff0c;下面的文字将继续进行商品页面的处理&#xff0c;主要为商品信息的修改的页面以及后天逻辑的处理。 本文主要介绍了商品信息修改页面的实现过程。首先&#xff0c;页面布局包括编辑和删除功能&#xff0c;未来还可添加上架和下架按钮。通过c…

digitalworld.local: VENGEANCE靶场

1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.3 3&#xff0c;对靶机进行端口服务探测 nmap -sV -T4 -p- -A 192.168.23.3 端口号 协…

微店平台店铺商品接口开发指南

微店API获取店铺所有商品实现方案 以下是使用微店开放平台API获取店铺所有商品的完整实现代码&#xff0c;包含请求封装、分页处理和错误处理机制。 点击获取key和secret from weidian_api import WeidianAPI # 配置你的微店应用凭证 APP_KEY "your_app_key" APP_…

Proxmox 主机与虚拟机全部断网问题排查与解决记录

Proxmox 主机与虚拟机全部断网问题排查与解决记录 关键词&#xff1a;Proxmox、e1000e、板载网卡、断网、网络桥接、Hardware Unit Hang、网卡挂死 背景 近期在使用 Proxmox VE 管理服务器时&#xff0c;遇到一个奇怪的问题&#xff1a;每当在某个虚拟机中执行某些操作&#x…

SpringBoot整合MQTT实战:基于EMQX构建高可靠物联网通信,从零到一实现设备云端双向对话

一、引言 随着物联网(IoT)技术的快速发展&#xff0c;MQTT(Message Queuing Telemetry Transport)协议因其轻量级、低功耗和高效的特点&#xff0c;已成为物联网设备通信的事实标准。本文将详细介绍如何使用SpringBoot框架整合MQTT协议&#xff0c;基于开源MQTT代理EMQX实现设…

zData X zStorage 为什么采用全闪存架构而非混闪架构?

点击蓝字 关注我们 最近有用户问到 zData X 的存储底座 zStorage 分布式存储为什么采用的是全闪存架构而非混闪架构&#xff1f;主要原因还是在于全闪存架构在性能和可靠性方面具有更显著的优势。zData X 的上一代产品 zData 的早期版本也使用了SSD盘作为缓存的技术架构&#x…

Fiddler抓包教程->HTTP和HTTPS基础知识

1.简介 有的伙伴可能会好奇&#xff0c;不是讲解和分享抓包工具,怎么这里开始讲解HTTP和HTTPS协议了。这是因为你对HTTP协议越了解&#xff0c;你就能越掌握Fiddler的使用方法&#xff0c;反过来你越使用Fiddler&#xff0c;就越能帮助你了解HTTP协议。 Fiddler无论对开发人员…

虚拟机NAT模式获取不到ip

虚拟机NAT模式获取不到ip 如图所示 解决方案&#xff1a; 先查看NetworkManager是否启动 systemctl status NetworkManager如果没启动就启动一遍 使用DHCP手动获取一遍ip sudo dhclient ens33成功得到ip 这是后遇到了另一个问题&#xff0c;ip释放后&#xff0c;不能自动…

Sass 基础用法速览

Sass 基础用法速览 目录 Sass 基础用法速览1. 什么是 Sass&#xff1f;2. 安装 Sass2.1 使用 npm 安装&#xff08;推荐&#xff09;2.2 使用 Dart Sass&#xff08;官方推荐&#xff09;2.3 使用 GUI 工具 3. Sass 基本用法3.1 编译 Sass 4. Sass 语法详解4.1 变量4.2 嵌套4.3…

洛谷B3840 [GESP202306 二级] 找素数

题目描述 小明刚刚学习了素数的概念&#xff1a;如果一个大于 1 的正整数&#xff0c;除了 1 和它自身外&#xff0c;不能被其他正整数整除&#xff0c;则这个正整数是素数。现在&#xff0c;小明想找到两个正整数 A 和 B 之间&#xff08;包括 A 和 B&#xff09;有多少个素数…

idea部署本地仓库和连接放送远程仓库

1.下载git&#xff0c;安装好后任意地方又键会出现两个带git的东西 2.点击bash here的那个&#xff0c;召唤出git的小黑窗&#xff0c;输入 git config --global user.name "你自己取名" git config --global user.email "你自己输入你的邮箱" 3.打开id…

C++(20): 文件输入输出库 —— <fstream>

目录 一、 的核心功能 二、核心类及功能 三、核心操作示例 1. 文本文件写入&#xff08;ofstream&#xff09; 2. 文本文件读取&#xff08;ifstream&#xff09; 3. 二进制文件操作&#xff08;fstream&#xff09; 四、文件打开模式 五、文件指针操作 六、错误处理技巧…

elementUI 循环出来的表单,怎么做表单校验?

数据结构如下&#xff1a; diversionParamList: [ { length: null, positionNumber: null, value: null, } ] 思路&#xff1a;可根据 index 动态绑定 :props 属性值&#xff0c;校验规则写在:rules <div class"config-item" v-for"(item, index) in form.…

x-cmd install | Pillager:Go 语言打造的敏感信息文件系统扫描利器

目录 Pillager 的独特优势安装Pillager 的应用场景Pillager 的核心功能 还在为文件系统中潜在的敏感信息泄露而担忧吗&#xff1f;Pillager 是一款由 Go 语言编写的强大工具&#xff0c;旨在帮助你轻松扫描文件系统&#xff0c;发现隐藏的密钥、密码、API 令牌等敏感信息。 Pil…

大模型(2)——提示工程(Prompt Engineering)

文章目录 一、提示工程的核心概念为什么需要提示工程&#xff1f; 二、提示设计的基本原则三、实用提示工程技巧1. 角色设定法2. 示例引导法&#xff08;Few-Shot Learning&#xff09;3. 分阶段提问4. 负面约束5. 温度&#xff08;Temperature&#xff09;控制 四、不同任务类…

环境搭建

一个简单的请求在加入spring security之前的样子, 在浏览器中输入地址就可以直接访问 <!--引入spring security依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>&…

院校机试刷题第六天:1134矩阵翻转、1052学生成绩管理、1409对称矩阵

一、1134矩阵翻转 1.题目描述 2.解题思路 很简单的模拟题&#xff0c;甚至只是上下翻转&#xff0c;遍历输出的时候先把最下面那一行输出即可。 3.代码 #include <iostream> #include <vector> using namespace std;int main() {int n;cin >> n;vector&l…

软件架构风格系列(5):数据共享架构

数据共享架构&#xff1a;如何让数据在系统间自由“流淌”&#xff1f; 引言 在企业数字化转型的浪潮中&#xff0c;“数据孤岛”成为横在业务创新面前的大山&#xff1a;营销系统的用户画像无法同步到客服系统&#xff0c;供应链的库存数据难以为销售决策提供支撑…… 此时&…

SAP-13-内表与工作区

内表 作用&#xff1a; 内表是 ABAP 程序中一种非常重要的数据结构&#xff0c;它类似于数据库表&#xff0c;用于在程序运行时存储和处理数据。与数据库表不同的是&#xff0c;内表存在于程序的内存中&#xff0c;数据的读写速度比从数据库中读取要快很多。它可以存储多条具有…