Main Channel Down, But This AI Face Lock App Might Revive Everything – FuzzuTech's Big Push!

 Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡


























πŸ“ Features:

  • Real-time AI detection

  • GUI built with Tkinter

  • Works on any PC

  • Built for tech lovers & Python learners

  • Includes full source code (link in YT comments)


Code :


import tkinter as tk

from tkinter import messagebox

import cv2

from PIL import Image, ImageTk

import threading


class FaceLockApp:

    def __init__(self, root):

        self.root = root

        self.root.title("Face Lock System")

        self.root.geometry("700x500")

        self.root.configure(bg="#121212")

        self.root.resizable(False, False)


        # Title

        self.title_label = tk.Label(root, text="πŸ”’ Face Lock System", font=("Segoe UI", 24, "bold"), fg="#00fff7", bg="#121212")

        self.title_label.pack(pady=20)


        # Video frame border

        self.video_frame = tk.Label(root, bg="#0d7377", bd=5, relief="ridge")

        self.video_frame.pack(pady=10)


        # Status label

        self.status_label = tk.Label(root, text="Waiting for face...", font=("Segoe UI", 14), fg="#00d9b6", bg="#121212")

        self.status_label.pack(pady=15)


        # Start button

        self.start_btn = tk.Button(root, text="Start Face Unlock", font=("Segoe UI", 14, "bold"), bg="#00d9b6", fg="#121212",

                                   activebackground="#00fff7", activeforeground="#121212", command=self.start_face_unlock)

        self.start_btn.pack(pady=10)


        # Stop button

        self.stop_btn = tk.Button(root, text="Stop", font=("Segoe UI", 14, "bold"), bg="#ff0054", fg="white",

                                  activebackground="#ff3366", activeforeground="white", command=self.stop_face_unlock, state="disabled")

        self.stop_btn.pack(pady=5)


        # OpenCV and threading

        self.cap = None

        self.running = False

        self.thread = None


        # Load pre-trained face detector

        self.face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')


    def start_face_unlock(self):

        if not self.running:

            self.cap = cv2.VideoCapture(0)

            self.running = True

            self.start_btn.config(state="disabled")

            self.stop_btn.config(state="normal")

            self.status_label.config(text="Looking for face...", fg="#00d9b6")

            self.thread = threading.Thread(target=self.video_loop)

            self.thread.start()


    def stop_face_unlock(self):

        self.running = False

        self.start_btn.config(state="normal")

        self.stop_btn.config(state="disabled")

        self.status_label.config(text="Face unlock stopped.", fg="#ff0054")

        if self.cap:

            self.cap.release()

            self.cap = None

        self.video_frame.config(image='')


    def video_loop(self):

        while self.running and self.cap.isOpened():

            ret, frame = self.cap.read()

            if not ret:

                break


            # Convert to grayscale for face detection

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

            faces = self.face_cascade.detectMultiScale(gray, 1.3, 5)


            # Draw neon-style rectangles around detected faces

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

                # Neon glow effect using multiple rectangles

                for i in range(5):

                    color = (0, 255 - i*40, 255)

                    cv2.rectangle(frame, (x - i, y - i), (x + w + i, y + h + i), color, 2)


            # Face detected?

            if len(faces) > 0:

                self.status_label.config(text="Face Detected! Unlocking...", fg="#00ff94")

            else:

                self.status_label.config(text="Looking for face...", fg="#00d9b6")


            # Convert OpenCV image to PIL ImageTk

            cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)

            img = Image.fromarray(cv2image)

            imgtk = ImageTk.PhotoImage(image=img)


            self.video_frame.imgtk = imgtk

            self.video_frame.config(image=imgtk)


        # Release when done

        if self.cap:

            self.cap.release()

            self.cap = None


if __name__ == "__main__":

    root = tk.Tk()

    app = FaceLockApp(root)

    root.mainloop()

Comments

Popular posts from this blog

πŸš€ Simple Login & Registration System in Python Tkinter πŸ“±

πŸ“‘ Fuzzu Packet Sniffer – Python GUI for Real-Time IP Monitoring | Tkinter + Scapy

πŸ”₯ Advanced MP3 Music Player in Python | CustomTkinter + Pygame | Free Source Code