tôi xây dựng và cho kết quả nhƣ các hình biểu diễn, trong phần sau, tôi xin giới thiệu chƣơng trình xử lý tính toán thu nhận thông tin 3D của vật thể dựa trên phƣơng pháp gray code và xử lý di chuyển đƣờng trong chƣơng 2 của luận văn.
58
Chƣơng 3: XÂY DỰNG PHẦN MỀM THU NHẬN ẢNH 3D
3.
Giới thiệu chung cho phần mềm thu nhận 3.1.
Đề tài với mục đích nghiên cứu và tiếp cận phƣơng pháp xử lý dịch chuyển đƣờng do đó tôi xây dựng phần mềm thu nhận ảnh 3D dựa trên các module rời rạc từng phần xử lý. Trong đó kể đến việc khai thác tối đa sức mạnh và tính tiện lợi của các thƣ viện mã nguồn mở nhằm giảm bớt thời gian và tối ƣu hóa tính toán, hiển thị và quản lý thông tin. Phần mềm đƣợc viết bằng ngôn ngữ c++ “mix” với một số lớp Objective C cho điều khiển thông số cho thiết bị UVC-Camera, trên nền Mac OSX Yomise 10.0.
Trong phần mềm này, tôi sử dụng chủ yếu thu viện OpenCV (Open source computer vision) cho lƣu trữ thông tin ảnh cục bộ và toàn phần, truy cập điểm ảnh, lƣu trữ ảnh và đặc biệt module hiệu chỉnh hệ thống (calibration) và phục hồi ảnh méo.
Thƣ viện PCL(Point Clouds Library) cho xử lý lọc nhiễu đối với ảnh 3D qua bộ lọc loại bỏ outlier và lƣu trữ ảnh 3D.
Thƣ viện VTK (Visualization Toolkit) cho hiển thị ảnh 3D trong môi trƣờng 3D ảo
Ngoài ra còn sử dụng rất nhiều lớp của IDE QT (Trolltech) cho hiển thị giao diện cũng nhƣ phát triển phần mềm chung.
Xây dựng giao điện chung cho phần mềm 3.2.
Giao diện phần mềm có những chức năng cho phép thực thi các thao tác chính và hiển thị các nội dung xử lý:
+ Chụp ảnh gray code + line shift + Hiệu chuẩn camera và projector
59
+ Hiển thị ảnh 2D cho các trƣờng hợp: Ảnh gốc, ảnh giải m … + Hiển thị ảnh 3D sau khi tính nội suy: Pan, zoom, rotate…
Hình 3-1 Giao diện chính của phần mềm tính toán 3D