Pycharm Webcam


**** Activating a security camera using python ****

 pip install opencv-python

ctrl / --- to comment

-------------------------------

import cv2

vcam = cv2.VideoCapture(1)

while vcam.isOpened():

ret, vframe1 = vcam.read()

if cv2.waitKey(10) == ord('q'):

        break

    cv2.imshow('Grumpy Cam', vframe1)

----------------------------------

import cv2

vcam = cv2.VideoCapture(1)

while vcam.isOpened():

    ret, vframe1 = vcam.read()

    ret, vframe2 = vcam.read()

    vdiff = cv2.absdiff(vframe1, vframe2)

if cv2.waitKey(10) == ord('q'):

        break

    cv2.imshow('Grumpy Cam', vdiff)

------------------------------------

import cv2

vcam = cv2.VideoCapture(1)

while vcam.isOpened():

    ret, frame1 = vcam.read()

    ret, frame2 = vcam.read()

    diff = cv2.absdiff(frame1, frame2)

    gray = cv2.cvtColor(diff, cv2.COLOR_RGB2GRAY)

    blur = cv2.GaussianBlur(gray, (5, 5), 0)

    _, thresh = cv2.threshold(blur, 20, 255, cv2.THRESH_BINARY)

    dilated = cv2.dilate(thresh, None, iterations=3)

    contours, _ = cv2.findContours(dilated, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

    cv2.drawContours(frame1, contours, -1, (0, 255, 0), 2)

    if cv2.waitKey(10) == ord('q'):

        break

    cv2.imshow('Grumpy Cam', frame1)


----------------------------------------


import cv2

import winsound

vcam = cv2.VideoCapture(1)

while vcam.isOpened():

    ret, frame1 = vcam.read()

    ret, frame2 = vcam.read()

    diff = cv2.absdiff(frame1, frame2)

    gray = cv2.cvtColor(diff, cv2.COLOR_RGB2GRAY)

    blur = cv2.GaussianBlur(gray, (5, 5), 0)

    _, thresh = cv2.threshold(blur, 20, 255, cv2.THRESH_BINARY)

    dilated = cv2.dilate(thresh, None, iterations=3)

    contours, _ = cv2.findContours(dilated, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

    # cv2.drawContours(frame1, contours, -1, (0, 255, 0), 2)

    for c in contours:

        if cv2.contourArea(c) < 5000:

            continue

        x, y, w, h = cv2.boundingRect(c)

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

        # winsound.Beep(500, 200)

        winsound.PlaySound('alert.wav', winsound.SND_ASYNC)

    if cv2.waitKey(10) == ord('q'):

        break

    cv2.imshow('Grumpy Cam', frame1)


------------------------------------------

to move wav files

go main.py

right click

open in explorer

copy or paste wav files

--------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
**** detecting object in a green frame *****

import cv2
cap = cv2.VideoCapture(1)
while True:
    ret, frame = cap.read()
    cv2.imshow('frame', frame)
    if cv2.waitKey(10) == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

------------------------------------------------
import cv2
import numpy as np
#import pyautogui

cap = cv2.VideoCapture(1)

yellow_lower = np.array([22, 93, 0])
yellow_upper = np.array([45, 255, 255])
prev_y = 0

while True:
    ret, frame = cap.read()
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
    mask = cv2.inRange(hsv, yellow_lower, yellow_upper)


    contours, hierarchy = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    for c in contours:
        area = cv2.contourArea(c)
        if area > 300:
          #print(area)
           #cv2,drawContours(frame, c, -1, (0, 255, 0), 2)
            x, y, w, h = cv2.boundingRect(c)
            cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
            if y < prev_y:
              print('moving down')
              #pyautogui.press('space')
            prev_y = y
    cv2.imshow('frame', frame)
    if cv2.waitKey(10) == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

Disclaimer:  We shall not be liable for any loss or damage of whatever nature - direct, indirect, consequential, or otherwise - which may arise as a result of your use of any information on this website. However, if you are interested in using any of the projects for personal or educational purposes, please inform the author by email for guidance and technical support.


Public Domain Notice: Copyright (c) 1988. All rights reserved. This article is part of a book entitled Autognorics. Copies are welcome to be shared or distributed publicly as long proper citations are observed. Please cite as follows: Inscription by Design, Joey Lawsin, 1988, USA.

================================================================== 
Biognorics®  Gnos® Gnorics® ELFS® logos are registered trademarks.
Copyright Autognorics© Inc. iHackRobot®. All Rights Reserved.
Patent Pending. 2000 © ®
A  L.A.W.S.I.N. Educational Production
 ================================================================== 

Comments

Popular Posts