Skip to main content

Gun Detection using Python-OpenCV | weapon detection project



 Gun detection using Open CV is a very useful project for your resume and also useful for real-life projects. Many industries use this kind of technology for weapon detection. So it will be great if you can make such a project using python in very simple steps.


Difficulty:

It will be very simple code. By using some simple method of OpenCV(open source computer vision) you can create this project and have some fun

Modules:

  1. OpenCV(for installation use pip install opencv-python on your terminal)
  2. NumPy(for installation use pip install numpy)
  3. Imutils(for installation use pip install imutils)
  4. Datetime(you don't need to install it)

Notes:

In this project, I use a pre-ready dataset for detecting guns you can get it from here

Code:

import numpy as np
import cv2
import imutils
import datetime


gun_cascade = cv2.CascadeClassifier('cascade.xml')
camera = cv2.VideoCapture(0)

firstFrame = None
gun_exist = False

while True:
   
    ret, frame = camera.read()

    frame = imutils.resize(frame, width = 500)
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
   
    gun = gun_cascade.detectMultiScale(gray,1.3, 5,minSize = (100, 100))
   
    if len(gun) > 0:
        gun_exist = True
       
    for (x, y, w, h) in gun:
       
        frame = cv2.rectangle(frame,
                            (x, y),
                            (x + w, y + h),
                            (255, 0, 0), 2)
        roi_gray = gray[y:y + h, x:x + w]
        roi_color = frame[y:y + h, x:x + w]

    if firstFrame is None:
        firstFrame = gray
        continue

    # print(datetime.date(2019))
    # draw the text and timestamp on the frame
    cv2.putText(frame, datetime.datetime.now().strftime("%m-%d-%Y %H:%M%p"),
                (10, frame.shape[0] - 10),
                cv2.FONT_HERSHEY_SIMPLEX,
                0.35, (0, 0, 255), 1)

    cv2.imshow("Security Feed", frame)
    key = cv2.waitKey(1) & 0xFF
   
    if key == ord('q'):
        break

if gun_exist:
    print("guns detected")
else:
    print("guns NOT detected")

camera.release()
cv2.destroyAllWindows()


Github:

You can also get the code from here

Follow my socials:

Youtube:https://www.youtube.com/channel/UCU1qNFntn7dCi9uqyvrGKOg

Instagram: https://www.instagram.com/python.math/

Twitter:https://twitter.com/Pritish369


For any question or coding discussion, you can join my discord or telegram:

Discord:https://discord.gg/be7MmSuV

Telegram:https://t.me/Python_Math_Community




Comments

Popular posts from this blog

Draw Minecraft Charater in Python

  Minecraft  is a  sandbox video game  developed by the Swedish video game developer  Mojang Studios . The game was created by  Markus "Notch" Persson  in the  Java programming language . Following several early private testing versions, it was first made public in May 2009 before fully releasing in November 2011, with  Jens Bergensten  then taking over development.  Minecraft  has since been ported to several other platforms and is the  best-selling video game of all time , with over 238 million copies sold and nearly 140 million  monthly active users  as of 2021 . We gonna build a character of Minecraft using our creativity and coding skills so let's drive into the code: Code: import turtle as t def eye ( r , a ):     t . fillcolor ( 'brown' )     t . begin_fill ()     t . circle ( r , a )     t . end_fill () t . begin_fill () t . fillcolor (...

How To Draw BMW Logo - In Python

 I know I don't need to introduce BMW as it is a very popular luxury car. Today we gonna draw the BMW logo in python. I know that you can draw it using a pencil and other tools like AutoCAD etc. But we are programmers we talk with computers so let's tell our computer to draw this logo for use with the help of python. Module The only module we will use is that turtle Code: import turtle as t t.begin_fill() t.fillcolor( '#008ac9' ) for i in range ( 50 ):     t.forward( 4 )     t.left( 2 ) t.right(- 80 ) t.forward( 116 ) t.right(- 90 ) t.forward( 132 ) t.end_fill() t.penup() t.pendown() t.right( 90 ) for i in range ( 50 ):     t.forward( 4 )     t.left(- 2 ) t.right( 80 ) t.forward( 116 ) t.forward(- 116 ) t.right( 90 ) t.begin_fill() t.fillcolor( '#008ac9' ) for j in range ( 45 ):     t.forward(- 4 )     t.left(- 2 ) t.right(- 90 ) t.forward( 116 ) t.end_fill() t.right( 180 ) t.forward( 116 ) t.right( 90 ) for i in ...

Draw spiderman logo using python | spiderman logo with python turtle

Well like me I think you are also a fan of spiderman. We also do coding so let's create our favorite superhero in python and have some fun with it Module: We only use one simple module in this project that is Turtle Code: from turtle import * bgcolor ( 'red' ) pensize ( 10 ) fillcolor ( 'black' ) begin_fill () circle ( 20 ) end_fill () penup () right ( 90 ) forward ( 5 ) pendown () fillcolor ( 'black' ) begin_fill () right ( 60 ) for i in range ( 6 ):     forward ( 50 )     left ( 60 ) end_fill () penup () left ( 150 ) forward ( 39 ) left ( 90 ) forward ( 9 ) pendown () forward ( 25 ) right ( 60 ) forward ( 15 ) left ( 60 ) forward ( 25 ) penup () backward ( 25 ) right ( 60 ) back ( 15 ) left ( 60 ) backward ( 25 ) left ( 60 ) pendown () backward ( 35 ) left ( 120 ) forward ( 80 ) penup () left ( 40 ) forward ( 30 ) left ( 140 ) pendown () forward ( 110 ) left ( 60 ) forward ( 40 ) right ( 60 ) forward ( 7 ) right ( 60 ) forward ( 20 ) left ( 60 ) forw...