【OpenCV】使用opencv找哈士奇的脸

我是一名资深的游戏客户端,没事的时候我喜欢捣鼓点好玩的

2016年,看了下人脸识别,我寻思是不是也能狗脸识别,遂有了这个demo。从有道云把笔记搬过来

OpenCV

用于识别图像,盘它

准备工作

  • 安装opencv,配置环境变量,主要是方便在命令行里面运行opencv的exe
  • 下载官网的人脸识别例子程序
  • 训练哈士奇face分类器
  • 替换例子中的文件名为自己需要的,运行

训练分类器

  1. 正负样本准备
  2. 训练

我的工程目录结构

复制代码
1.负样本-bad-放图片
2.正样本-right-放图片
3.data-分类器xml存放目录,不手动新建,会报错
4.target-哈士奇整身图片,用于测试编写的程序识别是否成功
5.bg.dat,告知样本创建程序和训练程序负样本图片的位置
6.info.dat,正样本图片位置,脸的坐标区域
7.pos.vec,运行创建样本命令后,生成的样本描述

bg.dat
bad/b (1).jpg
bad/b (2).jpg
bad/b (3).jpg
......

info.dat
right/1.jpg 1 0 0 129 142
right/2.jpg 1 0 0 88 94
right/3.jpg 1 0 0 57 76

执行成功的命令行代码

  • 创建样本:
    • opencv_createsamples.exe -vec pos.vec -bg bg.dat -num 3 -w 24 -h 24 -info info.dat
  • 训练:
    • opencv_traincascade.exe -data data -vec pos.vec -bg bg.dat -numPos 3 -numNeg 17 -numStages 3 -precalcValBufSize 32 -precalcIdxBufSize 64 -featureType LBP -w 24 -h 24 -weightTrimRate 0.95 -maxDepth 1

命令行结果


识别结果

如何优化

  1. 对训练的图片和待识别的图片,预处理,灰度图,模糊,来减少干扰
  2. 自己编写训练和识别的算法
相关推荐
喜欢吃豆21 分钟前
快速手搓一个MCP服务指南(九): FastMCP 服务器组合技术:构建模块化AI应用的终极方案
服务器·人工智能·python·深度学习·大模型·github·fastmcp
星融元asterfusion27 分钟前
基于路径质量的AI负载均衡异常路径检测与恢复策略
人工智能·负载均衡·异常路径
zskj_zhyl32 分钟前
智慧养老丨从依赖式养老到自主式养老:如何重构晚年生活新范式
大数据·人工智能·物联网
创小匠34 分钟前
创客匠人视角下创始人 IP 打造与知识变现的底层逻辑重构
人工智能·tcp/ip·重构
xiangduanjava1 小时前
关于安装Ollama大语言模型本地部署工具
人工智能·语言模型·自然语言处理
zzywxc7871 小时前
AI 正在深度重构软件开发的底层逻辑和全生命周期,从技术演进、流程重构和未来趋势三个维度进行系统性分析
java·大数据·开发语言·人工智能·spring
超龄超能程序猿1 小时前
(1)机器学习小白入门 YOLOv:从概念到实践
人工智能·机器学习
大熊背1 小时前
图像处理专业书籍以及网络资源总结
人工智能·算法·microsoft
江理不变情1 小时前
图像质量对比感悟
c++·人工智能