立即学习:https://edu.csdn.net/course/play/24719/279505?utm_source=blogtoedu

目录

一、制作数据集代码

二、思路总结

1、数据集目录的准备

2、图片的获取

3、样本的录入与样本类型的切换

4、数据集存放的方法

三、API使用总结


一、制作数据集代码

import cv2
import os"""数据集目录准备"""
dataset_path = "./dataset"  # 数据集目录# 检验数据集目录是否存在,不存在则创建目录
if not os.path.exists(dataset_path):os.mkdir(dataset_path)# 在数据集路径下,检测3个类的路径是否存在,不存在则创建目录
for i in range(3):class_path = dataset_path + f"/{i}"if not os.path.exists(class_path):os.mkdir(class_path)"""图片编号准备"""
data_counter = 0  # 每一类图片的计数器
class_number = 0  # 图片类型编号"""摄像头取材准备"""
capture = cv2.VideoCapture(0)
while True:ret, frame = capture.read()  # 获取一帧show_img = frame.copy()  # show_img是原图像frame的拷贝crop_img = frame[100:200, 100:200]  # crop_img是在原图像frame上的部分截取cv2.rectangle(show_img, (100, 100), (200, 200), (0, 0, 255), 5)  # 在show_img上画出截取部分的框框cv2.imshow('frame', show_img)  # 显示图片show_imgk = cv2.waitKey(1)  # OpenCV延迟1毫秒、同时检测是否有按键被按下(如果有键被按下时,将键值返回给q)# 按下Q键退出if k == ord('q'):break# 按下S键保存elif k == ord('s'):file_name = dataset_path + f"/{class_number}" + "/%03d.jpg" % data_counter  # 记录保存图片的相对路径cv2.imwrite(file_name, crop_img)  # 保存图片crop_imgprint(f"保存 图片{data_counter}")  # 打印提示data_counter += 1  # 计数器 + 1# 按下N键进入下一类样本的录入elif k == ord('n'):class_number += 1data_counter = 0print(f"进入第{class_number}类样本的识别")capture.release()
cv2.destroyAllWindows()

二、思路总结

1、数据集目录的准备

主要靠os来判断文件夹是否存在,不存在将提前创建相应文件夹

2、图片的获取

主要靠OpenCV打开摄像头,截取框选区域图片进行保存

3、样本的录入与样本类型的切换

主要靠OpenCV获取按键,判别按键信息执行对应指令

4、数据集存放的方法

在一个dataset的文件夹中,有三个文件夹【0、1、2】,分别对应三类图片数据【“我”、“好”、“帅”】,每一类图片存放在相应类型的文件夹下,各存储200张,编号均为000.jpg~199.jpg

三、API使用总结

API

作用

使用示例

os.path.exists

os判断某个文件/目录是否存在

dataset_path = "./dataset"

if not os.path.exists(dataset_path):

......

os.mkdir

os创建某个目录

os.mkdir(dataset_path)

cv2.VideoCapture

cv获取摄像头资源

capture = cv2.VideoCapture(0)

*.read

cv获取摄像头的一帧

ret, frame = capture.read()

*.copy

cv图片拷贝

show_img = frame.copy()

*[???:???, ???:???]

cv图片截取

crop_img = frame[100:200, 100:200]

cv2.rectangle

cv图片画框

cv2.rectangle(show_img, (100, 100), (200, 200), (0, 0, 255), 5)

cv2.imshow

cv图片展示

cv2.imshow('frame', show_img)

cv2.imwrite

cv图片保存

cv2.imwrite(file_name, crop_img)

cv2.waitKey

cv等待按键

k = cv2.waitKey(1)

*.release

cv释放摄像头资源

capture.release()

cv2.destroyAllWindows

关闭所有cv窗口

cv2.destroyAllWindows()

ord

返回字符对应的ASCII码值

if k == ord('q'):

break

【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·001 用OpenCV制作数据集相关推荐

  1. 【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·003 用训练模型进行预测

    立即学习:https://edu.csdn.net/course/play/24719/279510?utm_source=blogtoedu 目录 一.用训练模型进行预测代码 二.思路总结 1.模型 ...

  2. 【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·002 训练神经网络

    立即学习:https://edu.csdn.net/course/play/24719/279509?utm_source=blogtoedu 目录 一.神经网络训练代码 二.思路总结 1.数据集图片 ...

  3. 手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南

    手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南 一. 前言和准备工作 1.1 python.anaconda和pytorch的关系 二. Anconda安装 2.1 ...

  4. linux 中国-新手村,从新手村开始,手把手带你入门梳理内核代码

    原标题:从新手村开始,手把手带你入门梳理内核代码 在上一期内容中,Java离Linux内核有多远? 我们介绍了从 JVM 到内核的编译原理,告诉大家应用和系统工程师如何接触到内核. 本文将 从一个简单 ...

  5. RPA之家手把手带你入门Blue Prism教程系列4_认识Blue Prism的界面

    RPA之家手把手带你入门Blue Prism 1. Home & Analytics 2. Studio 2.1 Process 2.2 Object 2.3 Process与Object的关 ...

  6. RPA之家手把手带你入门Blue Prism教程系列7_深入了解Data Item

    RPA之家手把手带你入门Blue Prism 1. Data Item类型 2. Data Item的表现形式 2.1 Environment Variable(环境变量) 2.2 Session V ...

  7. RPA之家手把手带你入门Blue Prism教程系列 -汇总

    RPA之家手把手带你入门Blue Prism 基础篇 -本文章由RPA之家(rpazj.com)提供, 学习交流群QQ群465620839 微信交流群: 基础篇 RPA之家手把手带你入门Blue Pr ...

  8. RPA之家手把手带你入门Blue Prism教程系列3_如何新建用户和配置数据库

    RPA之家手把手带你入门Blue Prism 创建用户 第一步:寻找Security标签下的Users 第二步:配置Users 配置数据库 第一步:新建数据库 第二步:配置数据库 -本文章由RPA之家 ...

  9. RPA之家手把手带你入门Blue Prism教程系列1_如何申请Blue Prism免费试用版

    RPA之家手把手带你入门Blue Prism Blue Prism 免费试用版 第一步:申请一个BluePrism Portal账号 第二步:在DX网站申请一个测试license 第三步:申请成功后, ...

最新文章

  1. 电大计算机应用,(2016年电大)电大全国计算机应用考试网考.doc
  2. UA MATH636 信息论7 高斯信道简介
  3. 用Flash创建一个类似Nano War游戏的教程
  4. 数据预处理|关于标准化和归一化的一切
  5. vue.config.js配置
  6. Information Retrieval --- Outline
  7. 湖北文理学院学位计算机考试,湖北文理学院学位计算机考试试题答案.doc
  8. 弃用微软 C++ 编译器,Win 版 Chrome 改用 Clang
  9. 蓝桥杯python试题_Python爬取蓝桥杯真题讲解课程
  10. 解析:深度学习框架Caffe源码
  11. WIFI 认证加密模式介绍 理解无线安全
  12. 服务器U盘安装安装centos
  13. 阿里云服务器ECS中扩容云盘后磁盘容量没有增加的解决方法
  14. 一个tesseract ocr box 文件查看toy,python
  15. 2021-05-01
  16. vmware虚拟机出现此电脑无法运行win11,虚拟机中安装win11系统教程
  17. powerpovit oracle,用powerpivot建立数据模型中的数据库在哪
  18. Kotlin基础学习(1)
  19. GB28181协议级联在公安多级网络应用的解决方法
  20. ndows 资源管理器,Xplorer2 Ultimate(Windows资源管理器高级版)v5.0.0.2 中文免费版-ucbug软件站...

热门文章

  1. 电力企业信息化建设方案之调度信息报送系统
  2. 有一列数列,1,11,21,1211,111221,.........,
  3. 中缀表达式转后缀表达式 java_中缀表达式转后缀表达式并计算结果Java实现
  4. linux做 tar,linux的tar命令
  5. c语言解三元一次方程组_在R里面对三元一次方程求解
  6. oracle配置控制文件快照的位置以及名称为,Oracle 快照控制文件(snapshot control file)...
  7. 力扣 27.移除元素 关于数组的存储是连续的问题
  8. 轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
  9. 畅通工程(最小生成树模板)
  10. Puzzle——模拟