Chụp liên tiếp nhiều ảnh

Một phần của tài liệu Xây dựng hệ thống cung cấp ảnh quang cảnh 360 độ trên điện thoại di động (Trang 25)

Ngày càng nhiều những thiết bị chuyên dụng và công cụ cho phép người dùng có thể thu được ảnh quang cảnh 360 độ. Tuy nhiên, sử dụng máy ảnh thường chụp liên tiếp nhiều ảnh sau đó dùng một phần mềm chuyên dụng để ghép các ảnh này lại vẫn đang là phương pháp phổ thông nhất. Máy ảnh thường được kết hợp với một chân đế quay tripod để cố định phương mà nó sẽ quay.

Để chụp một bức ảnh theo cách này cần chú ý một số điểm sau [21]:

-Cân bằng độ sáng: do ảnh kết quả là một loạt các ảnh ghép lại cho nên sẽ có những mảng sáng tối chia cắt. Nguyên nhân là do máy ảnh đo sáng khác nhau ở mỗi tấm ảnh thành phần. Để giải quyết máy ảnh cần được thiết lập chế độ tự kiểm soát (Manual) và khoá đo sáng cho loạt ảnh.

-Chụp ảnh ở tiêu cự thường: các máy ảnh du lịch thông thường hay dùng các ống kính góc rộng (wide) hoặc siêu rộng (super wide) để chụp ảnh phong cảnh. Nhưng chụp ảnh với phương pháp này thường bị biến dạng hai bên trái và phải của ảnh. Trong khi các phần mềm ghép ảnh thường yêu cầu hai tấm ảnh

gần nhau phải có độ chồng ít nhất là 20% nên nếu chụp với tiêu cự này sẽ gây khó ghép đúng các ảnh. Vì thế, máy ảnh cần được đưa về tiêu cự thông thường khoảng từ 25mm – 55mm.

-Vật thể chuyển động: các ảnh thành phần được chụp trong không cùng một khoảng thời gian. Do đó có thể ảnh cuối cùng thu được sẽ xuất hiện hai vật thể trong khi đó chỉ là một vật chuyển động và thu được tại cả hai ảnh thành phần.

- Nên chọn ảnh thành phần xuất ra ở chế độ JPEG vì nó sẽ giảm được độ trễ của cửa trập, đồng thời các phần mềm xử lý ảnh làm việc với tệp JPEG được dễ dàng hơn.

Sau khi đã thu được các ảnh thành phần, sử dụng một phần mềm chuyên ghép ảnh phổ biến như Adobe Photoshop (CS3 trở lên). Quá trình ghép ảnh bằng Photoshop là hoàn toàn tự động. Ngoài ra còn một số phần mềm ghép ảnh khác như: AutoStich, pTGui, Hugin, Autopano, Microsoft Image Composite Editor.

2.3.2 Iphone Apple Camera

Apple giới thiệu chức năng chụp ảnh panorama tích hợp sẵn vào ứng dụng chụp ảnh của hãng từ iOS 6. Tính năng này chỉ làm việc với các thiết bị iPhone 4s và iPod touch gen 4 trở lên. Do đó, để sử dụng chức năng chụp ảnh quang cảnh trên các máy đời cũ thì phải cần một ứng dụng của hãng thứ ba [10].

Để sử dụng tính năng chụp quang cảnh, mở ứng dụng Camera của iPhone, hãy nhấp vào Options, và chọn Panorama.

Tóm lại, ứng dụng này xây dựng được ảnh quang cảnh từ nhiều hình ảnh được chụp liên tiếp. Tuy nhiên, nó cũng có hai nhược điểm chính. Đầu tiên, như tất cả các phương pháp chụp liên tiếp khác, đó là ảnh quang cảnh sẽ không đồng bộ với nhau. Thứ hai, ứng dụng này chỉ cho phép thu thập ảnh quang cảnh hình trụ không hỗ trợ thêm loại ảnh quang cảnh nào khác.

Hình 14 Kết quả chụp ảnh panoram của iPhone.

2.3.3 Google Photo Sphere

Ứng dụng Photo Sphere của Google trước đây có sẵn trên các thiết bị Android, ứng dụng tương đương mới được Google đưa ra cho các thiết bị chạy nền tảng IOS.

Về cơ bản, khi bạn đang đứng ở đâu đó bạn muốn chụp trong tất cả xung quanh điểm đó, chỉ cần nhấn nút chụp và hình ảnh cầu sẽ bắt đầu hiển thị dấu chấm màu xanh trên màn hình của bạn. Nghiêng và xoay máy ảnh cho đến khi bạn đã chụp tất cả các dấu chấm và bạn sẽ có được một hình ảnh 360 độ đầy đủ. Có rất nhiều cảnh hình ảnh các ứng dụng hiện có - iPhone đi kèm với một tính năng tương tự được xây dựng trong máy ảnh của nó - nhưng các phần mềm Google cung cấp cho bạn một kinh nghiệm Street View giống như cho phép bạn di chuyển tất cả xung quanh hình ảnh khi nó đã được khâu lại với nhau.

2.3.3.1 Thiết bị sử dụng

Phần mềm Google Photo Sphere hiện tại đã có trên 2 nền tảng Android Google và IOS Apple. Nhưng để tiện lợi cho người sử dụng khi dùng chương trình của luận văn tải ảnh lên hệ thống thì luận văn quyết định chọn ứng dụng Photo Sphere trên nền tảng IOS để thu thập dữ liệu.

Phiên bản hiện tại của ứng dụng này hỗ trợ các thiết bị chạy nền tảng từ IOS 7.0 trở lên, do đó phần cứng tương yêu cầu là các dòng Iphone 4, Ipad 2 trở về sau.

Hình 15 Phiên bản Iphone 4 và Ipad 2

2.3.3.2 Tóm tắt qui trình chụp ảnh

Không giống như tính năng chụp quang cảnh tích hợp sẵn được cung cấp bởi ứng dụng máy ảnh của Apple, Google Photo Sphere cho phép người dùng di chuyển xung quanh hình ảnh cả trái phải và cả trên dưới, đồng nghĩa với việc người dùng có thể tạo được cả ảnh quang cảnh hình trụ và ảnh quang cảnh hình cầu.

Các bước thực hiện:

- Cài ứng dụng trên iPhone, iPad, iPod từ kho ứng dụng của Apple Store. - Sau khi bỏ qua bước hướng dẫn cho lần chạy đầu tiên, bắt đầu bước chụp bằng cách nhấn vào biểu tượng máy ảnh bên góc dưới phía phải màn hình.

- Xoay màn hình quanh quang cảnh bạn muốn chụp. Sẽ có một biểu tượng màu vàng và một vòng tròn trung tâm khung ảnh. Biểu tượng chấm màu vàng là vị trí mong muốn bức ảnh tiếp theo của bạn, nó hoạt động dựa vào gia tốc kế của thiết bị iOS.

Hình 16 Giao diện chụp ảnh quang cảnh của Google PhotoSphere - Khi vòng tròn trung tâm trùng với biểu tượng vị trí mong muốn, ứng dụng sẽ tự động chụp lại cảnh đó.

- Chương trình tự phát hiện khi đã chụp đủ một vòng, bấm kết thúc.

-Sau khi đã hoàn thành, thao tác ghép các ảnh đã chụp lại với nhau được ứng dụng thực hiện hoàn toàn tự động.

-Chính vì sự tiện lợi, dễ dùng và phổ biến của ứng dụng này nên luận văn sử dụng ảnh chụp từ ứng dụng Photosphere để sử dụng.

Hình 17 Ảnh thu được từ Google Photo Sphere

2.3.3.3 Ƣu và nhƣợc điểm của phƣơng pháp (adsbygoogle = window.adsbygoogle || []).push({});

Ưu điểm của phương pháp này là chất lượng ảnh cao, dễ thực hiện. Tuy nhiên phương pháp này có nhược điểm chính là nó không thích hợp cho các đối tượng chuyển động trong ảnh. Do mỗi ảnh trong dãy ảnh liên tiếp được chụp vào một thời điểm khác nhau nên rất khó ghép được các đối tượng chuyển động một cách chính xác.

Chƣơng 3

PHÂN TÍCH THIẾT KẾ HỆ THỐNG 3.1 Phân tích và thiết kế hệ thống

3.1.1 Kiến trúc hệ thống

Luận văn đã nghiên cứu tổng quan về các phương pháp thu nhận ảnh toàn cảnh 360 độ (tức là các ảnh có góc nhìn ngang 360 độ, góc nhìn do ̣c có thể thay đổi tùy theo thiết bi ̣ nhưng thường trên 90 độ - cung cấp cho người sử du ̣ng góc nhìn rộng hơn rất nhiều các ảnh thông thường) về thiết bi ̣, phương pháp thu nhận và xử lý cũng như các ưu nhược điểm và tính khả thi ta ̣i Việt Nam trong các điều kiện hiện có của luận văn. Đồng thời, luận văn cũng đã nghiên cứu tổng quan về các phương pháp lưu trữ và xử lý ảnh quang cảnh 360 độ, các hệ thống bản đồ trực tuyến, các hệ quản trị cơ sở dữ li ệu có hỗ trợ yếu tố truy vấn không gian và các hệ thống nền tảng về quản tri ̣ nội dung trên môi trường Web. Từ đó luận văn đã phân tích , so sánh và quyết đi ̣nh phương pháp thực hiện đề tài với các n ội dung công việc chính như sau:

 Sử du ̣ng mã ngu ồn mở PHP phiên bản 5.3 phát triển ứng du ̣ng h ệ thống quản trị nội dung và làm nền tảng để phát triển lõi của h ệ thống cung cấp ảnh 360 độ. Các module bổ sung thêm javascript cho hệ quản trị nhằm mục thuận tiện cho người xử lý.

 Sử dụng thiết bị di động, cụ thể ở đây là điện thoại iPhone của Apple kết hợp với phần mềm Photoshepre của google để thu thập ảnh quang cảnh 360 độ.  Sau khi thu thập ảnh quang cảnh 360 độ, thiết bị tải ảnh nên thông qua module của hệ thống và được xử lý lại tại đây nhằm giảm kích thước tệp tin, trích xuất các thông tin metadata về vị trí địa lý (kinh độ, vĩ độ) của ảnh đó.  Sử dụng bản đồ nền của Apple (với hệ điều hành ios 6.0 trở lên) và Google (với hệ điều hành nhỏ hơn 6.0)

 Sử dụng hệ quản trị cơ sở dữ liệu My SQL cho việc lưu trữ ảnh và các thông tin địa lý liên quan.

Hệ thống được xây dựng theo mô hình máy khách/máy chủ. Trong đó máy chủ và quản trị sử dụng công nghệ Web (cụ thể ở đây là PHP). Máy khách sử dụng công nghệ di động (ở đây là nền tảng IOS của Apple).

Mô hình này sử dụng môi trường Internet để truyền dữ liệu. Web service phục vụ cho mô hình này sử dụng HTTP GET để lấy dữ liệu về máy khách và

HTTP POST để đẩy dữ liệu lên máy chủ. Các dữ liệu phản hồi về định dạng JSON, dữ liệu gửi lên dạng multipart/form-data.

Hình 19 Kiến trúc hệ thống

3.1.2 Các tác nhân chính

Các tác nhân chính của hệ thống ảnh quang cảnh 360 độ gồm có:

- Người sử dụng: Là những người sử dụng thiết bị IOS của Apple có thể xem hình ảnh, di chuyển bản đồ, nạp ảnh mới thông qua các hotspot v.v. Người sử dụng không phải đăng ký với hệ thống và không cần đăng nhập khi sử dụng. Người sử dụng đồng thời cũng có khả năng tải ảnh lên hệ thống

- Người nhập dữ liệu: Là người sử dụng có đăng ký với hệ thống, được phép nhập và sửa dữ liệu hình ảnh, địa lý và dữ liệu ngữ cảnh (hay dữ liệu mô tả)

- Người quản trị hệ thống: Là người sử dụng đặc biệt, có mọi quyền trong hệ thống: Cài đặt, xóa, tạm dừng/khôi phục hệ thống, thêm/xóa/sửa đổi các module và giao diện, hệ quản trị cơ sở dữ liệu, PHP, Webserver lên các phiên bản mới hơn v.v..

-

3.1.3 Mô tả các ca sử dụng

Hình 20 Mô tả các ca sử dụng

Tên Use Case Truy cập ứng dụng

Tác nhân chính Người sử dụng

Kích hoạt Người sử dụng mở ứng dụng di động

Luồng sự kiện chính:

- Người sử dụng mở ứng dụng trên thiết bị di động (chạy nền tảng IOS) - Hiển thị ảnh quang

Luồng sự kiện phụ:

Bảng 2. Mô tả ca truy cập ứng dụng

Tên Use Case Đăng nhập

Tác nhân chính Người quản trị, người nhập dữ liệu

Kích hoạt Người quản trị đăng nhập hệ thống, người nhập dữ liệu đăng nhập hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

Luồng sự kiện chính:

- Người quản trị, người nhập dữ liệu đăng nhập hệ thống - Hiển thị nhập ID và Password

- Đăng nhập thành công - Đăng nhập thất bại

- Hệ thống hiển thị các chức năng quản trị (nếu người đăng nhập là quản trị hệ thống), nhập dữ liệu

Luồng sự kiện phụ:

- Hiện thị thông báo khi chưa điền ID và Password.

Bảng 3. Mô tả ca đăng nhập hệ thống

Tên Use Case Tƣơng tác bản đồ trực tuyến

Tác nhân chính Người sử dụng

Kích hoạt Người sử dụng chọn chức năng bản đồ trong ứng dụng

Luồng sự kiện chính:

- Chuyển sang màn hình bản đồ cho phép người sử dụng chọn các hotspot. - Người sử dụng di chuyển bản đồ bằng cách kéo thả, phóng to thu nhỏ bản đồ, lựa chọn điểm hotspot trên bản đồ bằng cách chạm vào màn hình của thiết bị di động.

- Đóng màn hình chọn bản đồ, quay lại màn hình ảnh quang cảnh.

- Hiển thị ảnh quang cảnh tương ứng với điểm hotspot hiện hành trên bản đồ Luồng sự kiện phụ:

Bảng 4. Mô tả ca tương tác bản đồ trực tuyến

Tên Use Case Tải lên dữ liệu

Tác nhân chính Người sử dụng

Kích hoạt Người sử dụng chọn chức năng tải lên trong ứng dụng

Luồng sự kiện chính:

- Chuyển sang màn hình lựa chọn ảnh quang cảnh. - Cho phép ứng dụng thông tin vị trí địa lý của thiết bị. - Người dùng chọn ảnh quang cảnh cần tải lên hệ thống - Ảnh được tải lên máy chủ.

Luồng sự kiện phụ:

Tên Use Case Chỉnh sửa dữ liệu

Tác nhân chính Người nhập dữ liệu, người quản trị hệ thống Kích hoạt Người sử dụng kích hoạt chức năng xoá hoặc

sửa ảnh với ảnh cần thay đổi thông tin Luồng sự kiện chính:

- Nhập dữ địa lý trực tiếp trên form sửa ảnh - Xoá những ảnh không cần thiết.

Luồng sự kiện phụ:

Bảng 6. Mô tả ca chỉnh sửa dữ liệu

Tên Use Case Tạo/sửa liên kết ảnh

Tác nhân chính Người nhập dữ liệu, người quản trị hệ thống

Kích hoạt Người nhập dữ liệu, người quản trị hệ (adsbygoogle = window.adsbygoogle || []).push({});

thống kích hoạt form sửa dữ liệu rồi chọn chức năng thêm mới neighbours Luồng sự kiện chính:

- Hiển thị tất cả các ảnh quang cảnh đã được tải lên hệ thống theo thứ tự ưu tiên thời gian.

- Sau khi chọn một ảnh, người sử dụng chỉ cần chọn trên ảnh quang cảnh mà ảnh hiện tại liên kết tới ảnh được chọn.

Luồng sự kiện phụ:

Bảng 7. Mô tả ca tạo sửa liên kết ảnh

Tên Use Case Quản trị ngƣời nhập liệu

Tác nhân chính Người quản trị hệ thống

Kích hoạt Tạo thông tin người dùng sử dụng

truy vấn của MYSQL Luồng sự kiện chính:

- Liệt kê, xem thông tin của người nhập liệu

- Thêm, xóa, thay đổi thông tin của người nhập liệu Luồng sự kiện phụ:

3.1.4 Thiết kế cơ sở dữ liệu

Hệ thống ảnh quang cảnh 360 độ được xây dựng bằng ngôn ngữ PHP, kết hợp với hệ quản trị cơ sở dữ liệu MySQL. Tất cả được cài đặt trên một máy chủ Linux sửa dụng Kloxo Hosting Panel.

Hệ thống sử dụng bảng dữ liệu tên là “panorama” với cấu trúc được mô tả như sau: Thuộc tính Khóa Chấp nhận NULL? Kiểu dữ liệu Độ dài lớn nhất Giải thích ý nghĩa vid Khóa chính

Không int Mã định danh của bản

ghi

image Không varchar 256 Đường dẫn tương đối

đến ảnh quang cảnh đặt trên máy chủ

lat Có double Vĩ độ (dạng thập phân)

của ảnh quang cảnh

lon Có double Kinh độ (dạng thập

phân) của ảnh quang cảnh

alt Có double Độ cao so với mặt biển

của ảnh quang cảnh neighbours Có varchar 256 Danh sách các ảnh quang

cảnh lân cận, dùng để tạo hotspot

info Có varchar 10240 Dữ liệu ngữ cảnh (hay

dữ liệu mô tả) của ảnh quang cảnh

Bảng 9. Cấu trúc bảng dữ liệu panorama

Thuộc tính Khóa Chấp nhận NULL? Kiểu dữ liệu Độ dài lớn nhất Giải thích ý nghĩa vid Khóa chính

Không int Mã định danh của bản ghi (adsbygoogle = window.adsbygoogle || []).push({});

username Không varchar 256 Tên đăng nhập của tài khoản

password Không varchar 256 Mật khẩu truy cập của tài khoản

Bảng 10. Cấu trúc bảng dữ liệu thành viên

3.2 Mô tả các phần mềm mã nguồn mở đƣợc tích hợp 3.2.1 Các module phần máy chủ

Như đã trình bày phần trên, máy chủ hệ thống là một máy sử dụng hệ điều hành Linux có cài Cpanel Kloxo để quản lý các hosting. Ngôn ngữ kích bản phía máy chủ hỗ trợ là PHP 5.3, hệ quản trị cơ sở dữ liệu là Mysql 5.0.95. Sau đó luận văn sử dụng một tên miền có sẵn làm địa chỉ giao tiếp với máy khách [13].

3.2.1.1 PHP

Như đã biết, PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web

Một phần của tài liệu Xây dựng hệ thống cung cấp ảnh quang cảnh 360 độ trên điện thoại di động (Trang 25)