Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 17447

in Tkinter i am facing problem of opening extra small blank tk frame

$
0
0
import osimport tkinter as tkfrom tkinter import RIDGE, Button, Frame, Label, Tk, Toplevel, filedialog, messageboximport cv2from PIL import Image, ImageTkimport pkg_resourcesfrom main import Face_Recognition_Systemimport osimport tkinter as tkimport cv2import numpy as npfrom PIL import Image, ImageTkimport face_recognitionimport mysql.connectorhaar=pkg_resources.resource_filename('cv2','data/haarcascade_frontalface_default.xml')class Flogin:    def __init__(self, root):        self.root = root        self.face_recog()        self.video_capture = cv2.VideoCapture(0)    def face_recog(self):        self.video_capture = cv2.VideoCapture(0)        def draw_boundray(img, classifier, scaleFactor, minNeighbors, color, text, clf):            gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)            features = classifier.detectMultiScale(gray_image, scaleFactor, minNeighbors)            coord = []            for (x, y, w, h) in features:                cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 3)                user_name, predict = clf.predict(gray_image[y:y + h, x:x + w])                confidence = int((100 * (1 - predict / 300)))                conn = mysql.connector.connect(username='root', password='pass', host='localhost', database='face_recognition', port=3306)                cursor = conn.cursor()                cursor.execute("select fname from regteach where user_name=" + str(user_name))                n = cursor.fetchone()                n = "+".join(n)                # cursor.execute("select Roll_No from student where Student_ID=" + str(id))                # r = cursor.fetchone()                # r = "+".join(r)                # cursor.execute("select Student_ID from student where Student_ID=" + str(id))                # i = cursor.fetchone()                # i = "+".join(map(str, i))                # attendance_marked = self.is_attendance_marked(n)  # Check if attendance is already marked                if confidence > 78:                    # cv2.putText(img, f"Student_ID:{i}", (x, y - 80), cv2.FONT_HERSHEY_COMPLEX, 0.8, (64, 15, 223), 2)                    cv2.putText(img, f"user_name:{n}", (x, y - 55), cv2.FONT_HERSHEY_COMPLEX, 0.8, (64, 15, 223), 2)                    # cv2.putText(img, f"Roll-No:{r}", (x, y - 30), cv2.FONT_HERSHEY_COMPLEX, 0.8, (64, 15, 223), 2)                    # if attendance_marked:                    #     cv2.putText(img, "Already Marked", (x, y - 5), cv2.FONT_HERSHEY_COMPLEX, 0.8, (255, 0, 0), 2)                    # else:                    #     self.mark_attend(i, r, n)                    self.login()                    return True                else:                    cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 3)                    cv2.putText(img, "Unknown Face", (x, y - 5), cv2.FONT_HERSHEY_COMPLEX, 0.8, (255, 255, 0), 3)                # coord = [x, y, w, y]            return False        # # ==========        # def recognize(img, clf, faceCascade):        #     coord = draw_boundray(img, faceCascade, 1.1, 10, (255, 25, 255), "Face", clf)        #     return img        faceCascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")        clf = cv2.face_LBPHFaceRecognizer.create()        clf.read("clf_admin.xml")        videoCap = cv2.VideoCapture(0)        while True:            ret, img = videoCap.read()            if draw_boundray(img, faceCascade, 1.1, 10, (255, 25, 255), "Face", clf):                break            imgBackground = cv2.imread(r"C:\Users\Bikash\Desktop\Backup\sakib\Python_Test_Project\Images_GUI\facelogin.jpg")            # Resize imgBackground to match the window size (1366x768)            imgBackground = cv2.resize(imgBackground, (1366, 768))            # Calculate the position to center the camera frame            x_offset = (1366 - img.shape[1]) // 2            y_offset = (768 - img.shape[0]) // 2            # Overlay the camera frame in the center            imgBackground[y_offset:y_offset + img.shape[0], x_offset:x_offset + img.shape[1]] = img            cv2.imshow("Face Detector", imgBackground)            if cv2.waitKey(1) == 13:                break        videoCap.release()        cv2.destroyAllWindows()    def login(self):        self.new_window = Toplevel(self.root)        self.app = Face_Recognition_System(self.new_window)        self.video_capture.release()  # Release webcam resource    def on_closing(self):        self.video_capture.release()  # Release webcam resource        self.root.distroy()  # Close the windowif __name__ == "__main__":    root = tk.Tk()    Flogin(root)    root.mainloop()

please solve this:

enter image description here


Viewing all articles
Browse latest Browse all 17447

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>