TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA ĐIÊN – ĐIÊN TƯ –––– ––––
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIÊN – ĐIÊN TƯ ––––🙠🙠🙠🙠🙠–––– BỘ MÔN: XƯ LÝ ẢNH ĐỀ TÀI: Chèn phủ ảnh sử dụng ngôn ngữ Python (Overplay images by Python) GVHD: TS Nguyễn Văn Thái SVTH : Nhóm 40 Lê Khải Hồng 19651007 Phan Văn Vinh 19651018 Đinh Hồ Trung Hiếu 19651005 Tp Hồ Chí Minh, ngày 01 tháng 01 năm 2022 Mục Lục LỜI CẢM ƠN LỜI NÓI ĐẦU CHƯƠNG 1.TỔNG QUAN 1.1 Khái niệm xử lý ảnh 1.2 Lý chn đ ti 1.3 Giao diện mn hình CHƯƠNG : KẾT QUẢ 2.1 Kết đạt 2.2 Code trang giới thiệu 2.3 Code chương trình 2.3.1 Code chèn phủ ảnh 2.3.2 Code chèn phủ webcam ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) LI CM N Trc tiờn em xin gi li cảm ơn sâu sắc đến Thầy Nguyễn Văn Thái v thầy cô giáo Khoa Điện – Điện Tử trang bị kiến thức cho em kiến thức cần thiết v bổ ích để hon thnh báo cáo môn hc Xử lý ảnh Do thời gian v kiến thức hạn chế nên viê Jc thKc hiênJ đ ti khơng tránh khỏi sai sót Em mong nhận sK đóng góp bổ sung thầy v bạn Cuối xin chân thnh cảm ơn tất bạn đóng góp ý kiến v hổ trợ em q trình thKc báo cáo mơn hc ny ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) LI NểI U Ngy vi sK phát triển vũ bão công nghệ thông tin Nó đem lại ứng dụng to lớn nhiu lĩnh vKc khác Công nghệ thông tin trở thnh ngnh công nghiệp mũi nhn nhiu nước giới SK tồn v phát triển doanh nghiệp, quan, tổ chức nh nước Khơng thể thiếu sK trợ giúp máy tính Trong việc quản lý, thu nhận v xử lý thông tin với khối lượng ngy cng lớn, nhiu lúc với phần mm thủ công không đem lại hiệu mong muốn, tốn nhiu công sức v thời gian Đây l phân ngnh khoa hc phát triển năm gần Xử lý ảnh gồm lĩnh vKc chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh v truy vấn ảnh SK phát triển xử lý ảnh đem lại nhiu lợi ích cho sống người Ngy xử lý ảnh áp dụng rộng rãi đời sống như: photoshop, nén ảnh, nén video, nhận dạng biển số xe, nhận dạng khuôn mặt, nhận dạng chữ vit, x lý nh thiờn vn, nh y t, ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) CHNG : TNG QUAN 1.1 Khỏi nim x lý ảnh Xử lý ảnh l lĩnh vKc mang tính khoa hc v cơng nghệ Nó l ngnh khoa hc mẻ so với nhiu ngnh khoa hc khác tốc độ phát triển nhanh, kích thích trung tâm nghiên cứu, ứng dụng, đặc biệt l máy tính chun dụng riêng cho Xử lý ảnh đưa vo giảng dạy bậc đại hc nước ta khoảng chục năm Nó l môn hc liên quan đến nhiu lĩnh vKc v cần nhiu kiến thức sở khác Đầu tiên phải kể đến xử lý tín hiệu số l mơn hc cho xử lý tín hiệu chung, khái niệm v tích chập, biến đổi Fourier, biến đổi Laplace, lc hữu hạn… Thứ hai, công cụ tốn Đại số tuyến tính, xác suất, thống kê Một số kiến thứ cần thiết trí tuệ nhân tao, mạng nơron nhân tạo đ cập q trình phân tích v nhận dạng ảnh Các phương pháp xử lý ảnh ứng dụng chính: nâng cao chất lượng ảnh v phân tích ảnh Ứng dụng biết đến l nâng cao chất lượng ảnh báo truyn qua cáp từ Luân đôn đến New York từ năm 1920 Vấn đ nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng v độ phân giải ảnh Việc nâng cao chất lượng ảnh phát triển vo khoảng năm 1955 Điu ny giải thích sau chiến thứ hai, máy tính phát triển nhanh tạo điu kiện cho trình xử lý ảnh số thuận lợi Năm 1964, máy tính có khả xử lý v nâng cao chất lượng ảnh từ mặt trăng v vệ tinh Ranger Mỹ bao gồm: lm đường biên, lưu ảnh Từ năm 1964 đến nay, phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng Các phương pháp tri thức nhân tạo mạng nơ ron nhân tạo, thuật toán xử lý đại v cải tiến, công cụ nén ảnh ngy cng áp dụng rộng rãi v thu nhiu kết khả quan Để dễ tưởng tượng, xét bước cần thiết xử lý ảnh Đầu tiên, ảnh tK nhiên từ giới ngoi thu nhận qua thiết bị thu (như Camera, máy chụp ảnh) Trước đây,ảnh thu qua Camera l ảnh tương tK (loại Camera ống kiểu CCIR) Gần đây, với sK phát triển công nghệ, ảnh mu đen trắng lấy từ Camera, sau chuyển trKc tiếp thnh ảnh số tạo thuận lợi cho xử lý (Máy ảnh số l thí dụ gần gũi) Mặt khác, ảnh tiếp nhận từ vệ tinh;có th quột t nh chp bng mỏy quột nh ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) 1.2 Lý chn ti 1.3 Giao din mn hình 2.1 Kết đạt được: CHƯƠNG KẾT QU 2.1.1 Chốn ph logo vo hỡnh nh ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) 2.1.2 Chốn ph logo vo Webcam mỏy tớnh ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) 2.2 Code trang giới thiệu from tkinter import * from tkinter import Label, Tk , Button from PIL import Image,ImageTk root = Tk() root.title('Gioi Thieu') root.geometry("1300x1000") root.iconbitmap('logo1.ico') load = Image.open('giaodien.png') render= ImageTk.PhotoImage(load) img=Label(root,image=render) img.place(x=0,y=0) root.mainloop() 2.3 Code chương trình import cvzone import cv2 from tkinter import * from tkinter import Label, Tk , Button from PIL import Image,ImageTk def Logo(): imgBack = cv2.imread("lena_color.jpg") imgFront = cv2.imread("logo1.png", cv2.IMREAD_UNCHANGED) imgFront = cv2.resize(imgFront, (0, 0), None, 0.75, 0.75) hf, wf, cf = imgFront.shape hb, wb, cb = imgBack.shape imgResult = cvzone.overlayPNG(imgBack, imgFront, [0, hb-hf]) cv2.imshow("Image", imgResult) cv2.waitKey(0) def Webcam(): cap = cv2.VideoCapture(0) success, img = cap.read() imgFront = cv2.imread("logo1.png", cv2.IMREAD_UNCHANGED) imgFront = cv2.resize(imgFront, (0, 0), None, 0.75, 0.75) hf, wf, cf = imgFront.shape hb, wb, cb = img.shape fpsReader = cvzone.FPS() while True: success, img = cap.read() ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) imgResult = cvzone.overlayPNG(img, imgFront, [0, hb-hf]) _, imgResult = fpsReader.update(imgResult) cv2.imshow("Webcam", imgResult) cv2.waitKey(0) root = Tk() root.title('Gioi Thieu') root.geometry("1300x1000") root.iconbitmap('logo1.ico') load = Image.open('giaodien.png') render= ImageTk.PhotoImage(load) img=Label(root,image=render) img.place(x=0,y=0) c = Button(root, text = "Open2",command=Webcam,pady=10) c.pack(side = RIGHT) b = Button(root, text = "Open1",command=Logo,pady=10) b.pack(side = RIGHT) root.mainloop() 2.3.1 Code chèn phủ ảnh import cvzone import cv2 imgBack = cv2.imread("lena_color.jpg") imgFront = cv2.imread("logo1.png", cv2.IMREAD_UNCHANGED) imgFront = cv2.resize(imgFront, (0, 0), None, 0.75, 0.75) hf, wf, cf = imgFront.shape hb, wb, cb = imgBack.shape imgResult = cvzone.overlayPNG(imgBack, imgFront, [0, hb-hf]) cv2.imshow("Image", imgResult) cv2.waitKey(0) 2.3.2 Code chèn phủ Webcam import cvzone import cv2 cap = cv2.VideoCapture(0) success, img = cap.read() imgFront = cv2.imread("logo1.png", cv2.IMREAD_UNCHANGED) imgFront = cv2.resize(imgFront, (0, 0), None, 0.75, 0.75) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python) ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)ãỏằ.ti.chăn.phỏằĐ.ỏÊnh.sỏằư.dỏằƠng.ngn.ngỏằ.python.(overplay.images.by.python)