1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ Án Cơ Sở 3 Đề Tài Phần Mềm Nhận Diện Khuôn Mặt Trong Công Ty.docx

23 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 3,64 MB

Nội dung

MẪU ĐỒ ÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VIỆT HÀN ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI PHẦN MỀM NHẬN DIỆN KHUÔN MẶT TRONG CÔNG TY LỜI CẢM ƠN NHẬN XÉT (Của cơ quan thực tập, nế[.]

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VIỆT - HÀN ĐỒ ÁN CƠ SỞ ĐỀ TÀI: PHẦN MỀM NHẬN DIỆN KHUÔN MẶT TRONG CÔNG TY LỜI CẢM ƠN Để hoàn thành tốt đề tài chúng em xin cảm ơn tới quý thầy cô Trường Đại học Công nghệ thông tin truyền thông Việt – Hàn tạo điều kiện cho nhóm chúng em NHẬN nghiên cứu hoàn thành đề tài Tiếp XÉT đến, chúng em xin chân trọng cảm ơn (Của quan thực tập, có) TS.Nguyễn Hà Huy Cường đã16, tậnxếp tìnhsau giúp đỡ,Lời chỉcảm bảoơn hướng dẫn chúng em Bold, size trang suốt trình thực đề tài size 13……………………………… Vì thời gian lực cịn có hạn chế nên khơng thể tránh khỏi sai sót ……………………………………………………………………………………… ……………………………………………………………………………………… thực đề tài nghiên cứu Rất mong góp ý bổ sung ……………………………………………………………………………………… thầy để đề tài chúng em ngày hoàn thiện ……………………………………………………………………………………… ……………………………………………………………………………………… Xin chân thành cảm ơn ! MỤC LỤC Trang Phần I Mở đầu Tổng quan Mục đích Phương pháp Ý nghĩa Phần II 1 Nội dung 1 Chương Nghiên cứu tổng quan 1.1 Các phương pháp 1.1.1 Bài toán nhận dạng mặt người 1.1.2 Tổng quan kiến trúc hệ thống nhận dạng mặt người 1.2 Ưu điểm hạn chế, tồn phương pháp 1.3 Công nghệ thực 1.3.1 Giới thiệu ngơn ngữ lập trình Python 1.3.2 Giới thiệu thư viện OpenCV 1.3.3 Mơi trường lập trình Pycharm 1.3.4 Giới thiệu CSDL DB Browser SQLite 2 2 4 5 Chương Tổng quan Nhận Dạng Khuôn Mặt 2.1 Hệ thống xác định khuôn mặt ứng dụng 2.1.1 Định nghĩa 2.1.2 Một số phương pháp xác định khuôn mặt người 2.1.3 Phương pháp áp dụng đồ án 6 6 Chương Phân tích triển khai xây dựng 3.1 Phân tích thiết kế hệ thống 3.1.1 Phân tích 3.1.2 Phân tích thiết kế 3.2 Cài đặt 3.3 Viết mã nguồn 3.3.1 Lấy liệu sinh viên từ bàn phím webcam 3.3.2 Traning hình ảnh sinh viên lưu trữ 3.3.3 Lớp detector nhận diện khuôn mặt traning Phần III Kết luận DANH MỤC THAM KHẢO 6 10 10 12 14 16 DANH MỤC HÌNH Hình Tổng quan hệ thống phát mặt người ảnh Hình Cấu trúc OpenCV Hình Biểu đồ ngữ cảnh hệ thống Hình Sơ đồ hệ thống Hình Cơ sở liệu Hình Tải Pycharm Hình Tải CSDL Browser Sqlite Hình Truy cập vào Wecam Hình Nhập liệu nhân viên Hình 10 Tranning hình ảnh nhân viên Hình 11 File hình ảnh tạo Hình 12 Giao diện nhận diện Hình 13 Lưu thông tin sinh viên vào database Trang 7 9 10 11 12 13 13 DANH MỤC CỤM TỪ VIẾT TẮT STT Cụm từ Cơ Sở Dữ Liệu Công nghệ thông tin Viết tắt CSDL CNTT PHẦN I : MỞ ĐẦU Tổng quan Hiện nay, với phát triển xã hội, vấn đề án ninh bảo mật yêu cầu khắt khe nơi giới Các hệ thống nhận dạng người đời với độ tin cậy ngày cao Một toán nhận dạng người quan tâm nhận dạng khn mặt Vì nhận dạng khn mặt cách dễ dàng mà người dùng để phân biệt Bên cạnh đó, ngày việc thu thập, xử lý thông tin qua ảnh để phân biệt đối tượng quan tâm ứng dụng rộng rãi Với phương pháp này, thu nhận nhiều thơng từ đối tượng mà không cần tác nhiều đến đối tượng nghiên cứu Mục đích Chúng em xây dựng phần mền nhận diện khn mặt nhằm mục đích áp dụng cho cơng ty nhận diện khn mặt nhân viên cơng ty điểm danh nhân viên để chấm công cho họ Phương pháp - Trước tiên ta phải nêu tốn, phân tích thiết kế hệ thống nhận dạng - Xây dựng hệ thống sử dụng ngôn ngữ Python thư viện OpenCV Hệ thống lấy mẫu khuôn mặt camera, sau hệ thống trích xuất, phân tích khn mặt từ hình ảnh mẫu lấy trước để so sánh hệ thống đưa kết luận có phải đối tượng cho phép hay không Sử dụng công cụ IDLE Python để lập trình - Sau xây dựng sở liệu SQLite để thống kê, hiển thị liệu, sử dụng số cơng cụ để lập trình Sublime Text, PHPStorm, Pycharm … Ý nghĩa Hệ thống nhận dạng khn mặt ứng dụng máy tính tự động xác định nhận dạng người từ hình ảnh kĩ thuật số khung hình video từ nguồn video Một cách để thực điều so sánh đặc điểm khn mặt chọn trước từ hình ảnh sở dự liệu khuôn mặt người Phần : NỘI DUNG Chương : Nghiên cứu tổng quan 1.1 Các phương pháp 1.1.1 Bài tốn nhận dạng mặt người Với phát triển khơng ngừng khoa học công nghệ, đặc biệt thiết bị hỗ trợ công nghệ xử lý ảnh ngày đại sử dụng phổ biến đời sống người làm cho lượng thơng tin thu hình ảnh ngày tăng phổ biến Theo đó, lĩnh vực xử lý ảnh trọng phát triển, ứng dụng rộng rãi đời sống xã hội đại Không dừng lại việc chỉnh sửa, tăng chất lượng hình ảnh mà với công nghệ xử lý ảnh giải tốn nhận dạng chữ viết, nhận dạng dấu vân tay, đặc biệt nhận dạng khuôn mặt… Công nghệ nhân diện khuôn mặt (Facial Recognition Technology) công nghệ sử dụng phổ biến quốc gia phát triển Cơng nghệ có khả xác định xác nhận người từ hình ảnh kỹ thuật số lấy mẫu trước từ khung hình nguồn video khác Đây phương pháp xác minh độc đáo thiết bị dựa vào điểm khác tiêu biểu khuôn mặt người để tiến hành phân biệt người với người khác Do trường hợp song sinh người dùng n tâm máy phát ra.Chính đặc điểm ngồi ứng dụng việc quản lý nhân cịn lựa chọn nhiều đơn vị hoạt động lĩnh vực an ninh, bảo mật Xây dựng dự án phần mềm ứng dụng nhận dạng khuôn mặt nhằm giúp việc quản lý, điểm danh thống kê theo yêu cầu cho việc điểm danh nhân viên , vào cơng ty Ngồi ra, giúp sinh viên tìm hiểu thư viện OpenCV, tìm hiểu phương pháp xác định khuôn mặt (Face Detection) 1.1.2 Tổng quan kiến trúc hệ thống nhận dạng mặt người - Nghiên cứu tổng quan - Phân tích thiết kế hệ thống - Triển khai xây dựng - Kết luận hướng phát triển Hình : Tổng quan hệ thống phát mặt người ảnh Về bản, từ ảnh gốc ban đầu, hệ thống chia ảnh thành vơ số vùng nhỏ để tính đặc trưng, sau đưa đặc trưng Tiếp theo, chương trình xác định vùng khả quan (các ứng viên) khn mặt, cuối ứng viên đưa vào phân loại để tiến hành xác định ứng viên mặt người 1.2 Ưu điểm hạn chế tồn phương pháp Nhận dạng dựa đặc trưng phần tử khuôn mặt: Đây phương pháp nhận dạng khuôn mặt dựa viện xác định đặc trưng hình học chi tiết khn mặt (vị trí, diện tích , hình dạng mắt, mũi, miệng, ) mối quan hệ chúng (khoảng cách hai mắt, khoảng cách hai lông mày, ) Ưu điểm phương pháp gần với cách mà người sử dụng để nhận biết khuôn mặt Hơn với việc xác điịnh đặc tính cà mối quan hệ, phương pháp cho kết tốt trường hợp ảnh có nhiều nhiễu bị nghiêng, bị xoay ánh sáng thay đổi Hạn chế phương pháp cài đặt thuật toán phức tạp việc xác định mối quan hệ đặc tính khó phân biệt Mặt khác, với ảnh kích thước bé đặc tính khó phân biệt Nhận dạng dựa xét tổng thể khuôn mặt: Đây phương pháp xem ảnh có kích thước RxC vector không gian RxC chiều Ta xây dựng khơng gian có chiều nhỏ chi biểu diễn khơng gian có đặc điểm khn mặt khơng bị Trong khơng gian đó, ảnh người tập trung lại nhóm gần cách xa nhóm khác Ưu điểm phương pháp tìm đặc tính tiêu biểu đối tượng cần nhận dạng mà không cần phải xác định thành phần mối quan hệ thành phần Phương pháp sử dụng thuật tốn thực tốt với ảnh có độ phân giải cao, thu gọn ảnh thành ảnh có kích thước nhỏ Có thể kết hợp phương pháp khác mạng Nơ-ron, Support Vector Machine Hạn chế phương pháp phân loại theo chiều phân bố lớn vector Tuy nhiên, chiều phân bố lớn lúc mang lại hiệu qua tốt cho toán nhận dạng đặc biệt phương pháp nhạy với nhiễu 1.3 Công nghệ thực 1.3.1 Giới thiệu ngôn ngữ lập trình Python Python là ngơn ngữ lập trình bậc cao cho mục đích lập trình đa năng, do Guido van Rossum tạo lần đầu mắt vào năm 1991 Python thiết kế với ưu điểm mạnh dễ đọc, dễ học dễ nhớ Python ngơn ngữ có hình thức sáng sủa, cấu trúc rõ ràng, thuận tiện cho người học lập trình Cấu trúc Python cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu. Vào tháng năm 2018, Van Rossum từ chức Leader cộng đồng ngôn ngữ Python sau 30 năm lãnh đạo Python hoàn toàn tạo kiểu động và dùng chế  cấp phát nhớ tự động; tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl Python phát triển dự án mã mở, tổ chức phi lợi nhuận Python Software Foundation quản lý 1.3.2 Giới thiệu thư viện OpenCV OpenCV thư viện mã nguồn mở intel thị giác máy tính Nó cung cấp mã nguồn bao gồm hàng trăm hàm, lớp dựa thuật toán xử lý ảnh Computer vision dùng ngôn ngữ C/C++ Open CV thể đa dạng trí tuệ nhân tạo Được ứng dụng nhiều tốn nhận dạng mặt, dị tìm mặt, phát mặt, lọc Kalman, … Cấu trúc tổng quan OpenCV bao gồm phần phần hình vẽ Hình : Cấu trúc OpenCV Phần CV bao gồm thư viện xử lý ảnh giải thuật thị giác máy tính ML thư viện thuật toán học máy, bao gồm nhiều phân cụm phân loại thống kê HighGUI chứa đựng thủ tục vào ra, chức lưu trữ đọc file ảnh video Phần thứ 4, Cxcore chứa đựng cấu trúc liệu ( ví dụ cấu trúc XML, liệu …) Phần cuối CvAux, phần bao gồm thư viện cho việc phát hiện, theo dõi nhận dạng đối tượng (khn mặt, mắt …) 1.3.3 Mơi trường lập trình Pycharm - Phần mềm PyCharm cung cấp công cụ hoàn chỉnh cho nhà phát triển Python chuyên nghiệp - PyCharm xây dựng xung quanh trình soạn thảo hiểu mã sâu sắc, trình sửa lỗi cho nhìn rõ ràng hoạt động mã PyCharm cung cấp khả tích hợp với cơng cụ cộng tác hệ thống kiểm soát phiên tracker Trình biên tập chuyên nghiệp mở rộng yếu tố cần thiết cách tích hợp liền mạch với khuôn khổ web, công cụ JavaScript, ảo hóa hỗ trợ containerization 1.3.4 Giời thiệu CSDL DB Browser Sqlite - SQLite là hệ quản trị sở liệu quan hệ, khác với hệ quản trị CSDL khác khơng cần client–server database engine (một dịch vụ, ứng dụng cài đặt đầy đủ thơng qua kết nối, tương tác với CSDL), nhúng vào nhiều chương trình khác nhau, từ destop, mobile đến website Hầu hết ngơn ngữ lập trình có thư viện hỗ trợ kết nối, truy vấn đến SQLite như: PHP C, Java, C#, JavaScript Nó nhúng vào trình duyệt, vào hệ thống nhúng, hệ điều hành như Android, IOS  nhúng mặc định - Vì SQLite khơng cần client–server database engine nên hiểu file CSDL tích hợp thứ, sử dụng khơng cần phải cài đặt thêm thứ Chương Tổng quan Nhận Dạng khuôn mặt 2.1 Hệ thống xác định khuôn mặt ứng dụng 2.1.1 Định nghĩa Hệ thống nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác định nhận dạng người từ bức hình ảnh kỹ thuật số hoặc khung hình video từ nguồn video Một cách để thực điều so sánh các đặc điểm khn mặt chọn trước từ hình ảnh một cơ sở liệu về khuôn mặt Hệ thống thường sử dụng các hệ thống an ninh và so sánh với dạng sinh trắc học khác hệ thống nhận dạng vân tay hay tròng mắt 2.1.2 Một số phương pháp xác định khn mặt người Hiện có hai phương pháp nhận diện khuôn mặt sử dụng rộng rãi là: - Nhận dạng dựa đặc trưng phần tử khuôn mặt (Feature based face recognition) - Nhận dạng dựa xét tổng thể khuôn mặt (Appearance based face recognition) Ngồi cịn có số phương pháp loại nhận dạng sử dụng mơ hình khuôn mặt: - Nhận dạng 2D: Elastics Bunch Graph, Active Appearance Model - Nhận dạng 3D: 3D Morphable Model 2.1.3 Phương pháp áp dụng đồ án Vì kết nghiên cứu cuối phần mềm áp dụng vào thực tế với yêu cầu độ xác cao, khả thích ứng linh hoạt, hoạt động ổn định môi trường thực tế hoạt động với camera với độ phân giải thấp Nên nhóm định chọn phương pháp nhận dạng dựa đặc trưng phần tử khuôn mặt (Feature based face recognition) Chương Phân tích triển khai xây dựng 3.1 Phân tích thiết kế hệ thống 3.1.1 Phân tích Nhiệm vụ chương trình dị tìm khn mặt từ ảnh, file video từ webcam, sau lưu khuôn mặt vào csdl để phục vụ cho mục đích khác (sẽ phát triển sau) Hình : Biểu đồ ngữ cảnh hệ thống Như chức chương trình bao gồm:  Kết nối đến webcam, đọc file ảnh video  Phát nhiều khuôn mặt có ảnh, video, webcam  Lưu ảnh khuôn mặt phát vào sở liệu  Nhận diện khuôn mặt thay đổi trạng thái điểm danh 3.1.2 Phân tích thiết kê  Thiết kế hệ thống: Với chức trên, chương trình chia thành thành phần chính: Phần xử lý đầu vào, phần phát khuôn mặt phần xử lý đầu Lấy đặc trưng huấn luyện nhận dạng Hình : Sơ đồ hệ thống a Xử lý đầu vào: Chương trình nhận đầu vào file ảnh, video webcam, nhiên, việc phát khuôn mặt thực ảnh, đó, với đầu vào webcam hay file video, ta phải chuyển thành ảnh tĩnh xử lý ảnh tĩnh Sau có ảnh đầu vào chuyển ảnh cho giai đoạn xử lý tiếp theo, phát khn mặt có ảnh b Phát khn mặt: Phần xử lý nghiệp vụ hệ thống Sau có ảnh truyền vào, hệ thống thực chức phát khn mặt có ảnh Việc phát khuôn mặt thực nhanh thuật tốn adaboost thơng qua hàm cvHaarDetectObjects() OpenCV Hàm thực việc phát đối tượng dựa đặc trưng haar-like, cụ thể nhờ vào Cascade truyền vào cho hàm Bộ Cascade xây dựng theo dạng (tree-node) huấn luyện từ trước Việc huấn luyện Cascade thực từ liệu thu thập để phục vụ cho q trình nhận dạng Ví dụ, muốn nhận dạng người A, ta thu thập ảnh khuôn mặt người A với nhiều tư thế, góc chụp điều kiện chụp khác nhau, sau cho nhận dạng học theo thuật toán Cascade training Sau training xong, hệ thông lưu lại thành file có yml, bao gồm nhiều đặc điểm, nhiều tư người dùng, giúp hệ thống nhận diện c Xử lý đầu ra: Khuôn mặt sau phát tách khỏi ảnh lưu dạng ảnh bitmap với phần mở rộng *.jpg Đối với đầu vào file ảnh, liệu đầu file ảnh có lưu vị trí khn mặt phát ảnh, đồng thời tách riêng khuôn mặt lưu vào sở liệu Đối với đầu vào file video webcam Các khuôn mặt tách lưu lại thành file ảnh riêng rẽ, đánh số thứ tự theo tên file video Ví dụ file video test.avi ảnh khn mặt phát đánh số theo thứ tự sau: test.avi_1.jpg, test.avi_2.jpg …  Thiết kế sở liệu: Lưu trữ sở liệu phần quan trọng ứng dụng Việc xây dựng, tổ chức sở liệu ảnh hướng lớn đến tốc độ chương trình Do tơi xây dựng quản sở liệu hệ quản trị sở liệu SQL Lite, hệ quản trị sở liệu mạnh, đáp ứng nhiều yêu cầu quản lý sở liệu doanh nghiệp lớn, đặc biệt ngân hàng hay kho bạc Tuy tại, chương trình dừng lại mức phát khuôn mặt ảnh, việc xây dựng sở liệu tốt tiền đề để phát triển chương trình thành ứng dụng lớn sau Hệ thống cần lưu trữ liệu: Ảnh khuôn mặt sau phát webcam Như thông tin sở liệu bao gồm thực thể sau:  ID: Mã ảnh, kiểu Integer, khóa có ràng buộc tự tăng  Name: Tên sinh viên, kiểu liệu text (255) Hình : Cơ sở liệu 3.2 Cài đặt a Cài đặt Pycharm Hình : Tải Pycharm b Cài đặt CSDL DB Browser Sqlite Hình : Tải CSDL Browser Sqlite c Cài thư viện OpenCV - Nhập câu lệnh : pip3 install opencv-python vào pycharm 3.3 Viết mã nguồn 10 3.3.1 Lấy liệu nhân viên từ bàn phím webcam a Truy cập vào webcam import cv2 import numpy as np face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)#chuyển ảnh sáng COLOR_BGR2GRAY faces = face_cascade.detectMultiScale(gray)#nhận diện khuân mặt webcame for(x, y, w, h) in faces: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 225), 2)#vẽ hình vng webcame độ dài hình vng cv2.imshow('DECTECTING FACE', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()#giải phóng nhớ Ta truy cập vào webcame để lấy hình ảnh nhân viên chụp lại để bỏ vào thư mục dataset 11 Hình : Truy cập vào Wecam b Lấy liệu nhân viên từ bàn phím import cv2 import numpy as np import sqlite3 import os #đoạn a def insertOrUpdate(id, name): conn = sqlite3.connect(r'E:\people.db') query = "SELECT * FROM people WHERE ID="+str(id) cusror = conn.execute(query) isRecordExit = for row in cusror: isRecordExit = if isRecordExit == 0: query = "INSERT INTO people(ID, Name) VALUES("+str(id) + ", '"+str(name) + "')" else: query = "UPDATE people SET Name='"+str(name)+"' WHERE ID="+str(id) conn.execute(query) conn.commit() conn.close() #đoạn b #load thu vien mặt định khuân mặt face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") cap = cv2.VideoCapture(0) #insert db id = input("NHập ID: ") name = input("Nhập tên: ") insertOrUpdate(id, name) sampleNum = #lấy liệu từu cammerra while True: ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) for(x, y, w, h) in faces: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) #tạo foder lưu hình ảnh cắt if not os.path.exists('dataSet'): #kiểm tra thư mục dataset chưa có tạo os.makedirs('dataSet') sampleNum += cv2.imwrite('dataSet/User.'+str(id)+'.'+str(sampleNum)+'.jpg', gray[y: y+h, x: x+w]) cv2.imshow('frame', frame) cv2.waitKey(1) if sampleNum > 100: #tự chụp 100 ảnh break cap.release() cv2.destroyAllWindows() Nếu có ảnh thư mục dataset train cịn chưa có ảnh máy bắt người dùng nhập ID,NAME để lưu sở liệu 12 Hình : Nhập liệu nhân viên 3.3.2 Tranning hình ảnh nhân viên lưu trữ a Tranning hình ảnh nhân viên import cv2 import numpy as np #thư viện dạng giống list truy xuất nhanh import os from PIL import Image recofnizer = cv2.face.LBPHFaceRecognizer_create()# thư viện mặc định dể train path = 'dataSet'#thư mục ảnh def getImageWithID(path): imagePaths = [os.path.join(path, f) for f in os.listdir(path)]#truy cập vào tất file dataset faces = []#lưu liệu ảnh IDs = []#lưu list id for imagePath in imagePaths: faceImg = Image.open(imagePath).convert('L')#mở narh fineimg faceNP = np.array(faceImg, 'uint8')#chuyển kiểu array để train print(faceNP)#in ma trận ảnh Id = int(imagePath.split('\\')[1].split('.')[1]) faces.append(faceNP) IDs.append(Id) cv2.imshow('training', faceNP) cv2.waitKey(10) return faces, IDs faces, IDs = getImageWithID(path recofnizer.train(faces, np.array(IDs)) ) if not os.path.exists('Recognizer'): # ktra ko có thư mục Recognizer thi tạo mà thư Recognizer thư mục máy học os.makedirs('Recognizer') recofnizer.save('Recognizer/TrainningData.yml') cv2.destroyAllWindows() 13 Hình 10 : Tranning hình ảnh nhân viên b Nơi lưu trữ Hình 11 : File hình ảnh tạo 3.3.3 Lớp detector nhận diên khuôn mặt trarning import cv2 import numpy as np import os import sqlite3 from PIL import Image face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") recofnizer = cv2.face.LBPHFaceRecognizer_create() recofnizer.read(r'D:\untitled\test\face_recognitions-master\Recognizer\TrainningData.yml') def getProfile(id): conn = sqlite3.connect('E:\people.db') query = query = "SELECT * FROM people WHERE ID="+str(id) cusror = conn.execute(query) profile = None for row in cusror: profile = row 14 conn.close() return profile cap = cv2.VideoCapture(0) fontface = cv2.FONT_HERSHEY_SIMPLEX while True: ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray) for (x, y, w, h) in faces: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 225, 0), 2) roi_gray = gray[y:y+h, x:x+w]# cắt ảnh sáng #khi cắt xong phải để máy nhận diện xem người id, confidence = recofnizer.predict(roi_gray)#để nhận diện phải có id, độ xác if confidence

Ngày đăng: 14/06/2023, 11:43

w