0

HỆ THỐNG THEO dõi CHUYỂN ĐỘNG cầu THỦ BÓNG rổ, có CODE

33 3 0
  • HỆ THỐNG THEO dõi CHUYỂN ĐỘNG cầu THỦ BÓNG rổ, có CODE

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

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 14/05/2022, 21:02

HỆ THỐNG THEO DÕI CHUYỂN ĐỘNG CẦU THỦ BÓNG RỔ CÓ CODE MỤC LỤC LỜI CẢM ƠN I DANH MỤC CÁC HÌNH VẼ V DANH MỤC CÁC TỪ VIẾT TẮT VI CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu .2 1.4 Phạm vi nghiên cứu 1.5 Dự kiến kết CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu phần mềm Python 2.2 Công cụ OpenCV 2.3 Xử lý ảnh 2.3.1 Tổng quan xử lý ảnh 2.3.2 Xử lý ảnh OpenCV Python .5 2.4 Tổng quan Matlab 2.5 Tổng quan Object Tracking .6 2.5.1 Khái niệm 2.5.2 Phân loại 2.5.3 Phương pháp Object Tracking OpenCV .8 CHƯƠNG GIẢI THUẬT VÀ ĐIỀU KHIỂN 10 3.1 Nguyên lí làm việc hệ thống 10 3.2 Phương pháp giải thuật 10 3.2.1 Nhận diện sân đấu: .11 3.2.2 Nhận diện người di chuyển HOG ( Histogram of oriented Gradients) .11 3.2.3 Phát phân loại dựa màu sắc 13 3.2.4 Theo dõi .15 3.2.5 Xây dựng sơ đồ trận đấu: .17 3.3 Phân tích kết 18 CHƯƠNG THỰC NGHIỆM 22 4.1 Các bước tiến hành thực nghiệm 22 4.2 Kết thực nghiệm 22 4.2.1 Kết Python .22 4.2.2 Kết Matlab .23 CHƯƠNG KẾT LUẬN 24 5.1 Kết luận 24 5.2 Hướng phát triển 24 TÀI LIỆU THAM KHẢO 25 PHỤ LỤC 1: CHƯƠNG TRÌNH PYTHON 26 PHỤ LỤC 2: CHƯƠNG TRÌNH MATLAB 27 DANH MỤC CÁC HÌNH VẼ HÌNH 2.1: VÍ DỤ VỀ VIỆC THEO DÕI DUY NHẤT MỘT ĐỐI TƯỢNG HÌNH 2.2: VÍ DỤ VỀ VIỆC THEO DÕI NHIỀU ĐỐI TƯỢNG HÌNH 3.1: SƠ ĐỒ HỆ THỐNG 10 HÌNH 3.2: HÌNH ẢNH PHÁT HIỆN ĐƯỜNG BIÊN CỦA HỆ THỐNG 11 HÌNH 3.3: PHÁT HIỆN CẦU THỦ BẰNG OPENCV VÀ HOG 13 HÌNH 3.4: RGB VÀ HSV 14 HÌNH 3.5: PHÁT HIỆN CẦU THỦ BẰNG HOG 15 HÌNH 3.6: CÁC TÌNH HUỐNG KHÁC NHAU CĨ THỂ XẢY RA TRONG TRẬN ĐẤU 17 HÌNH 3.7: SO SÁNH GIỮA NHỮNG NGƯỜI CHƠI ĐƯỢC PHÁT HIỆN VÀ HÌNH CHIẾU TRONG SÂN 18 HÌNH 3.8: BẢN ĐỒ NHIỆT VỊ TRÍ CẦU THỦ CỦA HAI ĐỘI VÀNG VÀ TRẮNG 18 HÌNH 3.9: BẢN ĐỒ NHIỆT VỊ TRÍ CẦU THỦ CỦA ĐỘI VÀNG VÀ ĐỘI ĐỎ 19 HÌNH 3.10: VỊ TRÍ CẦU THỦ TỪ ĐỘI MICHIGAN, MỖI THÀNH VIÊN LÀ MỘT MÀU KHÁC NHAU 20 HÌNH 3.11: CHÚNG TA CÓ THỂ THẤY THÀNH VIÊN CỦA ĐỘI MICHIGAN ĐƯỢC THEO DÕI THEO PHÂN ĐOẠN MÀU TRONG ĐOẠN VIDEO 20 HÌNH 4.1: GIAO DIỆN CỦA TRẬN ĐẤU BĨNG RỔ .22 HÌNH 4.2: THEO DÕI CẦU THỦ BẰNG CÁC KHUNG HÌNH .23 HÌNH 4.3: VỊ TRÍ CẦU THỦ TRÊN SÂN BĨNG RỔ THEO MƠ PHỎNG 2D .23 DANH MỤC CÁC TỪ VIẾT TẮT MATLAB Matrix Laboratory ID Identification SOT Single Object Tracking MOT Mutliple Object Tracking HOG Histogram of Oriented Gradients SVM Support vector machine Trang 1/28 CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu đề tài - Giới thiệu: Việc tự động theo dõi nhận diện người chơi môn thể thao đồng đội ngày trọng thời gian gần Khi mà lợi nhuận từ đài truyền hình, sân vận động tăng lên đáng kể, đội bóng cần chạy đua thành tích để thu hút cổ động viên Qua việc thu thập số liệu thống kê vận động viên giúp ích nhiều đội, chẳng hạn quảng đường chạy trận đấu, cung cấp thông tin sức khỏe người chơi Hơn nữa, việc nhận diện người chơi theo thời gian thực có giá trị lớn việc xác định cự ly đội hình, chiến thuật đối thủ, đồng thời đưa dự đoạn thông tin chi tiết khả chiến thắng số trận đấu Qua đó, đề tài thu thập thông tin liên quan đến vị trí cầu thủ sân, liệu liên quan đến phong cách chơi đội Những thơng tin quan trọng chiến thắng trận đấu, huấn luyện viên tận dụng phân tích triệt để - Chức năng: Nhận diện cầu thủ bóng rổ di chuyển sân thời gian thực tế chuyển liệu qua mơ 2D - Ứng dụng: Có thể sử dụng mơ hình áp dụng cho trận đấu bóng rổ mơn thể thao tương tự bóng chuyền, bóng đá, cầu lơng, Hoặc phát triển để nhận diện vật thể khác ô tô, xe máy, 1.2 Mục đích nghiên cứu - Dựa kiến thức học xử lý ảnh số, thực hành mô Matlab Tiến hành nghiên cứu cách viết lập trình ngơn ngữ Python dựa Trang 2/28 tảng ngôn ngữ C kết hợp với Matlab hệ thống điều khiển mong đợi - Đồng thời tìm hiểu thêm kiến thức Python để phát triển cho đường học tập làm việc sau 1.3 Đối tượng nghiên cứu - Matlab & Simulink - Python & Pycharm - Video trận đấu bóng rổ hai đội giải NBA Mỹ 1.4 Phạm vi nghiên cứu Ở góc độ đồ án chuyên ngành, hạn chế mặt thời gian, kinh phí ảnh hưởng dịch bệnh nên làm mô hình thực tế phạm vi nghiên cứu video từ nguồn mạng Internet 1.5 Dự kiến kết Hệ thống dựa video có sẵn để chạy chương trình mơ Python Matlab kết mong muốn Trang 3/28 CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu phần mềm Python - Giới thiệu: Python ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, tạo Guido van Rossum Nó dễ dàng để tìm hiểu lên ngơn ngữ lập trình nhập mơn tốt cho người lần đầu tiếp xúc với ngơn ngữ lập trình Python hoàn toàn tạo kiểu động sử dụng chế cấp phát nhớ tự động Python có cấu trúc liệu cấp cao mạnh mẽ cách tiếp cận đơn giản hiệu lập trình hướng đối tượng Cú pháp lệnh Python điểm cộng vơ lớn rõ ràng, dễ hiểu cách gõ linh động làm cho nhanh chóng trở thành ngôn ngữ lý tưởng để viết script phát triển ứng dụng nhiều lĩnh vực, hầu hết tảng - Chức năng: + Các kiểu liệu cấp cao Builtin: chuỗi, danh sách, từ điển, v.v + Các cấu trúc điều khiển thông thường: if, ifelse, ifelifelse, while, cộng với trình vịng lặp thu thập mạnh mẽ (for) + Nhiều cấp độ cấu tổ chức: chức năng, lớp, mơ-đun gói Những điều hỗ trợ việc tổ chức mã Một ví dụ tuyệt vời lớn thư viện chuẩn Python + Biên dịch nhanh chóng sang mã byte Mã nguồn biên dịch thành mã byte mà không cần bước biên dịch riêng biệt Các mô-đun mã nguồn "biên dịch trước" thành tệp mã byte + Python hướng đối tượng cung cấp cách quán để sử dụng đối tượng: thứ đối tượng Và, Python, dễ dàng để triển khai kiểu đối tượng (được gọi lớp lập trình hướng đối tượng) + Các phần mở rộng C C ++ Các mô-đun mở rộng loại phần mở rộng viết tay Ngồi cịn có công cụ hỗ trợ việc này, chẳng hạn SWIG, nhâm nhi, Pyrex Trang 4/28 + Jython phiên Python "chơi tốt với" Java 2.2 Công cụ OpenCV - Giới thiệu: + Project OpenCV Intel năm 1999 Gary Bradsky OpenCV viết tắt cho Open Source Computer Vision Library OpenCV thư viện nguồn mở hàng đầu cho Computer Vision Machine Learning, có thêm tính tăng tốc GPU cho hoạt động theo real-time + OpenCV phát hành theo giấy phép BSD (Dành riêng cho loại mã nguồn mở nhằm cho phép sử dụng miễn phí hạn chế tối đa rào cản luật lệ thông thường Giấy phép BSD giấy phép đơn giản yêu cầu tất mã cấp phép theo giấy phép BSD phân phối lại định dạng mã nguồn.), miễn phí cho học tập sử dụng với mục đích thương mại Nó có giao diện C++, C, Python Java hỗ trợ Windows, Linux, Mac OS, iOS Android OpenCV thiết kế để hỗ trợ hiệu tính tốn chun dùng cho ứng dụng real-time (thời gian thực) Nếu viết C/C++ tối ưu, thư viện tận dụng xử lý đa lõi (multi-core processing) - Tính bật OpenCV: + Xử lý hiển thị Hình ảnh/ Video/ I/O (core, imgproc, highgui) + Phát vật thể (objdetect, features2d, nonfree) + Geometry-based monocular stereo computer vision (calib3d, stitching, videostab) + Computational photography (photo, video, superres) + Machine learning & clustering (ml, flann) + CUDA acceleration (gpu) Trang 5/28 2.3 Xử lý ảnh 2.3.1 Tổng quan xử lý ảnh Xử lý ảnh phân ngành xử lý số tín hiệu với tín hiệu xử lý ảnh Đây phân ngành khoa học phát triển năm gần Xử lý ảnh gồm lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh truy vấn ảnh Sự phát triển xử lý ảnh đem lại nhiều lợi ích cho sống người 2.3.2 Xử lý ảnh OpenCV Python - Cài đặt môi trường OpenCV kho quản lý gói Python OpenCVPython - Hiển thị hình ảnh từ tệp tin tạo lên cửa sổ giao diện hàm gọi Python - Lựa chọn kích thích ảnh thị theo chiều dài, chiều rộng chiều cao - Sau lựa chọn màu cho ảnh theo mong muốn Giá trị thành phần màu có giá trị từ đến 255 2.4 Tổng quan Matlab - Giới thiệu: + Matlab tên viết tắt Matrix laboratory phần mềm MathWorks thiết kế để cung cấp mơi trường lập trình tính tốn kỹ thuật số + Matlab cho phép bạn sử dụng ma trận để tính tốn số, vẽ thông tin cho hàm đồ thị, chạy thuật toán, tạo giao diện người dùng liên kết với chương trình máy tính viết nhiều ngơn ngữ lập trình khác - Tính chính: + Matlab ngơn ngữ lập trình cao cấp để tính tốn số phát triển ứng dụng + Cung cấp môi trường tương tác để điều tra, thiết kế giải vấn đề Trang 14/28 Hình 3-4 RGB HSV - Việc phát màu đóng vai trị quan trọng lưu máy dò HOG Khi trò chơi tiếp tục, số người chơi bị cản trở phần người chơi khác đơn giản họ khơng máy dị HOG phát khung hình định Trong tình khác này, dị dựa màu sắc gọi để tìm người chơi bị tích cách thực phát vùng lân cận nhỏ hộp tương ứng từ khung trước Điều hoạt động tốt chúng tơi sử dụng video có tốc độ 24 khung hình / giây, đó, người chơi dự kiến xung quanh nơi khung hình trước Các điều kiện khác việc thêm người chơi bỏ người chơi trình phát thực thuật toán theo dõi thảo luận phần phụ Hình 3-5 Phát cầu thủ HOG Trang 15/28 3.2.4 Theo dõi - Sau phát hiện, mục tiêu thiết lập định vị khung hình người chơi để hiểu tổng thể trận đấu Do đó, thuật toán theo dõi theo dõi chuyển động người chơi Thuật tốn sử dụng thơng tin từ khung trước để theo dõi điều kiện ban đầu Chúng tơi xử lý tình sau - Tình 1: Người chơi nhận diện nhiều khung hình liên tiếp: Trong trường hợp này, người chơi phát dò HOG phân loại màu sắc khung hình quay lại Vì khung hình chụp tốc độ 24 khung hình / giây nên vị trí người chơi từ khung hình sang khung hình có liên quan cao Do đó, hộp phát có độ chồng chéo cao Trong trường hợp này, vị trí người chơi cập nhật với vị trí mới, vị trí lưu - Tình 2: Ước tính khu vực lân cận: Trong tình này, người chơi khơng phát máy dị HoG, tìm thấy máy dị màu khu vực lân cận Với kịch khung hình này, HOG không phát người chơi khung hình Người chơi chuyển động bị mờ, cúi người theo cách khơng thể phát máy dò HOG khung hình cụ thể Một người chơi phát khung trước khơng có mối tương quan với người chơi khung Chúng tơi tìm kiếm trình phát bị phạm vi 20 pixel giới hạn xung quanh vị trí trình phát khung trước Nếu máy dị màu xác định cầu thủ có màu áo này, khớp cầu thủ với vị trí Nếu nhiều người chơi tìm thấy hộp này, khớp người chơi với vị trí trước gần Do đó, việc phát HOG cho khung hình khơng dẫn đến việc định vị trình phát - Tình & 4: Thêm Bỏ: Hai tình tiếp theo, khác nhau, có cách giải tương tự: Trang 16/28 + Tình 3: Một người chơi ban đầu không phát khung hình đầu tiên, tìm thấy sau Trong trường hợp này, người chơi khơng phát khung hình Máy dị HOG ban đầu khơng thể tìm thấy người chơi Tình gọi phần bổ sung Trong khung hình ban đầu, cầu thủ phát sân Hình 3-6a; nhiên, khung hình sau đó, cầu thủ thứ 10 thêm vào Hình 3-6b + Tình 4: Một người chơi xác định trước phương pháp HOG phận loại màu sắc bị loại bỏ Điều xảy người chơi đội hợp với phân loại màu sắc phân biệt họ người chơi riêng biệt Tình coi sụt giảm Ví dụ khung đầu tiên, người ta phân biệt năm cầu thủ đội vàng Hình 3-6a Tuy nhiên, người chơi hội tụ nên có khung màu vàng phân biệt Hình 3-6c Do đó, thơng tin bị Các tình có giải pháp kết hợp, tương quan khoảng cách tối thiểu Trên khung hình, khung vị trí lưu trữ Nếu người chơi bị bỏ rơi, sau khoảng thời gian, phương pháp HoG phát lần Bởi khơng có khung tương quan với từ trước, vị trí khơng thiết lập trước Thuật tốn kiểm tra xem liệu người chơi bị bỏ rơi có tương đối gần với vị trí hay không Khoảng cách cho phép khoảng cách cố định nhân với số khung hình kể từ người chơi bị Nếu người chơi khoảng cách với người chơi bị che trước đó, quay trở lại với vị trí vốn có anh ta, chống lại vấn đề bị ẩn Tuy nhiên, khơng có đứng gần phạm vi anh ta, người chơi thêm vào liệu theo dõi, chống lại vấn đề thêm Thuật toán theo dõi giải tình từ đến cầu thủ tốt Bản thân việc theo dõi phụ thuộc nhiều vào thơng tin phát Vị trí cầu thủ dự bị sân dẫn đến việc dự đốn khoảng cách tối thiểu khơng tốt cầu thủ bị che Với việc người chơi hợp sân, việc giải vấn đề ẩn đặc biệt khó khăn Sự chuyển Trang 17/28 động cầu thủ thay đổi nhanh phức tạp, việc sử dụng chuyển động gốc cầu thủ không phù hợp để khớp vào cầu thủ bị che cho khung hình trước Thuật tốn bị ảnh hưởng dao động máy quay Giải pháp tốt cho vấn đề thêm bớt có nhiều góc nhìn camera ổn định, khơng có sẵn cho chúng tơi từ chương trình phát sóng, khả dụng môi trường chuyên nghiệp chẳng hạn đội NBA Hình 3-6 Các tình khác xảy trận đấu 3.2.5 Xây dựng sơ đồ trận đấu: - Bước cuối liên quan đến dự án vị trí người chơi góc nhìn từ xuống sân Bằng cách có kích thước sân, chúng tơi tìm thấy ma trận raphy đồng 3x3 tính cách sử dụng biến đổi affine Vị trí người chơi sau nhân với phép đồng ma trận chiếu chúng vào sân mơ hình 2D, hiển thị Hình 3-7 Hình 3-7 So sánh người chơi phát hình chiếu sân Trang 18/28 3.3 Phân tích kết - Trong phần này, sử dụng thuật tốn phát triển để phân tích vị trí người chơi trị chơi diễn Ví dụ, Hình 3-8 cho thấy đồ nhiệt định vị cầu thủ trận đấu diễn Vị trí đội tương thích với video thấy đội trắng phịng thủ suốt trận đấu đội vàng vượt qua hàng phịng thủ đội trắng để ném rổ Hình 3-8 Bản đồ nhiệt vị trí cầu thủ hai đội vàng trắng - Một đồ nhiệt tương tự tạo cho trận đấu thứ hai Michigan (được biểu thị màu vàng) Syracuse (được biểu thị màu đỏ), Hình 3-9 Chúng ta thấy phân bố người chơi sân tương thích với phân bố thấy video, tính phát người chơi tính đồng chúng tơi hoạt động để cung cấp cho liệu hữu ích liên quan đến vị trí người chơi sân Trang 19/28 Hình Bản đồ nhiệt vị trí cầu thủ đội vàng đội đỏ - Để xác thực thêm kết theo dõi chúng tôi, chia trận đấu Syracuse Michigan thành hai đội Sau đó, chúng tơi phân tích vị trí cầu thủ từ Michigan, chúng tơi nhận hình ảnh tương thích với Hình 3-10 cho 60 khung hình Trong đó, thấy gắn nhãn xác cho người chơi bên phía đội Michigan Hơn nữa, có chuyển động dường tương thích với chuyển động thể video Hình 3-10 Vị trí cầu thủ từ đội Michigan, thành viên màu khác chuyển động cầu thủ tương thích với video - Tuy nhiên, điều ấn tượng khả hệ thống theo dõi nhận dạng người chơi để nắm bắt chuyển động người chơi Trang 20/28 di chuyển sân, qua nhiều người chơi khác gắn nhãn nhận dạng xác Điều nhận biết qua Hình 3-11 Hình 3-11 Chúng ta thấy thành viên đội Michigan theo dõi theo phân đoạn màu toàn sân đoạn video Trang 21/28 CHƯƠNG THỰC NGHIỆM 4.1 Các bước tiến hành thực nghiệm - Bước 1: Mở video cần mô phỏng, mở phần mềm Matlab mở phần mềm Pycharm - Bước 2: Khởi chạy chương trình Pycharm - Bước 3: Hệ thống trình cầu thủ thi đấu với hai khung màu theo dõi riêng biệt đội - Bước 4: Hệ thống tự kết thúc chạy xong trình theo dõi kết thúc lúc nhấn chữ P - Bước 5: Khởi chạy chương trình Matlab - Bước 6: Hệ thống cho thấy trình cầu thủ hai đội di chuyển qua mặt phẳng 2D mơ lại mặt sân bóng rổ thực tế - Bước 7: Hệ thống kết thúc chạy xong chương trình 4.2 Kết thực nghiệm 4.2.1 Kết Python - Nhận diện cầu thủ video chọn trước qua khung hình Hình 4-1 Giao diện trận đấu bóng rổ Trang 22/28 - Theo dõi cầu thủ khung quy ước trước Hình 4-2 Theo dõi cầu thủ khung hình 4.2.2 Kết Matlab - Sự chuyển động chấm tròn mặt phẳng 2D mơ lại sân đấu bóng rổ Hình 4-3 Vị trí cầu thủ sân bóng rổ theo mô 2D CHƯƠNG KẾT LUẬN Trang 23/28 5.1 Kết luận - Hệ thống đáp ứng yêu cầu mà đề tài đặt - Ưu điểm: + Lập trình dựa ngơn ngữ học C phần mềm Python Matlab + Hệ thống cịn đơn giản áp dụng cho tình khơng q phức tạp + Có thể áp dụng kiến thức học môn xử lý ảnh số để xử lý vài yêu cầu đề tài - Nhược điểm: + Hệ thống chưa hoàn thiện hết yêu cầu đề tài đề + Cịn sai sót q trình theo dõi cầu thủ + Độ trễ khung hình cao 5.2 Hướng phát triển - Hệ thống nâng cấp lên để nhận diện nhiều người - Có thể áp dụng hệ thống cho mơn thể thao khác bóng đá, bóng chuyền, bóng ném - Hệ thống cần phát triển khả nhận diện tăng độ xác theo dõi từ áp dụng theo dõi nhiều khía cạnh sống theo dõi phương tiện giao thông, quản lý hành khách sân bay, TÀI LIỆU THAM KHẢO Trang 24/28 Tiếng Việt https://topdev.vn/blog/opencv-la-gi-hoc-computer-vision-khong-kho/ https://www.codehub.com.vn/Python-Co-Ban Tiếng Anh https://www.pyimagesearch.com/2018/08/06/tracking-multiple-objects-withopencv/ https://github.com/davheld/GOTURN PHỤ LỤC 1: Chương Trình Python import cv2 Trang 25/28 TrDict = { "csrt": cv2.legacy.TrackerCSRT_create, "kcf": cv2.legacy.TrackerKCF_create, } trackers = cv2.legacy.MultiTracker_create() v = cv2.VideoCapture(r'C:\Users\APC\Desktop\game.avi') ret, frame = v.read() k = 10 for i in range(k): cv2.imshow('Frame', frame) bbi = cv2.selectROI('Frame', frame) tracker_i = TrDict['csrt']() trackers.add(tracker_i, frame, bbi) while True: ret, frame = v.read() if not ret: break (success, boxes) = trackers.update(frame) for box in boxes: (x, y, w, h) = [int(a) for a in box] cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 255, 255), 2) cv2.imshow('Frame', frame) key = cv2.waitKey(5) & 0xFF if key == ord('q'): break v.release() cv2.destroyAllWindows() PHỤ LỤC 2: Chương trình Matlab global vidObj video = 'game.avi'; % Basketball game video vidObj = VideoReader(video); Trang 26/28 TRACK = []; TRAIN = train(); for i = 1:vidObj.NumberOfFrames POS = playerDetection(TRAIN,f,courtMask); TRACK = playerTracking(POS,TRACK); [TRACK , topDown{i}] = playerHomography(TRACK); end topDown = imread('court.png'); colors = {'blue','black','yellow','magenta','cyan','blue','black','yellow','magenta','cyan'}; for t = 1:5 for i = 1:length(TRACK(1,t).xH) if i == topDown = insertShape(topDown, 'FilledCircle',[TRACK(1,t).xH(i) TRACK(1,t).yH(i) 6],'Color','green','Opacity',1); elseif i == length(TRACK(1,t).xH) topDown = insertShape(topDown, 'FilledCircle',[TRACK(1,t).xH(i) TRACK(1,t).yH(i) 6],'Color','red','Opacity',1); else topDown = insertShape(topDown, 'FilledCircle',[TRACK(1,t).xH(i) TRACK(1,t).yH(i) 2],'Color',colors{t},'Opacity',1); end end end figure;imshow(topDown); topDown = imread('court.png'); Trang 27/28 for t = 6:10 for i = 1:length(TRACK(1,t).xH) if i == topDown = insertShape(topDown, 'FilledCircle',[TRACK(1,t).xH(i) TRACK(1,t).yH(i) 6],'Color','green','Opacity',1); elseif i == length(TRACK(1,t).xH) topDown = insertShape(topDown, 'FilledCircle',[TRACK(1,t).xH(i) TRACK(1,t).yH(i) 6],'Color','red','Opacity',1); else topDown = insertShape(topDown, 'FilledCircle',[TRACK(1,t).xH(i) TRACK(1,t).yH(i) 2],'Color',colors{t},'Opacity',1); end end end figure;imshow(topDown); writer = VideoWriter('track.avi'); writer.FrameRate = 25; open(writer); for i = 1:length(TRACK(1,1).xH) topDown = imread('court.png'); for ip = 1:5 topDown = insertShape(topDown, 'FilledCircle',[TRACK(1,ip).xH(i) TRACK(1,ip).yH(i) 6],'Color','red','Opacity',1); end for ip = 6:10 topDown = insertShape(topDown, 'FilledCircle',[TRACK(1,ip).xH(i) TRACK(1,ip).yH(i) 6],'Color','blue','Opacity',1); end frames(i) = im2frame(topDown); Trang 28/28 writeVideo(writer, frames(i)); end close(writer); implay((frames)); ... thích với chuyển động thể video Hình 3-10 Vị trí cầu thủ từ đội Michigan, thành viên màu khác chuyển động cầu thủ tương thích với video - Tuy nhiên, điều ấn tượng khả hệ thống theo dõi nhận dạng... diện cầu thủ video chọn trước qua khung hình Hình 4-1 Giao diện trận đấu bóng rổ Trang 22/28 - Theo dõi cầu thủ khung quy ước trước Hình 4-2 Theo dõi cầu thủ khung hình 4.2.2 Kết Matlab - Sự chuyển. .. trình theo dõi cầu thủ + Độ trễ khung hình cao 5.2 Hướng phát triển - Hệ thống nâng cấp lên để nhận diện nhiều người - Có thể áp dụng hệ thống cho môn thể thao khác bóng đá, bóng chuyền, bóng
- Xem thêm -

Xem thêm: HỆ THỐNG THEO dõi CHUYỂN ĐỘNG cầu THỦ BÓNG rổ, có CODE ,