Mô ̣t số API cơ bản của lớp thƣ viện Cocoa Touch

Một phần của tài liệu Xây dựng ứng dụng OCR cho thiết bị iPhone (Trang 28)

3.4.1 Tập thƣ viện danh bạ Address Book UI

Tập thƣ viện này là một bộ giao diện lập trình Objective-C, cho phép ngƣời lập trình có thể sử dụng để hiển thị các giao diện hiện thị chuẩn liên quan đến các tác vụ nhƣ tạo mới danh bạ, sửa danh bạn, lựa chọn danh bạ. Bộ thƣ viện

này đơn giản hóa các công việc cần để hiện thị thông tin danh bạ trong ứng dụng cần phát triển và nó còn đảm bảo ứng dụng đó có thể sử dụng các giao diện giống nhƣ các ứng dụng khác nhằm tạo ra sự nhất quá đối với ngƣời dùng.

3.4.2 Tập thƣ viện lịch Event Kit UI

Đƣợc đƣa vào từ iOS 4.0, tập thƣ viện quản lý lịch hẹn và sự kiện Event Kit UI (EventKitUI.framework) cung cấp các bộ điều khiển hiện thị để hiển thị các khung cửa sổ liên quan đến việc xem, sửa các lịch hẹn của ngƣời dùng. Bộ thƣ viện này đƣợc xây dựng dựa trên tập dữ liệu liên quan đên sự kiện nằm trong bộ thƣ viện Event Kit

3.4.3 Tập thƣ viện Game Kit

Tập thƣ viên Game Kit (GameKit.frameword) đƣợc giới thiệu lần đầu tiên từ phiên bản iOS 3.0. Bộ thƣ viện này cho phép các ứng dụng có khả năng kết nối với nhau theo giao thức mạng ngang hàng. Đặc biệt, tập thƣ viện nay còn cung cấp các tính năng giọng nói trong game. Trong phiên bản iOS 4.0, tập thƣ viện này đƣợc mở rộng với bộ thƣ viện Game Center hỗ trợ các tính năng:

● Tên đại diện: cho phép ngƣời dùng có thể tạo 1 tài khoản các nhân. Ngƣời dùng đăng nhập vào Game Center, tƣơng tác với ngƣời chơi khác thông qua tên đại diện này.

● Bảng điểm: cho phép ứng dụng đƣa điểm của ngƣời chơi lên Game Center và có thể truy vấn lại. Sử dụng tính năng này, ứng dụng có thể hiện thị lên những ngƣời chơi có số điểm cao nhất trong số những ngƣời chơi trong ứng dụng đó.

● Lƣu trữ: cho phép ứng dụng lƣu lại trạng thái hiện tại của ngƣời chơi trong trò chơi của bạn

3.4.4 Tập thƣu viện quảng cáo iAd

Giới thiệu lần đầu trong phiên bản iOS 4.0, tập thƣ viện iAd (iAd.framework) cho phép ứng dụng hiện thị các quảng cáo dƣới dạng banner. Các quảng cáo đƣợc đƣa vào một một khung hiển thị tiêu chuẩn mà ngƣời phát triển ứng dụng có thể tích hợp vào và hiển thị khi cần thiết. Khung quảng cáo

này, làm việc tự động với dịch vụ quảng cáo của Apple và xử lý tự động tất cả các công việc liên quan đến việc tải, hiện thị nội dung quảng cáo cũng nhƣ xử lý sự kiện khi ngƣời dùng chạm vào nhƣng quảng cáo đó.

3.4.5 Tập thƣ viện bản đồ Map Kit

Tập thƣ viện này cung cấp một giao diện bản đồ, cho phép ngƣời lập trình tích hợp vào khung cửa sổ hiện thị của ứng dụng. Ngƣời lập trình cũng có thể sử dụng bản đồ này để cung cấp các chỉ dẫn về hƣớng đi hay các thông tin hữu ích khác dựa trên bản đồ. Các ứng dụng đƣợc lập trình để thiết lập các thuộc tính của bản đồ và cho phép ngƣời sử dụng định hƣớng một cách tự do. Ngƣời phát triển có thể tạo thêm các chú thích trên bản bồ đằng các hình ảnh hay nội dung khác.Từ hệ điều hành iOS 4.0, các bản đồ đƣợc hỗ trợ thêm tính tăng kéo thả các chú thích và các lớp thông tin tự tạo.

3.4.6 Tập thƣ viện thƣ và tin nhắn Message UI

Tập thƣ viện Message UI (MessageUI.framework) cung cấp tính năng soạn thảo thƣ điện tử, cũng nhƣ gửi tuần tự các thƣ điện tử này. Khung hiển thị soạn thảo bao gồm 1 bộ điều khiển hiện thị cho phép hiện một giao diện tiêu chuẩn bao gồm các thông tin: ngƣời nhận, tiêu đề, nội dung, file đính kèm. Ngoài ra nó cũng câp cấp khả năng cho phép ngƣời dùng chỉnh sửa độ ƣu tiên khi gửi thƣ đi.

Từ phiên bản iOS 4.0, tập thƣ viện này cung cấp thêm bộ điều khiển hiện thị liên quan đến hiện thị, soạn thảo tin nhắn SMS. Giống nhƣ email, tập thƣ viện này cung cấp giao diện tiêu chuẩn cho ngƣời dùng khi hiện thị khung cửa sổ làm việc với tin nhắn SMS.

3.4.7 Tập thƣ viện giao diện ngƣời dùng UIKit

Tập thƣ viện này cung cấp các thƣ viện cốt lõi nhất liên quan quan đến việc cài đặt giao diện đồ họa, xử lý sự kiện của một ứng dụng trong hệ điều hành iOS. Mọi ứng dụng đều sử dụng tập thƣ viện này để cài đặt các tính năng chính sau:

● Quản lý ứng dụng

● Hỗ trợ đồ họa và đa cửa sổ ● Hỗ trợ đa tác vụ

● Hỗ trợ in ấn

● Hỗ trợ xử lý đến sự kiện chạm và các sự kiện dựa trên chuyển động ● Các đối tƣợng đại diện cho các khung cửa sổ tiêu chẩn

● Hỗ trợ xủ lý văn bản, web

● Hỗ trợ tính năng copy, cut, paste.

● Hỗ trợ việc sinh ra các nội dung động trên giao diện ngƣời dùng ● Cung cấp dịch vụ hiển thị thông qua qua cơ chế Push

● Tạo PDF

● Hỗ trợ khả năng truy cập cho ngƣời khuyết tật

Ngoài ra tập tƣ viện này còn cung cấp thêm một số tính năng mở rộng dựa trên cấu hình của từng loại thiết bị:

● Dữ liệu định vị

● Hỗ trợ thao tác với máy ảnh và thƣ viện ảnh số của ngƣời dùng ● Thông tin thiết bị: tên, model, trạng thái pin

● Các thông tin cảm ứng xoay

● Các thông tin điều khiển từ xa của thiết bị tai nghe đƣợc gắn với máy cầm tay.

Hình 13. Cấu trúc phân hê ̣ các lớp trên bô ̣ thƣ viê ̣n Cococa

3.5 Mô hình kiến trúc của chƣơng trình OCR

Các ứng dụng đƣợc xây dựng trên hệ điều hành iOS đều tuân theo kiến trúc MVC. MVC là một kiến trúc phần mềm. Hiện tại nó đƣợc xem nhƣ là mẫu kiến trúc trong kỹ nghệ phần mềm. Mẫu thiết kế này tách biệt các logic nghiệp vụ khỏi giao diện ngƣời dùng giúp cho việc phát triển các thành phần đƣợc độc lập cũng nhƣ việc kiểm thử, bảo trì.

Mẫu kiến trúc MVC là một mẫu thiết kế tổng hợp từ một vài mẫu thiết kế cơ bản. Các mẫu thiết kế cơ bản này phối hợp với nhau để định nghĩa ra các vùng chức năng và các tuyến giao tiếp - đây chính là một đặc trƣng của một ứng dụng theo mẫu MVC. Theo thiết kế ban đầu (khi xây dựng bộ ngôn ngữ lập trình smalltalk) MVC đƣợc tạo nên bởi các mẫu thiết kế Composite, Strategy và Observer

● Composite—Là đối tƣợng hiển thị Các đối tƣợng hiện thị trong một ứng dụng trên thực tế là các khung hiển thị lồng nhau, cùng phối hợp theo một cách thống nhất (đƣợc hiểu nhƣ là một cây phân cấp các khung hiển thị). Những thành phần hiển thị bao gồm từ các thành phần hiển thị phức tạp nhƣ 1 cửa sổ, 1 bảng dữ liệu hay chỉ đơn thuần là 1 đối tƣợng đơn nhƣ là 1 nút bấm. Các đối tƣợng nhập liệu, hiển thị có thể đƣợc đặt ở bất cứ mức nào trong kiến trúc hiển thị tổ hợp này.

● Strategy—Là đối tƣợng điều khiển. Một đối tƣợng điều khiển sẽ đƣợc cài đặt để thực thi tác vụ logic tƣơng ứng cho từng đối tƣợng hiện thị. Đối tƣợng hiện thị chỉ chị trách nhiệm về hiển thị và nó chuyển giao cho bộ điều khiển quyết ý nghĩa cụ thể của từng hành vi trên giao diện.

● Observer—Là mô hình dữ liệu. Một mô hình dữ liệu sẽ lƣu trữ các đối tƣợng cần quan tâm trong ứng dụng, thƣờng là các đối tƣợng hiện thị đƣợc hiện thị, và luôn giám sát các thay đổi về trạng thái của các đối tƣợng này

Hình dƣới dây mô tả cách hoạt động của mẫu MVC truyền thống.

Hình 14. Mô hình MVC

Dựa trên mẫu kiến trúc MVC truyền thống Apple xây dựng một mẫu kiến trúc MVC riêng đƣợc sử dụng trong các hệ thông của mình – Cococa MVC. Hình dƣới dây là mô tả cách hoạt động của Cococa MVC. Trong mô hình này các thông tin về thay đổi trạng thái của các đối tƣợng trong Model sẽ tƣơng tác với các đối tƣợng hiển thị View thông qua các đối tƣợng điều khiển Controller

Hình 15. Mô hình Cococa MVC của Apple

3.6 Mô hình thiết kế

Hình 16. Mô hình Use-Case củ a ƣ́ng du ̣ng 3.6.1.2 Mô hình công tác

CHƢƠNG 4 CHƢƠNG TRÌNH THƢ̣C NGHIỆM

4.1 Giới thiệu mô trƣờng phát triển và cách cài đặt

4.1.1 Giới thiệu về thiết bị iPhone 4.1.1.1 Sơ lƣợc lịch sử của sản phẩm

Năm 2006, giới truyền thông mạng internet đã đƣa tin rằng hãng Apple đang tập trung vào việc cho ra đời một sảng phẩm điện thoại giống iPod với tên gọi là iPhone. Đầu năm 2007, hãng Apple chính thức xác nhận họ đang tiến hành phát triển một dòng điện thoại thông minh nhƣ vậy. Khi hãng giới thiệu các công nghệ để tạo thành sản phẩm điện thoại thông minh này, ngay lập tức thiết bị iPhone đƣợc coi là một sản phẩm mang tính đột phát với nhiều điểm mới và khác biệt. Vào ngày sản phẩm iPhone lần đầu tiên đƣợc đƣa ra thị trƣờng, ngày 29 tháng 6 năm 2007, tại các điểm bán sản phẩm của hãng, ngƣời mua xếp một hàng dài từ nửa đêm để mong muốn đƣợc sở hữu sản phẩm điện thoại thông minh này.

Số lƣợng sản phẩm bán ra phản ánh đƣợc sức hấp dẫn của dòng điện thoại thông minh này. Chỉ trong 2 ngày đầu tiên, có 270,000 sản phẩm đƣợc bán ra và đạt con số 1 triệu chỉ trong vòng một tháng rƣỡi. Sức hấp dẫn của sản phẩm tiếp tục tăng lên khi Apple xuất xƣởng thế hệ mới iPhone 3G vào 11 tháng 6 năm 2008. Cùng thời gian này hãng cũng cung cấp công cụ phát triển ứng dụng iPhone SDK giúp cho các nhà lập trình và các hãng thứ 3 cùng tham gia phát triển ứng dụng cho thiết bị này.

Sau thành công của iPhone hãng tiếp tục phát triển dòng sản phẩm máy tính bảng đa cảm ứng với tên gọi là iPad. Vào tháng 1/2010, chủ tịch hãng – Steve Jobs đã giới thiệu về sản phẩm này. Thiết bị iPad đƣợc tung ra thị trƣờng vào tháng 4/2010. Ngay trong ngày đầu tiên đã có 300,000 sản phẩm đƣợc bán ra – một con số ấn tƣợng hơn rất nhiều so với thiết bị iPhone đầu tiên đƣợc bán.

Các thiết bị nhƣ iPod Touch, iPhone, iPad (và các thiết bị của hãng trong tƣơng lai) đều sử dụng một hệ điều hành chung đó là iPhone OS. Các thiết bị này tuy có tên gọi khác nhau nhƣng đều dùng chung một nền tảng hệ điều hành. Điều này giúp cho ngƣời lập trình dễ dàng trong việc phát triển ứng dụng cho các thiết bị này. Với sự hỗ trợ của bộ công cụ lập trình iPhone OS SDK, các nhà lập trình có thể đƣa sản phẩm ứng dụng của mình lên bất cứ thiết bị nào mong muốn: iPod Touch, iPhone hay là iPad.

Hình 18. So sánh giữa iPad và iPhone. 4.1.1.3 Đặc tả phẩn cứng của iPhone

Hiện tại thiết bị iPhone bao gồm 4 phiên bản khác nhau: iPhone 2G (năm 2007), iPhone 3G (năm 2008), iPhonne 3GS (năm 2009) và iPhone 4(năm

2010). Vi xử lý của các thiết thiết bị này đều dựa trên nền tảng của kiến trúc vi xử lý ARM. Vi xử lý của thiết bị 3GS có tốc độ 620 MHz trong khi đó vi xử lý A4 của iPhone 4 có tốc độ là 1GHz. Thế hệ iPhone 4 có bộ nhớ động DRAM là 512 Mb, bộ nhớ lƣu trữ là 16 hoặc 32 Gb. Ngoài ra các thiết các dòng sản phẩm đời mới còn tích hợp nhiều tính năng nhƣ: máy ảnh số, bộ cảm biến gia tốc 3 chiếu, GPS và các kết nối BlueTooth, Wifi g/n, mạng 3G…

Về kiến trúc hệ điều hành, iPhone OS đƣợc xây dựng dựa trên nền tảng kiến trúc hệ điều hành Apple‘s OS X với nhân là UNIX. Môi trƣờng phát triển, Xcode, đƣợc sử dụng để viết mã lệnh chƣơng trình cho máy tính để bàn Macintosh cũng đƣợc sử dụng để viết ứng dụng cho thiết bị di động.

4.2 Giới thiệu về công cụ phát triển ƣ́ng

4.2.1 Chuẩn bị môi trƣờng phát triển

Bộ công cụ phát triển SDK là một tập các chƣơng trình, công cụ đƣợc hãng Apple cung cấp cho ngƣời dùng nhằm giúp viết các ứng dụng cho thiết bị di động của hãng. Bộ công cụ này bao gồm một số công cụ chính nhƣ: công cụ viết mã nguồn Xcode, công cụ gỡ rối Instrusment, công cụ kiểm thử Simulator. Bộ SDK do Apple cung cấp chỉ hoạt động trên các loại máy Macintosh Intel-based với hệ điều hành Mac OS X từ 10.5.3 trở đi.

4.2.2 Cài đặt SDK

Bộ công cụ SDK có thể download trừ Trung tâm phát triển ứng dụng iPhone của Apple tại địa chỉ http://developer.apple.com/iphone. Bạn cần phải đăng ký tài khoản iPhone Developer trƣớc khi tải bộ SDK. Sau khi download xong bộ SDK chúng ta sẽ thực hiện việc cài đặt bằng cách nhấp đúp chuột vào file nén đƣới định dạng đĩa ảo. Một cửa sổ sẽ hiện thị nên nội dung của đĩa cài đặt này nhƣ hình bên dƣới. Việc cài đặt sẽ diễn ra trong khoảng 20 đến 40 phút.

Hình 19. Cài đặt iPhone SDK 4.2.3 Vấn đề giới hạn bản quyền khi sử dụng iPhone SDK

Mặc dù Apple cung cấp bộ cung cụ iPhone SDK một cách tự do, tuy nhiên hãng đặt ra một số giới hạn đối với ngƣời sử dụng nó. Để có thể cài đặt ứng dụng của bạn lên thiết bị iPhone hay iPad, bạn cần phải có bằng chứng nhận tài khoản của hãng Apple, và hãng có quyền từ chối nếu nếu không phù hợp với chính sách của hãng.

4.2.4 Các thành phần của bộ SDK

Một bộ iPhone SDK bao gồm một số công cụ chính sau:

● Xcode: là môi trƣờng phát triển tích hợp (IDE). Nó là nơi bạn sẽ thiết lập các project, viết mã nguồn, biên dịch, và quản lý ứng dụng nói chung. Xcode hỗ trợ các mã nguồn viết dƣới dạng Objective-C và cả C++.

● Interface Builder: là công cụ cho phép bạn xây dựng giao diện đồ họa chƣơng trình. Nó bao gồm các cửa sổ, menu và các phƣơng thức để ghép nối các thành phần đồ họa với mã nguồn.

● iPhone Simulator: là bộ công cụ cho phép hiển thị một màn hình iPhone trên máy tính. Nó cho phép mô phỏng các tính năng của ứng dụng trên máy tính trƣớc khi cài đặt ứng dụng vào thiết bị thực tế.

Instruments là chƣơng trình cho phép gỡ rồi các ứng dụng cũng nhƣ theo dõi hoạt động của ứng dụng. Công cụ này có thể dùng để đo và so sánh các nguồn tài nguyên đƣợc sử dụng bởi ứng dụng theo thời gian thƣc.

Hình 20. Bộ công cụ Xcode, Interface Builder, iPhone simulator

4.3 Chƣơng trình thực nghiệm

Ứng dụng OCR thực nghiệm đƣợc phát triển dựa trên bộ thƣ viện SDK 4.1, cho phép cài đặt lên các thiết bị chạy hệ điều hành từ iOS 3.2 đến iOS 4.1. Sau khi cài đặt chƣơng trình sẽ có giao diện ngƣời sử dụng nhƣ hình bên dƣới

Hình 21. Giao diện chƣơng trình thực nghiệm

Dữ liệu đầu vào có thể lấy trực tiếp từ máy ảnh số của thiết bị hoặc từ bộ sƣu tập ảnh có sãn trong máy. Chƣơng trình thực nghiệm cho phép xử lý với nhiều định dạng ảnh khác nhau nhƣ BMP, JPG, PNG, TIF….

Nút điều khiển chọn nguồn ảnh

Nút điều khiển thay đổi

ngôn ngữ Gửi email hoặc dịch tự động OCR Vùng hiển thị kết quả nhận dạng

Ảnh chụp bằng thiết bị iPhone Kết quả nhận dạng ảnh chụp

Hình 22. Kể quả thử nghiệm chƣơng trình

4.4 Kết quả thƣ̣c nghiê ̣m

Chƣơng trình thực nghiệm này sử dụng bộ thƣ viện Tesseract 2.04 làm công cụ chính để nhận dạng. Trong khóa luận này tôi xin trình bầy kết quả thực nghiệm về độ chính xác và thời gian xử lý của chƣơng trình đƣợc cài đặt trên thiết bị iPhone 3GS. Các ảnh nguồn đƣa vào để đánh giá độ chính xác và thời gian xử lý đƣợc đƣợc chụp từ các loại sách báo, biển quảng cáo, bao bì sản phẩm. Kết quả thực nghiệm nhƣ sau:

Số ảnh mẫu 100

Một phần của tài liệu Xây dựng ứng dụng OCR cho thiết bị iPhone (Trang 28)

Tải bản đầy đủ (PDF)

(55 trang)