connect@howdiyworld.com
|

Security Camera

BLOCK DIAGRAM

Procedure

  1. USB camera
  2. Connections
  3. Program
  4. Output

Procedure

USB Camera

A USB webcam is a camera that connects to a computer, usually through plugging it in to a USB port on the machine. The video is fed to the computer where a software application lets you view the pictures and also transfer them to the Internet.

Connections

  • Connect USB Camera to Raspberry Pi USB.

Python Program

from tkinter import *

from PIL import Image, ImageTk

from tkinter import messagebox

import sys

import numpy as np

from time import sleep

import os

import smtplib

from email import encoders

from email.mime.base import MIMEBase

from email.mime.multipart import MIMEMultipart

import cv2

faceCascade = cv2.CascadeClassifier('Path_to /haarcascade_frontalface_default.xml')

cap = cv2.VideoCapture(0)

cap.set(3,400) # set Width

cap.set(4,500) # set Height

COMMASPACE = ', '

def mail_send():

messagebox.showinfo(“Check the Mail “, “Mail send")

def mail_not_send():

messagebox.showinfo(“Check the Mail “, “Unable to send the email.")

def mail():

sender = 'sender_mail_id.com'

gmail_password = password

recipients = ['receiver_mailid.com']

# Create the enclosing (outer) message

outer = MIMEMultipart()

outer['Subject'] = 'Image from I-champ'

outer['To'] = COMMASPACE.join(recipients)

outer['From'] = sender

outer.preamble = 'You will not see this in a MIME-aware mail reader.n'

# List of attachments

attachments = ['Path_to_img_file']

# Add the attachments to the message

for file in attachments:

try:

with open(file, 'rb') as fp:

msg = MIMEBase('application', “octet-stream")

msg.set_payload(fp.read())

encoders.encode_base64(msg)

msg.add_header('Content-Disposition', 'attachment', filename=os.path.basename(file))

outer.attach(msg)

except:

print(“Unable to open one of the attachments. Error: “, sys.exc_info()[0])

raise""

composed = outer.as_string()

# Send the email

try:

with smtplib.SMTP('smtp.gmail.com', 587) as s:

s.ehlo()

s.starttls()

s.ehlo()

s.login(sender, gmail_password)

s.sendmail(sender, recipients, composed)

s.close()

#print(“Email sent!")

mail_send()

except:

#print(“Unable to send the email. Error: “, sys.exc_info()[0])

mail_not_send()

raise

while True:

ret, img = cap.read()

img = cv2.flip(img, 1)

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

faces = faceCascade.detectMultiScale(

gray,

scaleFactor=1.2,

minNeighbors=5

,

minSize=(20, 20)

)

for (x,y,w,h) in faces:

cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)

roi_gray = gray[y:y+h, x:x+w]

roi_color = img[y:y+h, x:x+w]

cv2.imwrite(“user/face.jpg",roi_color)

cv2.imshow(“face",roi_color)

mail()

cv2.imshow('Live',img)

k = cv2.waitKey(30) & 0xff

if k == 27: # press 'ESC' to quit

break

cap.release()

cv2.destroyAllWindows()

Output

When a person comes in front of the camera it will detect and capture the face of the person send to particular email-Id (Given in python program).

Social media & sharing icons powered by UltimatelySocial
Facebook
Twitter
YouTube
LinkedIn
Instagram