Question

I want to be able to take a photo from a webcam in python 3 and Windows. Are there any modules that support it? I have tried pygame, but it is only linux and python 2, and VideoCapture is only python 2.

Was it helpful?

Solution 2

07/08/14

Pygame 3.4 Ver. is released

http://www.youtube.com/watch?v=SqmSpJfN7OE
http://www.lfd.uci.edu/~gohlke/pythonlibs/

You can download "pygame‑1.9.2a0.win32‑py3.4.exe"

take a photo from a webcam in python 3.4 (testing on window 7) code [1]

import pygame
import pygame.camera

pygame.camera.init()
cam = pygame.camera.Camera(0,(640,480))
cam.start()
img = cam.get_image()
pygame.image.save(img,"filename.jpg")




refer to [1] Capturing a single image from my webcam in Java or Python

OTHER TIPS

I've been looking for the same thing and so far I have come up with a blank. This is what I have so far:

             2.7  3.2  3.3  3.4  LINUX  WIN32
-------------------------------------------------------
OpenCV       YES   -    -    -   YES    YES
PyGame       YES  YES  YES  YES  YES    YES
SimpleCV     YES   -    -    -   YES    YES
VideoCapture YES   -    -    -    -     YES

Resources

  • opencv.org/downloads.html
  • pygame.info/downloads/
  • simplecv.org/download
  • videocapture.sourceforge.net/
import cv2

# Open the device at the ID 0 
cap = cv2.VideoCapture(0)

 #Check whether user selected camera is opened successfully.

if not (cap.isOpened()):

    print("Could not open video device")

#To set the resolution 
    cap.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, 640)

    cap.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 480)

while(True): 
# Capture frame-by-frame

    ret, frame = cap.read()

# Display the resulting frame

    cv2.imshow('preview',frame)

#Waits for a user input to quit the application

if cv2.waitKey(1) & 0xFF == ord('q'):
     #break

# When everything done, release the capture 
    cap.release()

    cv2.destroyAllWindows() 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top