Bối cảnh và vấn đề nghiên cứu
Trong kỷ nguyên công nghệ thông tin và kỹ thuật số phát triển mạnh mẽ, nhu cầu thu nhận, lưu trữ và chia sẻ hình ảnh chất lượng cao ngày càng gia tăng. Kỹ thuật ghép ảnh toàn cảnh (Panorama) đã trở thành một công cụ quan trọng trong nhiếp ảnh, kỹ thuật đồ họa và thị giác máy tính. Ảnh Panorama cho phép kết hợp nhiều bức ảnh chụp góc hẹp riêng lẻ có vùng chồng lấn thành một bức ảnh góc rộng duy nhất, tái hiện không gian toàn cảnh mà một ống kính máy ảnh thông thường không thể ghi lại trong một lần chụp.
Xuất phát từ thực tiễn đó, đề tài "Tìm hiểu về xử lý ảnh và xây dựng chương trình ghép ảnh lớn từ các ảnh nhỏ" được thực hiện nhằm giải quyết bài toán mở rộng trường nhìn thị giác và tự động hóa quy trình ghép nối hình ảnh. Nghiên cứu xác định các ứng dụng thực tiễn của công nghệ này trong nhiều lĩnh vực:
- Du lịch và du lịch ảo: Hỗ trợ người dùng trải nghiệm không gian cảnh quan một cách toàn diện và trực quan.
- Bất động sản: Cung cấp góc nhìn toàn cảnh về không gian kiến trúc, nhà ở cho khách hàng.
- Quảng cáo và tiếp thị: Trưng bày hình ảnh sản phẩm, dịch vụ và địa điểm thương mại sinh động.
- Kỹ thuật đồ họa và thiết kế: Xây dựng các mô phỏng không gian và mô hình 3D trong kiến trúc và nội thất.
Mục tiêu nghiên cứu
Đề tài xác định mục tiêu tổng quát là nghiên cứu cơ sở lý thuyết xử lý ảnh và phát triển công cụ phần mềm ghép nối chuỗi ảnh nhỏ thành ảnh Panorama chất lượng cao. Các mục tiêu cụ thể gồm:
- Phân tích và tự động xác định vị trí, góc quay của các ảnh thành phần để tối ưu hóa quá trình ghép nối.
- Nghiên cứu và áp dụng các thuật toán nhằm giảm thiểu hiện tượng nhiễu, sai lệch hình học và chênh lệch quang học giữa các bức ảnh.
- Thiết kế và cài đặt giao diện người dùng thân thiện, trực quan, hỗ trợ thao tác dễ dàng.
- Tối ưu hóa hiệu năng thuật toán nhằm rút ngắn thời gian xử lý và nâng cao tốc độ ghép ảnh.
- Định hướng tiếp cận các công nghệ tiên tiến như học máy và trí tuệ nhân tạo để cải thiện chất lượng ảnh đầu ra.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Cơ sở lý thuyết xử lý ảnh số, các thuật toán trích xuất đặc trưng cục bộ bất biến (SIFT, SURF), thuật toán phát hiện góc (Harris Corner), ma trận biến đổi phối cảnh Homography, thuật toán ước lượng RANSAC và kỹ thuật ghép ảnh Panorama.
- Phạm vi nghiên cứu: Nghiên cứu và triển khai thuật toán ghép chuỗi ảnh 2D tĩnh có vùng chồng lắp thành ảnh toàn cảnh trên môi trường ngôn ngữ Python với sự hỗ trợ của thư viện OpenCV và giao diện Tkinter.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và khái niệm cốt lõi
Đề tài xây dựng trên nền tảng lý thuyết xử lý ảnh số kinh điển kết hợp với các kỹ thuật thị giác máy tính hiện đại:
- Tổng quan hệ thống xử lý ảnh: Hệ thống bao gồm chuỗi quy trình chuẩn: Thu nhận ảnh (Image Acquisition) $\rightarrow$ Tiền xử lý hình thái học (Morphological Processing) $\rightarrow$ Nâng cao chất lượng ảnh (Image Enhancement) $\rightarrow$ Khôi phục ảnh (Image Restoration) $\rightarrow$ Phân đoạn ảnh (Image Segmentation) $\rightarrow$ Biểu diễn và mô tả (Representation & Description) $\rightarrow$ Nhận dạng đối tượng (Object Recognition) $\rightarrow$ Nén ảnh (Image Compression) và Xử lý ảnh màu (Colour Image Processing).
- Khái niệm ảnh Panorama: Bức ảnh toàn cảnh có góc nhìn mở rộng, trường nhìn đạt tối thiểu $110^\circ$ (tương đương hoặc lớn hơn tầm nhìn của mắt người). Tỷ lệ khung hình tiêu chuẩn thường là $2:1$, $4:1$, $10:1$ hoặc mở rộng toàn cảnh $360^\circ$.
- Các thuật toán xử lý hình thái học (Morphological Processing): Tác động lên cấu trúc hình thái của ảnh nhị phân hoặc ảnh xám thông qua phần tử cấu trúc (Structuring Element) với các phép toán cơ bản: phép co (Erosion), phép giãn (Dilation), phép mở (Opening), phép đóng (Closing), biến đổi Top-hat và Bottom-hat.
- Bộ lọc làm mịn Gaussian (Gaussian Blur): Áp dụng hàm phân phối Gaussian để làm mờ, giảm thiểu nhiễu tần số cao và làm mịn biên cạnh. Thuật toán tận dụng tính chất khả tách của nhân chập (kernel 1D theo phương ngang và dọc) để tối ưu tốc độ tính toán.
- Biến đổi Fourier rời rạc 2D (DFT): Chuyển đổi dữ liệu ảnh từ miền không gian sang miền tần số nhằm phân tích phổ biên độ, tần số không gian và pha, phục vụ lọc tần số và phân tách biên cạnh.
- Phương pháp phát hiện biên cạnh: Ứng dụng các toán tử đạo hàm gradient như Sobel (với kernel $3 \times 3$ theo trục $G_x$ và $G_y$), Prewitt, Roberts, toán tử Laplacian, Laplacian of Gaussian (LoG), phương pháp Canny Edge Detection và biến đổi Hough (Hough Transform).
- Biến đổi Wavelet 2D: Phân tích đa tỉ lệ đồng thời trên cả miền thời gian và tần số, khắc phục hạn chế làm mờ cạnh của biến đổi Fourier khi khử nhiễu.
- Thuật toán trích xuất đặc trưng và so khớp:
- Harris Corner Detector (1988): Dựa trên ma trận tự tương quan (Structure Tensor) để tìm kiếm các điểm góc có biến thiên cường độ sáng lớn theo mọi hướng.
- SIFT (Scale-Invariant Feature Transform): Trích xuất các điểm đặc trưng bất biến với phép tỉ lệ, phép quay và thay đổi độ sáng thông qua không gian tỉ lệ DoG (Difference of Gaussians), gán hướng chính và tạo vector mô tả 128 chiều.
- SURF (Speeded-Up Robust Features): Tăng tốc độ trích xuất bằng cách xấp xỉ ma trận Hessian thông qua bộ lọc hộp (Box Filter) và ảnh tích hợp.
- RANSAC (Random Sample Consensus): Thuật toán ngẫu nhiên lặp nhằm loại bỏ các cặp điểm khớp sai (outliers) và ước lượng ma trận chuyển đổi tối ưu.
- Ma trận Homography và phép biến đổi phối cảnh (Perspective Transform): Biểu diễn mối quan hệ hình học giữa hai mặt phẳng ảnh trên hệ tọa độ đồng nhất $(x, y, 1)$ thông qua ma trận biến đổi $H$ kích thước $3 \times 3$, cho phép chiếu các điểm ảnh từ góc nhìn này sang góc nhìn khác một cách liền mạch.
Phương pháp nghiên cứu
- Phương pháp phân tích lý thuyết: Nghiên cứu tài liệu học thuật về xử lý ảnh số, giải tích ma trận và thị giác máy tính.
- Phương pháp thực nghiệm - phát triển hệ thống: Xây dựng thuật toán, viết mã nguồn trên môi trường Python, tích hợp các module xử lý ảnh và thiết kế giao diện đồ họa để đánh giá kết quả thực tế trên các tập dữ liệu ảnh chụp.
Thiết kế và triển khai
Môi trường và công nghệ sử dụng
Hệ thống ghép ảnh Panorama được thiết kế và triển khai với các công nghệ và công cụ:
- Ngôn ngữ lập trình: Python (hỗ trợ lập trình hướng đối tượng, cú pháp tường minh, thư viện phong phú).
- Môi trường phát triển: Visual Studio Code (VS Code).
- Thư viện thị giác máy tính: OpenCV (Open Source Computer Vision Library) phiên bản hỗ trợ Python, xử lý các tác vụ ma trận, trích xuất SIFT và biến đổi không gian.
- Thư viện tiện ích xử lý ảnh: Imutils (hỗ trợ xoay ảnh, tịnh tiến và thay đổi kích thước giữ nguyên tỷ lệ khung hình).
- Thư viện giao diện đồ họa: Tkinter tích hợp sẵn trong Python.
Bảng thành phần các Widget Tkinter được sử dụng trong hệ thống
| STT |
Tên Widget |
Mô tả chức năng |
| 1 |
Button |
Hiển thị nút bấm thực thi các chức năng của chương trình. |
| 2 |
Canvas |
Vẽ các hình khối, đối tượng đồ họa (đường thẳng, đa giác, hình chữ nhật). |
| 3 |
Checkbutton |
Hiển thị hộp kiểm cho phép người dùng chọn nhiều tùy chọn. |
| 4 |
Entry |
Trường nhập văn bản một dòng từ người dùng. |
| 5 |
Frame |
Widget vùng chứa dùng để phân chia và bố cục các thành phần con. |
| 6 |
Label |
Hiển thị nhãn chú thích dạng văn bản hoặc hình ảnh. |
| 7 |
Listbox |
Danh sách hiển thị các mục tùy chọn cho người dùng lựa chọn. |
| 8 |
Menubutton |
Nút bấm dùng để hiển thị danh mục menu con. |
| 9 |
Menu |
Cung cấp thanh bảng chọn các lệnh điều khiển cho ứng dụng. |
| 10 |
Message |
Hiển thị khối văn bản tin nhắn nhiều dòng. |
| 11 |
Radiobutton |
Nút chọn một trong nhiều tùy chọn loại trừ lẫn nhau. |
| 12 |
Scale |
Thanh trượt điều chỉnh giá trị số thực hoặc nguyên. |
| 13 |
Scrollbar |
Thanh cuộn điều hướng nội dung cho các widget như Listbox, Text. |
| 14 |
Text |
Khung hiển thị và chỉnh sửa văn bản nhiều dòng. |
| 15 |
Toplevel |
Tạo cửa sổ giao diện phụ riêng biệt với cửa sổ chính. |
| 16 |
Spinbox |
Tiện ích chọn giá trị từ một tập hợp các giá trị cố định. |
| 17 |
PanedWindow |
Vùng chứa cho phép chia cửa sổ thành nhiều ngăn theo chiều ngang/dọc. |
| 18 |
LabelFrame |
Khung chứa có tiêu đề bao quanh để nhóm các nhóm chức năng phức tạp. |
| 19 |
tkMessageBox |
Hộp thoại thông báo pop-up hiển thị trạng thái và cảnh báo. |
Cấu trúc lớp xử lý thuật toán Panaroma
Mã nguồn xử lý chính được đóng gói trong lớp Panaroma với quy trình xử lý 6 bước:
Detect_Feature_And_KeyPoints(image): Chuyển đổi ảnh sang không gian màu xám (cv2.COLOR_BGR2GRAY), khởi tạo bộ trích xuất đặc trưng cv2.SIFT_create() và tính toán tập tọa độ Keypoints cùng vector mô tả (features).
get_Allpossible_Match(featuresA, featuresB): Khởi tạo bộ so khớp cv2.DescriptorMatcher_create("BruteForce"), tính khoảng cách Euclid giữa các vector đặc trưng bằng thuật toán knnMatch với $k=2$.
All_validmatches(AllMatches, lowe_ratio): Lọc các cặp điểm trùng khớp hợp lệ dựa trên kiểm tra tỷ lệ khoảng cách (Lowe's ratio test).
Compute_Homography(pointsA, pointsB, max_Threshold): Tính toán ma trận biến đổi phối cảnh $H$ kích thước $3 \times 3$ bằng hàm cv2.findHomography kết hợp thuật toán loại bỏ nhiễu ngoại lai cv2.RANSAC.
matchKeypoints(...): Kiểm tra điều kiện số điểm khớp hợp lệ (yêu cầu $> 4$ điểm), cấu trúc lại tập điểm pointsA và pointsB dạng np.float32 để tính toán ma trận $H$.
getwarp_perspective(...) & image_stitch(...): Thực hiện phép chiếu phối cảnh cv2.warpPerspective trên ảnh thứ nhất, ghép nối ma trận điểm ảnh với ảnh thứ hai và kết xuất bức ảnh Panorama hoàn chỉnh.
Nội dung chính theo từng chương
Chương 1. Khảo sát hiện trạng
Chương này tập trung trình bày tính cấp thiết của bài toán ghép ảnh toàn cảnh trong đời sống và kỹ thuật số. Tác giả phân tích nhu cầu thực tiễn từ các lĩnh vực như du lịch, tiếp thị bất động sản, công nghệ thực tế ảo và thiết kế kiến trúc. Từ đó, chương xác định mục tiêu nghiên cứu tổng quát cùng 5 mục tiêu cụ thể, đồng thời đề ra 5 nội dung nghiên cứu trọng tâm bao gồm: phân tích - xử lý ảnh, xây dựng thuật toán ghép, xử lý nhiễu và sai lệch hình học, tối ưu hóa hiệu suất tính toán và phát triển giao diện người dùng trực quan.
Chương 2. Giới thiệu bài toán
Chương 2 trình bày tổng quan về lĩnh vực xử lý ảnh số và lịch sử phát triển qua các mốc thời gian:
- Đầu những năm 1920: Ứng dụng đầu tiên truyền ảnh qua hệ thống cáp ngầm Bartlane giữa London và New York.
- Những năm 1960: Phát triển kỹ thuật nâng cao chất lượng ảnh chụp từ vệ tinh không gian.
- Những năm 1970: Phát minh máy chụp cắt lớp vi tính CAT trong y học của Godfrey N. Hounsfield và Allan M. Cormack (đạt giải Nobel Y học).
- Những năm 1980 đến nay: Xử lý ảnh phát triển vượt bậc và ứng dụng sâu rộng trong mọi lĩnh vực xã hội.
Chương cũng hệ thống hóa sơ đồ các bước chính trong một hệ thống xử lý ảnh toàn diện; nêu rõ mục đích, yêu cầu và phạm vi nghiên cứu của đề tài; phân tích khái niệm ảnh Panorama (yêu cầu góc chụp tối thiểu $110^\circ$, các tỷ lệ $2:1$, $4:1$, $10:1$, ảnh $360^\circ$) cùng nguyên lý chụp toàn cảnh trên máy ảnh kỹ thuật số và điện thoại thông minh.
Chương 3. Xây dựng thuật toán tạo ảnh Panorama
Chương 3 đi sâu vào cơ sở toán học và thuật toán xử lý hình ảnh:
- Khảo sát các kỹ thuật tiền xử lý: biến đổi hình thái học (Morphological operations), lọc mờ Gaussian 1D/2D, biến đổi Fourier rời rạc 2D (DFT/IDFT), các toán tử phát hiện cạnh (Sobel, Gradient, Canny, Laplacian, Hough) và biến đổi Wavelet 2D.
- Đánh giá các phương pháp tạo ảnh Panorama: Image Stitching, Image Sequence-Based, Sensor-Based và Virtual Reality-Based.
- Phân tích chi tiết các kỹ thuật phát hiện và mô tả đặc trưng: Harris Corner Detection, SIFT (tìm cực trị Scale-Space bằng DoG, tạo descriptor 128 chiều) và SURF (xấp xỉ Hessian matrix với box filter).
- Xây dựng quy trình thuật toán thủ công gồm các bước chuẩn: Tiền xử lý ảnh $\rightarrow$ Trích xuất Keypoints $\rightarrow$ So khớp đặc trưng bằng khoảng cách Euclid và Brute-Force $\rightarrow$ Ước lượng ma trận Homography $H$ qua RANSAC $\rightarrow$ Biến đổi phối cảnh (Perspective Transform) trên hệ tọa độ đồng nhất $\rightarrow$ Pha trộn và hoàn thiện ảnh (Image Blending).
Chương 4. Cài đặt và thử nghiệm hệ thống
Chương 4 mô tả toàn bộ quá trình hiện thực hóa phần mềm:
- Giới thiệu công cụ lập trình Python, lịch sử phát triển từ bản 0.9 (1991), Python 1.0 (1994), Python 2.0 (2000) đến Python 3.0 (2008), phân tích ưu và nhược điểm của ngôn ngữ.
- Trình bày thư viện OpenCV (Gary Bradsky, Intel 1999) cùng các module chức năng chính (
core, imgproc, highgui, features2d, calib3d, stitching).
- Ứng dụng thư viện Imutils để hỗ trợ các thao tác xoay ảnh, tịnh tiến tọa độ và thay đổi kích thước ảnh bảo toàn tỷ lệ khung hình.
- Phân tích 19 loại widget trong thư viện giao diện Tkinter.
- Trình bày chi tiết cấu trúc mã nguồn hướng đối tượng của lớp
Panaroma và các hàm chức năng xử lý ma trận chuyển đổi, lọc điểm khớp và hòa trộn ảnh.
- Mô tả việc cài đặt giao diện điều khiển và các bước chạy thử nghiệm thực tế với tập dữ liệu ảnh chụp.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Về mặt lý thuyết: Hệ thống hóa toàn diện các nguyên lý xử lý ảnh từ kinh điển đến hiện đại, bao gồm các phép biến đổi hình thái học, miền tần số Fourier, Wavelet, các toán tử phát hiện biên cạnh và các thuật toán trích xuất đặc trưng cục bộ (Harris, SIFT, SURF).
- Về mặt ứng dụng: Xây dựng thành công phần mềm ghép ảnh Panorama hoàn chỉnh trên ngôn ngữ Python:
- Tự động phát hiện và trích chọn các điểm đặc trưng then chốt (Keypoints) cùng vector mô tả thông qua thuật toán SIFT.
- Tự động so khớp cặp điểm tương đồng bằng Brute-Force Matcher và thuật toán kiểm tra tỷ lệ khoảng cách của Lowe.
- Tính toán chính xác ma trận biến đổi phối cảnh Homography $3 \times 3$ trong hệ tọa độ đồng nhất kết hợp thuật toán RANSAC loại bỏ điểm ngoại lai.
- Tự động chiếu phối cảnh (
warpPerspective) và hợp nhất chuỗi ảnh thành bức ảnh toàn cảnh liền mạch.
- Xây dựng giao diện đồ họa người dùng trực quan bằng thư viện Tkinter, cho phép thao tác nạp ảnh và xuất kết quả thuận tiện.
Đóng góp của đề tài
- Cung cấp một giải pháp phần mềm mã nguồn mở độc lập, minh họa đầy đủ pipeline thị giác máy tính cho bài toán Image Stitching mà không phụ thuộc vào các phần mềm thương mại đóng gói sẵn.
- Đóng góp tài liệu tổng hợp có hệ thống về cơ sở toán học và mã nguồn thực thi cụ thể cho sinh viên và người nghiên cứu chuyên ngành Công nghệ thông tin tại Trường Đại học Hải Phòng.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được ghi nhận
- Thuật toán trích xuất SIFT có khối lượng tính toán lớn, dẫn đến thời gian thực thi còn tương đối chậm khi xử lý các tập ảnh có độ phân giải cao hoặc chuỗi nhiều ảnh liên tiếp, chưa đáp ứng tối ưu cho các tác vụ thời gian thực (real-time).
- Chất lượng ghép ảnh phụ thuộc vào điều kiện chụp đầu vào (đòi hỏi các ảnh phải có độ chồng lấn nhất định và không có sự dịch chuyển vị trí quá lớn của các đối tượng động trong khung hình).
Hướng nghiên cứu tiếp theo
- Nghiên cứu thay thế hoặc tích hợp các thuật toán trích xuất đặc trưng có tốc độ nhanh hơn như SURF hoặc ORB để cân bằng giữa độ chính xác và hiệu năng thời gian thực.
- Ứng dụng các giải thuật pha trộn ảnh nâng cao (như Multi-band Blending, Feathering) để làm mờ hoàn toàn các đường viền ghép nối và cân bằng độ sáng tự động.
- Nghiên cứu ứng dụng các mô hình học máy (Machine Learning) và học sâu (Deep Learning) vào việc nhận diện phối cảnh và hiệu chỉnh ảnh tự động.
Giá trị tham khảo
Báo cáo đồ án tốt nghiệp này mang lại giá trị tham khảo chuyên môn cho các đối tượng:
- Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm, Khoa học dữ liệu và Trí tuệ nhân tạo: Tài liệu cung cấp kiến thức nền tảng về xử lý ảnh số, từ các phép biến đổi ma trận, giải tích không gian tần số đến thị giác máy tính ứng dụng.
- Lập trình viên và người nghiên cứu thị giác máy tính: Phần triển khai mã nguồn của lớp
Panaroma (sử dụng Python, OpenCV, SIFT, RANSAC, Homography) và bảng thống kê widget Tkinter là tài liệu mẫu rõ ràng để xây dựng các ứng dụng xử lý ảnh có giao diện đồ họa.
Câu hỏi thường gặp
1. Thuật toán nào được lựa chọn để phát sinh và trích xuất điểm đặc trưng trong mã nguồn của đồ án?
Trong mã nguồn cài đặt thực tế của đồ án, tác giả sử dụng thuật toán SIFT (cv2.SIFT_create()) thông qua phương thức Detect_Feature_And_KeyPoints. SIFT giúp phát hiện các điểm đặc trưng cục bộ bất biến với phép xoay, tỉ lệ và thay đổi cường độ ánh sáng, trả về tọa độ điểm và các vector mô tả đặc trưng.
2. Vai trò của thuật toán RANSAC trong quy trình ghép ảnh của đồ án là gì?
RANSAC (Random Sample Consensus) được tích hợp trong phương thức Compute_Homography (cv2.findHomography(pointsA, pointsB, cv2.RANSAC, max_Threshold)). Thuật toán này có nhiệm vụ chọn lọc ngẫu nhiên các cặp điểm tương đồng, loại bỏ các cặp điểm khớp sai (nhiễu/outliers) do sai lệch quang học hoặc đối tượng chuyển động, từ đó ước lượng ra ma trận Homography chính xác nhất.
3. Ma trận Homography được biểu diễn và tính toán như thế nào để biến đổi phối cảnh?
Ma trận Homography $H$ là ma trận vuông kích thước $3 \times 3$ hoạt động trên hệ tọa độ đồng nhất $(x, y, 1)$. Phép biến đổi phối cảnh (Perspective Transform) thực hiện nhân tọa độ điểm ảnh với ma trận $H$ để chuyển đổi góc nhìn của một bức ảnh, cho phép căn chỉnh và ánh xạ chính xác các điểm ảnh từ ảnh thứ nhất trùng khớp với góc nhìn của ảnh thứ hai.
4. Tiêu chuẩn kỹ thuật để một bức ảnh được định nghĩa là ảnh Panorama theo tác giả là gì?
Theo trình bày trong đồ án, góc chụp của bức ảnh phải đạt tối thiểu $110^\circ$ (tương đương hoặc lớn hơn tầm nhìn mắt người) mới được coi là ảnh Panorama. Tỉ lệ khung hình tiêu chuẩn của ảnh Panorama thường là $2:1$, ngoài ra còn có các tỉ lệ $4:1$, $10:1$ hoặc góc chụp bao quát toàn cảnh lên tới $360^\circ$.
5. Thư viện Tkinter đóng vai trò gì và bao gồm bao nhiêu kiểu widget được khảo sát trong đồ án?
Tkinter đóng vai trò là công cụ xây dựng giao diện đồ họa người dùng (GUI) tiêu chuẩn cho ứng dụng Python. Đề tài đã hệ thống hóa và khảo sát chi tiết 19 loại widget của Tkinter (bao gồm Button, Canvas, Checkbutton, Entry, Frame, Label, Listbox, Menubutton, Menu, Message, Radiobutton, Scale, Scrollbar, Text, Toplevel, Spinbox, PanedWindow, LabelFrame và tkMessageBox) để thiết kế giao diện điều khiển chương trình.
Kết luận
Đồ án tốt nghiệp "Tìm hiểu về xử lý ảnh và xây dựng chương trình ghép ảnh lớn từ các ảnh nhỏ" của tác giả Hoàng Vũ Anh Thư (Trường Đại học Hải Phòng) đã giải quyết trọn vẹn bài toán ghép chuỗi ảnh tĩnh thành ảnh toàn cảnh Panorama. Báo cáo đã hệ thống hóa đầy đủ cơ sở toán học của xử lý ảnh số, các giải thuật trích xuất đặc trưng kinh điển và phương pháp biến đổi hình học phối cảnh. Thông qua việc cài đặt thành công ứng dụng trên ngôn ngữ Python kết hợp OpenCV và Tkinter, công trình đã chứng minh tính đúng đắn của giải thuật và mang lại giá trị ứng dụng thực tế trong lĩnh vực xử lý ảnh và thị giác máy tính.