[Python] 用python控制摄像头的代码片段 →→→→→进入此内容的聊天室

来自 , 2020-04-16, 写在 Python, 查看 103 次.
URL http://www.code666.cn/view/9b644ca9
  1. from VideoCapture import Device
  2. import ImageDraw, sys, pygame, time
  3. from pygame.locals import *
  4. from PIL import ImageEnhance
  5.  
  6. res = (640,480)
  7. pygame.init()
  8. cam = Device()
  9. cam.setResolution(res[0],res[1])
  10. screen = pygame.display.set_mode((640,480))
  11. pygame.display.set_caption('Webcam')
  12. pygame.font.init()
  13. font = pygame.font.SysFont("Courier",11)
  14.  
  15. def disp(phrase,loc):
  16.     s = font.render(phrase, True, (200,200,200))
  17.     sh = font.render(phrase, True, (50,50,50))
  18.     screen.blit(sh, (loc[0]+1,loc[1]+1))
  19.     screen.blit(s, loc)
  20.  
  21. brightness = 1.0
  22. contrast = 1.0
  23. shots = 0
  24.  
  25. while 1:
  26.     camshot = ImageEnhance.Brightness(cam.getImage()).enhance(brightness)
  27.     camshot = ImageEnhance.Contrast(camshot).enhance(contrast)
  28.     for event in pygame.event.get():
  29.         if event.type == pygame.QUIT: sys.exit()
  30.     keyinput = pygame.key.get_pressed()
  31.     if keyinput[K_1]: brightness -= .1
  32.     if keyinput[K_2]: brightness += .1
  33.     if keyinput[K_3]: contrast -= .1
  34.     if keyinput[K_4]: contrast += .1
  35.     if keyinput[K_q]: cam.displayCapturePinProperties()
  36.     if keyinput[K_w]: cam.displayCaptureFilterProperties()
  37.     if keyinput[K_s]:
  38.         filename = str(time.time()) + ".jpg"
  39.         cam.saveSnapshot(filename, quality=80, timestamp=0)
  40.         shots += 1
  41.     camshot = pygame.image.frombuffer(camshot.tostring(), res, "RGB")
  42.     screen.blit(camshot, (0,0))
  43.     disp("S:" + str(shots), (10,4))
  44.     disp("B:" + str(brightness), (10,16))
  45.     disp("C:" + str(contrast), (10,28))
  46.     pygame.display.flip()
  47.  
  48.  
  49. #//python/4308

回复 "用python控制摄像头的代码片段"

这儿你可以回复上面这条便签

captcha