用python关闭摄像头的代码_如何使用Python操作摄像头

本文介绍如何使用Python库VideoCapture、PIL和pygame来操作和控制摄像头,包括调整亮度、对比度,并实现截图功能。
摘要由CSDN通过智能技术生成

用过USB摄像头的都知道,你需要使用鼠标来操作它,比如截个图,录个像什么的,要点N次鼠标,对于我们那些不喜欢多次点击鼠标的人来说,这是一件很boring的事情,所以,本文将教你如何使用Python来操作摄像头。

这里,我们需要三个Python库: VideoCapture, PIL  和 pygame。使用这三个库你可以非常容易的编写一个摄像头程序。之所以使用pygame,其目的就是因为这个库可以处理视频帧(fps)。下面是代码:

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)

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值