This is my code, which starts the webcam :
import pygame.camera
import pygame.image
import sys
pygame.camera.init()
cameras = pygame.camera.list_cameras()
print "Using camera %s ..." % cameras[0]
webcam = pygame.camera.Camera(cameras[0])
webcam.start()
# grab first frame
img = webcam.get_image()
WIDTH = img.get_width()
HEIGHT = img.get_height()
screen = pygame.display.set_mode( ( WIDTH, HEIGHT ) )
pygame.display.set_caption("pyGame Camera View")
while True :
for e in pygame.event.get() :
if e.type == pygame.QUIT :
sys.exit()
# draw frame
screen.blit(img, (0,0))
pygame.display.flip()
# grab next frame
img = webcam.get_image()
I want to know how to capture an image and store it to the current directory. Please suggest the changes required.
If you want to draw another copy of the same image in a new location make a copy of the rectangle, then create a new Sprite() object. This is a valid advice in this context.
Pygame is able to load images onto Surface objects from PNG, JPG, GIF, and BMP image files.
pygame.Surface.convert. — change the pixel format of an image.
When you call webcam.get_image it returns an RGB Surface. So just call pygame.image.save(), the file type is determined by the extension and defaults to TGA. Options are BMP, TGA, PNG, and JPEG. In this case you could append this line to your file.
pygame.image.save(img, "image.jpg")
Check out http://www.pygame.org/docs/ref/image.html and http://www.pygame.org/docs/ref/camera.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With