Python Forum
New to Python, help with saving image from camera
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New to Python, help with saving image from camera
#1
I'm new to Python, but I decided to write a program that takes a picture of a person's face and saves it as "who.jpg". When I run this code, I'm able to see the camera and rectangles around the face, but the "who.jpg" is blank, and it's 0 kb in size. What can I do to have the "who.jpg" take picture of the face and save it? I just need to take the picture of the face one time.

import cv2
import sys

cascPath = 'haarcascade_frontalface_default.xml'
faceCascade = cv2.CascadeClassifier(cascPath)

video_capture = cv2.VideoCapture('rtsp://ituser:[email protected]/mpeg4/media.amp')

while True:
    # Capture frame-by-frame
    ret, frame = video_capture.read()

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    faces = faceCascade.detectMultiScale(
        gray,
        scaleFactor=1.1,
        minNeighbors=5,
        minSize=(30, 30)
    )

    # Draw a rectangle around the faces
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)

    # Display the resulting frame
    img = cv2.imshow('Server Room', frame)
    cv2.imwrite("who.jpg", img)

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

# When everything is done, release the capture
video_capture.release()
cv2.destroyAllWindows()
Thanks,

Tony

I guess I can't use imread for videos, and this says I need to use ffmpeg. Am I correct?

https://stackoverflow.com/questions/3726...ng-a-video
Reply
#2
The cv2.imwrite("who.jpg", img) is inside the loop, so every img shown on the screen
is written into that filename. I don´t think that is what you want and i assume the code can´t write that fast.
In addition cv2.imwrite() returns an integer, if i´m not wrong 0 means ok, 1 means error.

Untested and only an idea:
    # Display the resulting frame
    img = cv2.imshow('Server Room', frame)
 
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
    if cv2.waitKey(1) & 0xFF == ord('p'):
        err = cv2.imwrite("who.jpg", img)
        print(error)
        break
Should save an image if you press p key and then quit.
Reply
#3
I got it figured it out, and its working now! Thanks everybody for the help.

""" Importing libraries """

import cv2
import datetime
import os

""" Declaring variables """

cascPath = 'haarcascade_frontalface_default.xml'
faceCascade = cv2.CascadeClassifier(cascPath)
camera = cv2.VideoCapture('rtsp://ituser:[email protected]/mpeg4/media.amp')
path = './Images'

""" Do this while the camera is working """

while (camera.isOpened()):
    ret, frame = camera.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faces = faceCascade.detectMultiScale(
        gray,
        scaleFactor=1.2,
        minNeighbors=5,
        minSize=(30, 30)
    )

    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 255), 2)
        date = datetime.datetime.now()
        date = (date.strftime("%m-%d-%Y_%H%M%S"))
        jpeg = date + '.jpg'
        cv2.imwrite(os.path.join(path,jpeg), frame)

    cv2.imshow('SCA Server Room', frame)

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

""" Finally, release the capture and close windows """

camera.release()
cv2.destroyAllWindows()
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Saving progress in a Python program to use later Led_Zeppelin 9 2,054 Sep-11-2022, 01:32 PM
Last Post: snippsat
  Get image from PI camera and analyze it korenron 0 1,124 Apr-28-2022, 06:49 AM
Last Post: korenron
  Upload image to Instagram using python/selenium using image URL failed, need help greenpine 5 5,341 Feb-22-2022, 09:42 PM
Last Post: snippsat
  saving and loading text from the clipboard with python program MaartenRo 2 1,623 Jan-22-2022, 05:04 AM
Last Post: MaartenRo
  Create RTSP stream from camera? korenron 1 3,185 Jan-04-2022, 10:38 AM
Last Post: Larz60+
  Showing and saving the output of a python file run through bash Rim 3 2,374 Oct-06-2021, 10:48 AM
Last Post: gerpark
  How to get OpenCV to display entire camera frame? George713 1 3,207 Aug-12-2021, 02:45 AM
Last Post: Pedroski55
  saving only one line of a figure as an image (python matplotlib) nitrochloric 0 1,992 Nov-23-2020, 01:41 PM
Last Post: nitrochloric
  Wifi Camera Connection MeenAg 2 3,046 Oct-02-2020, 06:35 PM
Last Post: MeenAg
  PIL Image / python-resize-image AttributeError sallyjc81 1 4,907 Aug-02-2020, 12:06 AM
Last Post: scidam

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020