人眼检测(单张图像-原始版)

news2024/9/25 11:13:50

目录

实验原理

实验代码

运行结果

改进代码


实验原理

要在C++中使用OpenCV来检测图像中的人眼,你需要完成以下步骤:

  1. 安装OpenCV库并设置好开发环境。
  2. 加载预训练的级联分类器(通常是用于人脸和眼睛检测的XML文件)。
  3. 读取图像或视频流,并在其中查找眼睛区域。
  4. 在找到的眼睛位置绘制矩形框。

实验代码

#include <opencv2/objdetect.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
#include<vector>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
	// 加载Haar级联分类器
	CascadeClassifier eyeCascade;
	if (!eyeCascade.load("haarcascade_eye.xml")) {
		cout << "Error loading eye cascade" << endl;
		return -1;
	}

	// 读取图像
	Mat image = imread("100.jpg");
	if (image.empty()) {
		cout << "Could not open or find the image" << endl;
		return -1;
	}

	// 转换为灰度图
	Mat grayImage;
	cvtColor(image, grayImage, COLOR_BGR2GRAY);
	equalizeHist(grayImage, grayImage);

	if (grayImage.empty()) {
		cout << "Could not open or find the image" << endl;
		return -1;
	}




	// 检测眼睛
	vector<Rect> eyes;
	//eyeCascade.detectMultiScale(grayImage, eyes, 1.1, 3, 0 | CASCADE_SCALE_IMAGE, Size(30, 30));
	eyeCascade.detectMultiScale(image, eyes, 1.1, 3, CASCADE_SCALE_IMAGE, Size(30, 30));

	// 在图像上绘制检测到的眼睛
	for (size_t i = 0; i < eyes.size(); i++) {
		rectangle(image, eyes[i], Scalar(255, 0, 0), 2);
	}

	// 显示结果
	namedWindow("Eye Detection", WINDOW_NORMAL);
	imshow("Eye Detection", image);

	// 等待按键退出
	waitKey(0);

	return 0;
}

运行结果

问题:单独使用haarcascade_eye.xml进行人眼检测,容易出现上述问题。

改进代码

写文章-CSDN创作中心

https://mp.csdn.net/mp_blog/creation/editor/141549991

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

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

相关文章

SQL-函数ing

1、字符串函数 # 字符函数 select concat(hello , mysql!); select lower(HELLO); select upper(hello); select lpad(01,5,-);# 左填充 select rpad(01,5,-);# 右填充 select trim( hello mysql ! );# 去除前后空格 select substring(hello mysql!,1,7);# 截取一部分字符前7…

【Java设计模式】非循环访问者模式:简化对象交互

文章目录 【Java设计模式】非循环访问者模式&#xff1a;简化对象交互一、概述二、非循环访问者设计模式的意图三、非循环访问者模式的详细解释及实际示例四、Java中非循环访问者模式的编程示例五、非循环访问者模式类图六、Java中何时使用非循环访问者模式八、非循环访问者模式…

XTuner微调个人小助手认知 #书生浦语大模型实战营#

1.任务&#xff1a; 本次的任务是使用 XTuner 微调 InternLM2-Chat-1.8B 实现自己的小助手认知&#xff0c;从而让模型能够个性化的回复&#xff0c;让模型知道他是我们的小助手&#xff0c;在实战营帮我们完成XTuner微调个人小助手认知的任务。并截图打卡。 任务打卡&#x…

深入探索【Hadoop】生态系统:Hive、Pig、HBase及更多关键组件(下)

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《大数据前沿&#xff1a;技术与应用并进》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是Hadoop 2、Hadoop生态系统的构成概览 二…

【html+css 绚丽Loading】 000019 五行轮回剑

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽Loading&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495…

【云原生】Mysql 集群技术

PS&#xff1a;MySQL的源码编译进行实验环境操作 1、MySQL安装及初始化 &#xff08;1&#xff09;生成启动脚本 &#xff08;2&#xff09; 修改环境变量 &#xff08;3&#xff09;生成配置文件 &#xff08;4&#xff09;数据库初始化建立mysql基本数据 &#xff08;5&…

UnrealEngine学习(03):虚幻引擎术语

1. 项目 虚幻引擎5项目&#xff08;Unreal Engine 5 Project&#xff09; 中包含游戏的所有内容。项目中包含的大量文件夹都在磁盘上&#xff0c;例如 Blueprints 和 Materials 。你可以按照自己的意愿命名文件夹并将其整理到项目中。虚幻编辑器&#xff08;Unreal Editor&…

云网络/云探测+零信任架构初阶知识扫盲

一、关键&#xff08;边界&#xff09;节点 1、边界 &#xff08;1&#xff09;CiscoASA Firepower 思科 Firepower NGFW&#xff08;下一代防火墙&#xff09;是专注于威胁防御的下一代防火墙&#xff0c;它将多种功能完全集于一身&#xff0c;采用统一管理&#xff0c;可在…

荣耀应用商城——被下架应用申诉指南

申诉背景 为了营造良好的荣耀应用市场生态环境&#xff0c;保障开发者权益及提升用户体验&#xff0c;此流程针对应用被下架后开发者后续的具体申诉操作流程及详细介绍。 该流程适用于开发者在荣耀应用市场提交的应用&#xff0c;且应用当前处于被下架状态。 申诉流程 申诉定义…

PHP概述-环境搭建-开发工具安装

老师建议注册使用百度文心一言&#xff1b;讯飞星火大模型-AI大语言模型-星火大模型-科大讯飞&#xff1b;Kimi.ai - 帮你看更大的世界 等人工智能工具软件的一个到两个&#xff0c;也可下载文心一言、讯飞星火、kimi等APP软件使用&#xff0c;对于我们在读的大二学生来说有什么…

XR虚拟拍摄和VP有什么区别

XR 虚拟拍摄技术最早源于舞台屏当中,当前衍生出“VP 虚拟制片”、“XR 扩展现实"两大类: 扩展现实&#xff08;xR&#xff09;拍摄&#xff0c;扩展是指LED屏以外区域在画面中被虚拟图形所覆盖&#xff0c;扩展无限的虚拟空间&#xff1b;现实是指LED屏为导演和演员提供肉…

51、Python之模块和包:Python的包和文件夹有何区别

引言 大学有云&#xff1a;“苟日新&#xff0c;又日新&#xff0c;日日新”。 看到一些教材或者文章&#xff0c;介绍到包的时候&#xff0c;一定会提到一定要在文件夹中新建一个__init__.py的文件&#xff0c;哪怕空文件也可以…… 我只想说&#xff0c;有些人的知识真的是…

等保测评与企业风险管理:构建坚实的信息安全防线

随着信息技术的飞速发展&#xff0c;企业在数字化转型的道路上高歌猛进。然而&#xff0c;随之而来的信息安全威胁也日益严峻&#xff0c;成为制约企业发展的关键因素。为了确保信息系统安全&#xff0c;等保测评作为一种重要的风险管理手段&#xff0c;正逐渐成为企业构建信息…

Automatic Educational Question Generation with Difficulty Level Controls

文章目录 题目摘要简介相关工作问题表述实验用户研究结论 题目 具有难度级别控制的自动教育问题生成 论文地址:https://link.springer.com/chapter/10.1007/978-3-031-36272-9_39 摘要 我们考虑自动生成各种难度的数学应用题 (MWP)&#xff0c;以满足教师在相应教育阶段教学和…

Java 使用 POI 导出Excel,实现单元格内容为下拉选项

在使用Apache POI的库生成Excel导入模板的时候&#xff0c;有时候需要设置某些列只能选择下拉选项中的内容&#xff0c;该如何实现这个特性呢&#xff1f;下面是一个示例代码&#xff0c;演示如何实现单元格只能从下拉中选择内容。 代码 import org.apache.poi.ss.usermodel.*…

使用Vue创建cesium项目模版该如何选择?

目录 问题描述模版说明及选用建议小结 问题描述 刚入手这个项目&#xff0c;什么都是一知半解。使用Vue,创建Cesium项目的时候&#xff0c;提示需要选择一个模版&#xff08;如下图所示&#xff09;&#xff0c;该如何选择项目模版选&#xff0c;总结如下&#xff1a; 模版说明…

共源级PMOS反向串联电路分析

一、共源级PMOS反向串联结构如下图&#xff1a; 二、具体分析 1、当VBUS_EN拉低&#xff0c;三极管Q5截止&#xff1a; 如果V-BUS>GEN_5V, T3体二极管阴极电压大于阳极电压&#xff0c;T3体二极管截止。由于上拉电阻R24将S端电压向G端极间电容充电&#xff0c;使得VgVs&…

【机器学习】探秘图像处理与分类:运用C++结合OpenCV实现智能视觉识别技术

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 在计算机视觉领域&#xff0c;图像处理与分类是核心任务之一。OpenCV作为一个功能强大的开源计算机视觉库&#xff0c;提供…

【搜索引擎】ElasticSearch 7.x版本

1 Elasticsearch概述 1.1 Elasticsearch是什么 1.2 全文搜索引擎 1.3 Elasticsearch And Solr 1.4 Elasticsearch Or Solr 1.5 Elasticsearch应用案例 2 Elassticsearch入门 2.1 Elasticsearch 安装 2.1.1 下载软件 2.1.2 安装软件 2.1.3 问题解决 2.2 Elasticsearch基本操…

【网络基础】DNS协议详解:从背景到解析过程及`dig`工具的使用

文章目录 DNS 协议① 前言 - 背景② 域名③ DNS解析过程④ Linux下用dig工具 分析DNS过程⑤ 浏览器中输入URL后&#xff0c;会有哪些过程 DNS 协议 DNS&#xff08;域名系统&#xff0c;Domain Name System&#xff09;是互联网的一个核心协议&#xff0c;用于将域名转换为 IP…