使用LBP+SVM,训练识别给定的测试图像
图片识别
- 训练文件
- 识别图像
- LocalBinrayPatterns
- recognize
- 运行结果展示
- 后续
训练文件
在项目中建立training文件夹,在其中存放你想要训练的图像,其中的小文件夹就是你训练生成的图像名称,可自行更改。
识别图像
建立testing文件夹,在其中存放你想要识别的图像。
LocalBinrayPatterns
class LocalBinrayPatterns:def __init__(self,numPoints,radius):self.numPoints = numPointsself.radius = radiusdef describle(self,image,esp=1e-7):lbp = feature.local_binary_pattern(image,self.numPoints,self.radius,method="uniform")(hist,_) = np.histogram(lbp.ravel(),bins=np.arange(0,self.numPoints + 3),range=(0,self.numPoints + 2))hist = hist.astype("float")hist /= (hist.sum() + esp)return hist
recognize
ap = argparse.ArgumentParser()
ap.add_argument("-t","--training",default="./training",help="path to the training images")
ap.add_argument("-e","--testing",default="./testing",help="path to the testing images")
args = vars(ap.parse_args())desc = LocalBinrayPatterns(24,8)
data = []
labels = []for imagePath in paths.list_images(args["training"]):image = cv2.imread(imagePath)gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)hist = desc.describle(gray)labels.append(imagePath.split(os.path.sep)[-2])data.append(hist)model = LinearSVC(C=100.0,random_state=42)
model.fit(data, labels)for imagePath in paths.list_images(args["testing"]):
完整程序
运行结果展示
可以很明显的看出,提前存放的文件夹的图像训练成了相关文件夹名字的素材,而当检测到相关图片时,显示相关的名称。
后续
如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。
或者关注公众号。
编写不易,感谢支持。
使用LBP+SVM,训练识别给定的测试图像相关推荐
- LBP+SVM 活体识别
针对上一篇"深度摄像头-活体识别"的改进版 大致思路: 1.RGB人脸检测 2.同步人脸位置到深度图矩形框 3.裁剪矩形框,提取LBP特征 4.训练SVM模型. 5.集成模型到de ...
- 基于LBP纹理特征计算GLCM的纹理特征统计量+SVM/RF识别纹理图片
作者 | Raini 出品 | 北京图特摩斯科技有限公司 (thutmose.cn) 说在前头: 局部特征检测方法 斑点Blob检测,LoG检测 , DoG,DoH检测,SIFT算法,SUFT算法 边 ...
- SVM 训练--在训练集上acc为94% 在测试集上为70%
用SVM 训练的时候: 出现的问题是: Error: specified nu is infeasible 带有下标的赋值维度不匹配. 百度到的答案:赋值维度不匹配...说明等号两边的大小不一致,导致 ...
- LBP特征的实现及LBP+SVM分类
前言 LBP这篇博客发表了有一年多的时间了,当时是为了研究生毕业论文实验而写的,后来稍微总结了一下写了这篇博客,一年多时间里,大家提了一些宝贵的修改意见,这两天将代码重构了一下,结构更加简洁清晰,速度 ...
- 基于 LBP + SVM 胡萝卜开裂检测算法
胡萝卜开裂检测算法 l LBP+SVM 算法: 1. 算法描述: LBP+SVM对胡萝卜开裂检测算法的主要思想是,首先,利用LBP对开裂胡萝卜与非开裂胡萝卜进行特征提取,将提取的特征利用 ...
- 第十九课.基于sklearn的SVM人脸识别
目录 数据集 确定人脸的类别标记 划分训练集和测试集与训练 实验为基于sklearn的SVM人脸识别,使用 SVM 算法对戴眼镜的人脸和不戴眼镜的人脸进行分类,从而完成 识别戴眼镜的人脸 的任务:实验 ...
- 【机器学习】LBP+SVM实现特征检测
初学机器学习,参考HOG SVM 车辆检测(https://www.cnblogs.com/louyihang-loves-baiyan/p/4658478.html).LBP特征原理(https:/ ...
- 【叶片识别】基于matlab LBP植物叶片识别【含Matlab源码 1702期】
一.LBP简介(附lunwen) 第一章 引言 植物在我们的身边随处可见,它们从产生发展进化到现在,其间经历了漫长的岁月.地球上的植物种类繁多.数量浩瀚,它们是生物圈的重要组成部分,在维持整个生物界的 ...
- svm性别识别及HOG特征原理浅析
HOG特征原理主要参考http://blog.csdn.net/abcjennifer/article/details/7365651 HOG即histogram of oriented gra ...
最新文章
- RNA-seq最新利器——全长转录组测序
- Cisco路由器的Flash和NVRAM
- centos7.3 编译安装 git 2.13
- 为什么会用这个工具的产品经理,越来越值钱?
- 轻量级的jQuery表单校验插件: Happy.js
- 给Python IDLE添加行号显示
- IA-32 System-Level Registers and Data Structures
- powershell自动化操作AD域、Exchange邮箱系列(1)——powershell 简介
- php对象、面向对象
- 堡垒机应用发布服务器是干嘛的_支持Web UI数据库审计和敏感数据国密算法加密,JumpServer堡垒机v2.5.0发布丨Release Notes...
- LVS负载均衡的几种模式和算法
- 微软应用商店有哪些值得推荐的应用
- [原创]K8_Delphi源码免杀系列教程
- ROS安装教程(ubuntu18.04+melodic版本)
- Spire.Office for .NET 7.9.2 去掉license.dll注册功能
- solidworks拉伸凸台基体/基体
- #大话设计模式之适配器模式#
- 验证苹果电子邮件地址服务器出现问题,iPhone之验证您的电子邮件地址问题解决...
- 基于Go语言Echo+Vue+ElementUI的OA办公系统
- 955 互联网公司白名单来了!这些公司月薪20k,没有996!福利榜国内大厂只有这家!