Python调用摄像头摄像并保存图片的方法源码
用python语言来调用摄像头,并自动拍摄图片并保存到指定位置的方法源码是怎么样的呢?
操作USB摄像头一定需要用到鼠标来操作。像是截图、录像都可以完成。如今学习了python计算机编程语言那就要动手来完成一件有成就感的事情吧,就像本文中教的那样,看看是如何使用Python来操作摄像头。
首先完成这件事情,需要用到Python库,有这三个: VideoCapture、PIL 和 pygame。
pygame,这个库可以处理视频帧(fps)。
下面关Python调用摄像头摄像并保存图片的方法源码中有几行是需要注意的:
15行,那个函数是在视频上显示些信息。这个例子中,显示的是抓图的数量以及当前的亮度和对比度。这个函数先显示深灰色的文本,然后偏移几个像素,再显示浅灰色的,这样可以有阴影的效果。
26行,是在调整亮度和对比度。
30-33行,是在设置数字键1-4用于调整亮度和对比度
34-35行,是在设置和来显示摄像头的对话框。在那里你可以调整分辨率和暴光度等等。
36行及以下,是在存一个抓图文件。文件名中使用了代码编写时的时间。.
#! /usr/bin/env python #coding=utf-8 from VideoCapture import Device import ImageDraw, sys, pygame, time from pygame.locals import * from PIL import ImageEnhance res = (640,480) pygame.init() cam = Device() cam.setResolution(res[0],res[1]) screen = pygame.display.set_mode((640,480)) pygame.display.set_caption('Webcam') pygame.font.init() font = pygame.font.SysFont("Courier",11) #www.iplaypy.com def disp(phrase,loc): s = font.render(phrase, True, (200,200,200)) sh = font.render(phrase, True, (50,50,50)) screen.blit(sh, (loc[0]+1,loc[1]+1)) screen.blit(s, loc) brightness = 1.0 contrast = 1.0 shots = 0 while 1: camshot = ImageEnhance.Brightness(cam.getImage()).enhance(brightness) camshot = ImageEnhance.Contrast(camshot).enhance(contrast) for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() keyinput = pygame.key.get_pressed() if keyinput[K_1]: brightness -= .1 if keyinput[K_2]: brightness += .1 if keyinput[K_3]: contrast -= .1 if keyinput[K_4]: contrast += .1 if keyinput[K_q]: cam.displayCapturePinProperties() if keyinput[K_w]: cam.displayCaptureFilterProperties() #以下的代码,是在存一个抓图文件。文件名中使用了当前时间 if keyinput[K_s]: filename = str(time.time()) + ".jpg" cam.saveSnapshot(filename, quality=80, timestamp=0) shots += 1 camshot = pygame.image.frombuffer(camshot.tostring(), res, "RGB") screen.blit(camshot, (0,0)) disp("S:" + str(shots), (10,4)) disp("B:" + str(brightness), (10,16)) disp("C:" + str(contrast), (10,28)) pygame.display.flip()
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/graphics/gr2561.html
相关文章 Recommend
- • 2019年3月最新消息: Python 3.4.10 现已推出
- • [上海]招Python量化系统开发工程师
- • 优集品网络科技有限公司招Python中/高级工程师
- • 爱因互动科技发展有限公司招募Python开发攻城狮
- • mozio招聘Python/Django工程师
- • Kavout金融科技公司招Python研发工程师
- • Python数组逆向输出,编程练习题实例四十
- • Python数组插入排序,编程练习题实例三十九
- • Python矩阵for循环应用,编程练习题实例三十八
- • Python操作Redis数据库方面的问题
- • 请python高手帮我看看这段python代码中函数setter的
- • Python什么方法可以快速将两个队列变成字典
我要分享到:
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • Python用来处理图像几何变换
- • python实现jpg图片文字转成pdf格式
- • python3代码完成抓取某论坛贴图教程
- • 用python完成计算一个图形中三角形数目
- • Python jpg图片裁剪处理源码
- • Python数学方程式画心型图案源码示例
- • 判断并修改图片分辨率的python方法
- • PyQt制作支持拖动缩放小时钟
- • Python工程图绘制编程函数基本应用源码
- • 可视化SVM分类器开源实现的python代码
图文精华 RECOMMEND
-
python实现jpg图片文字转成pdf格式
-
用python完成计算一个图形中三角形
-
Python数学方程式画心型图案源码示
-
PyQt制作支持拖动缩放小时钟
-
可视化SVM分类器开源实现的pytho
-
Python爬虫与K-means聚类算法分析多
热点文章 HOT
- Python用来处理图像几何变换
- PyQt制作支持拖动缩放小时钟
- Python数学方程式画心型图案源码示例
- 可视化SVM分类器开源实现的python代码
- Python爬虫与K-means聚类算法分析多数据图片
- Python jpg图片裁剪处理源码
- Python工程图绘制编程函数基本应用源码
- Python调用摄像头摄像并保存图片的方法源