opencv提取图像轮廓python代码(Python基于opencv调用摄像头获取个人图片的实现方法)
类别:脚本大全 浏览量:1713
时间:2022-01-24 00:33:40 opencv提取图像轮廓python代码
Python基于opencv调用摄像头获取个人图片的实现方法接触图像领域的应该对于opencv都不会感到陌生,这个应该算是功能十分强劲的一个算法库了,当然了,使用起来也是很方便的,之前使用windows7的时候出现多该库难以安装成功的情况,现在这个问题就不存在了,需要安装包的话可以去我的资源中下载使用,使用pip安装方式十分地便捷。
今天主要是基于opencv模块来调用笔记本的内置摄像头,然后从视频流中获取到人脸的图像数据用于之后的人脸识别项目,也就是为了构建可用的数据集。整个实现过程并不复杂,具体如下:
|
#!usr/bin/env python #encoding:utf-8 ''' __author__:沂水寒城 功能: python opencv调用摄像头获取个人图片 使用方法: 启动摄像头后需要借助键盘输入操作来完成图片的获取工作 c(change): 生成存储目录 p(photo): 执行截图 q(quit): 退出拍摄 opencv简介 1、videocapture()方法打开摄像 摄像头变量 cv2.videocapture(n) n为整数内置摄像头为0,若有其他摄像头则依次为1,2,3,... cap=cv2.videocapture(0) 打开内置摄像头 2、cap.isopened()方法判断摄像头是否处于打开,返回结果为:true、false 3、ret,img=cap.read() 读取图像 布尔变量,图像变量=cap.read() 4、cap.release() 释放摄像头 5、action=cv2.waitkey(n) 获取用户输入,同时可获取按键的ascll码值 ''' import os import cv2 import sys reload (sys) sys.setdefaultencoding( 'utf-8' ) def cameraautoforpictures(savedir = 'data/' ): ''' 调用电脑摄像头来自动获取图片 ''' if not os.path.exists(savedir): os.makedirs(savedir) count = 1 #图片计数索引 cap = cv2.videocapture( 0 ) width,height,w = 640 , 480 , 360 cap. set (cv2.cap_prop_frame_width,width) cap. set (cv2.cap_prop_frame_height,height) crop_w_start = (width - w) / / 2 crop_h_start = (height - w) / / 2 print 'width: ' ,width print 'height: ' ,height while true: ret,frame = cap.read() #获取相框 frame = frame[crop_h_start:crop_h_start + w,crop_w_start:crop_w_start + w] #展示相框 frame = cv2.flip(frame, 1 ,dst = none) #前置摄像头获取的画面是非镜面的,即左手会出现在画面的右侧,此处使用flip进行水平镜像处理 cv2.imshow( "capture" , frame) action = cv2.waitkey( 1 ) & 0xff if action = = ord ( 'c' ): savedir = raw_input (u "请输入新的存储目录:" ) if not os.path.exists(savedir): os.makedirs(savedir) elif action = = ord ( 'p' ): cv2.imwrite( "%s/%d.jpg" alt="opencv提取图像轮廓python代码(Python基于opencv调用摄像头获取个人图片的实现方法)" border="0" /> print (u "%s: %d 张图片" % (savedir,count)) count + = 1 if action = = ord ( 'q' ): break cap.release() #释放摄像头 cv2.destroyallwindows() #丢弃窗口 if __name__ = = '__main__' : cameraautoforpictures(savedir = 'data/' ) |
上述代码的运行环境需要是python2,因为python2中才有reload方法,去掉那些语句就可以在python3中执行了,我们在python2的环境中执行结果截图如下:
我的保存路径是data,按q退出后,进入data文件夹下就可以看到自己的“靓照”了哈,好了数据集准备到此结束,接下来准备实战人脸识别。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/Together_CZ/article/details/87808392
您可能感兴趣
- python中字典的主要特点(Python里字典的基本用法包括嵌套字典)
- python里面的print怎么用(python中的print输出)
- python验证码处理教程(python简单验证码识别的实现方法)
- python3函数的使用方法(Python3.5基础之函数的定义与使用实例详解参数、作用域、递归、重载等)
- python3下urllib案例(URL Rewrite Module 2.1 URL重写模块规则写法)
- python控制流实例(如何用C代码给Python写扩展库Cython)
- python中if语句应学会什么(Python基础之条件控制操作示例if语句)
- python操作pandas(详解Python学习之安装pandas)
- python numpy矩阵详解(基于Numpy.convolve使用Python实现滑动平均滤波的思路详解)
- python的4种数字变量(Python将字符串常量转化为变量方法总结)
- 2021-10-07 00:38:09
- python flask部署实例(Python Flask框架扩展操作示例)
- python画折线图(python使用Plotly绘图工具绘制水平条形图)
- pythonturtle库画图代码(用Python中的turtle模块画图两只小羊方法)
- python队列快速排序(python按照多个条件排序的方法)
- 如何用python在微信里自动回复(Python实现微信自动好友验证,自动回复,发送群聊链接方法)
- 《道德经》:功成不局,泰而不骄(道德经:功成不局)
- 每日一典 过江之鲫(每日一典过江之鲫)
- 红色代表什么(红色代表什么意义和象征)
- 菲律宾安全吗(菲律宾安全吗2023)
- 彩礼重要吗()
- 写信告诉我今天海是什么颜色(写信告诉我今天海是什么颜色回答)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9