Bài giảng Xử lý ảnh - Chương 4: Phần mềm xử lý ảnh

7 9 0
Bài giảng Xử lý ảnh - Chương 4: Phần mềm xử lý ảnh

Đang tải... (xem toàn văn)

Thông tin tài liệu

[r]

(1)

CHƯƠNG

PHẦN MỀM XỬ LÝ ẢNH

4.1 GIỚI THIỆU

Những phần khác sách nhằm vào thuật giải sử dụng xử lý ảnh số thành phần phần cứng để thực công nghệ Trong chương này, nói tổ chức chương trình máy tính thực phép toán Đặc biệt, xem xét phần mềm thiết kế, phát triển đưa cho người sử dụng Kiến thức trình có ích nhà phát triển người sử dụng Đối với nhà phát triển, tránh cố gắng uổng phí thực chán ngắt Đối với người sử dụng, trợ giúp sựđịnh giá phần mềm thực dự án

Chương cung cấp nhìn khái quát chủ đề quan trọng nêu Chúng lưu ý quan trọng vấn đề có liên quan đặc biệt đến biểu diễn số nhiều tài liệu quan trọng chủđề

Trong dạng đầy đủ nó, với sản phẩm phần mềm thương mại, trình phát triển phần mềm bao gồm nhiều giai đoạn Pha thiết kế nhận thức thiết lập đặc tính hoạt động hàm bản, sau thuật giải nghiên cứu hạn chế cơng nghệ thực Tiếp theo, pha mã hoá tạo phần mềm Trong pha chạy thử duyệt lại, thiếu sót kỹ thuật sửa chữa ý tưởng hợp vào chương trình Sự cung cấp tài liệu người sử dụng miêu tả cách thức điều khiển hệ thống cung cấp tài liệu cơng nghệ giải thích cấu trúc vật lý logic Cuối cùng, phần mềm phát hành hỗ trợ thị trường Hoạt động sau bao gồm hướng dẫn khách hàng, hỗ trợ cơng nghệ tiếp tục bảo trì phần mềm (những dấu photo bị mờ không đọc được)

Một dự án ứng dụng khác dự án phát triển chỗ sử dụng phần cứng sử dụng phần mềm để giải toán riêng Điều bắt đầu với lựa chọn phần cứng phần mềm sử dụng Tiếp theo pha thiết kế nhận thức tập hợp bộảnh dùng để phát triển kiểm tra Theo sau phát triển thuật giải thực việc thực kiểm tra sau đóđưa công nghệ vào sử dụng Điều phải bao gồm việc chứng minh công bố công nghệ, hướng dẫn học tập nghiên cứu khoảng thời gian hạn chế, cài đặt hệ thống vài hoạt động hướng vào sản xuất (production-oriented)

4.2 CÁC H THỐNG XẢNH

(2)

4.2.1 Khuôn dng file d liu nh

Với tư cách phạm vi hoạt động, nói chung xử lý ảnh số tạo lượng lớn file liệu lớn có liên quan chứa ảnh số Những file phải lưu trữ chúng cần trao đổi người sử dụng hệ thống khác Bắt buộc phải có vài khn dạng tiêu chuẩn cho việc lưu trữ truyền file ảnh số

Nhiều dạng file ảnh số định nghĩa sử dụng Một vài dạng sử dụng rộng rãi trở thành tiêu chuẩn phổ biến (de facto) khơng nhiều (Xem ví dụ bảng 4-1) Hầu hết chương trình xử lý ảnh thương mại có sẵn có thểđọc ghi vài khn dạng file ảnh phổ biến Các chương trình khác có hồn tồn có thểđọc hiển thịảnh lưu trữ nhiều dạng file khác chuyển đổi chúng từ dạng sang dạng khác Các chương trình tự động hiểu dạng file đầu vào định, từ phần mở rộng tên file từ thông tin định danh thân file Khi lưu lại ảnh hiển thị vào file, người sử dụng rõ khn dạng file mong muốn

BẢNG 4-1 KHN DẠNG FILE DỮ LIỆUẢNH

Tên Kiểu Cách sử dụng

Tagged image format Encapsulated PostScript Graphical interchange format Bit-mapped format

Presentation manager Macintosh

*.TIF *.EPS *.GIF *.BMP *.BMP *.PICT

DOS, UNIX and Macintosh images Publishing industry format

CompuServe graphics format Microsoft Windows format IBM OS/2 Bit-mapped format Apple Macintosh images

Đa số khuôn dạng file ảnh lưu trữ nhãn thích thêm vào liệu ảnh Chú thích liệu tạo khuôn dạng ảnh, thích người sử dụng

Thơng thường, thiết bị hiển thịđơn sắc dùng mạch chuyển đổi số-tương tự (DAC) bit để tạo tín hiệu video điều khiển độ sáng điểm ảnh hiển thị hình Thiết bị có khả cung cấp 256 trạng thái xám Các thiết bị hiển thị màu sử dụng chuyển đổi số-tương tự (DAC) bit tạo bao tín hiệu video điều khiển thành phần độ sáng đỏ (red), lục (green), lam (blue) ảnh hiển thị Vì thế, chúng có khả hiển thị 224, tức 16 triệu màu khác Do thiếu hồn chỉnh thơng thường ống hiển thị hạn chế mắt người nên số lượng màu nhận thấy rõ cách đáng kể

Ảnh số xuất khuôn dạng đơn sắc màu, mà mức độ khác độ phân giải đo sáng (photometric resolution) (số màu trạng thái xám) Với ảnh đơn sắc, số lượng trạng thái xám thang xám (gray scale) phổ biến 2, 16 256 ứng với 1, bit/điểm ảnh Những độ phân giải riêng biêt dễ dàng đóng gói thành byte bit nhớ file đĩa Những độ phân giải khác sử dụng ứng dụng

Bảng màu (palette) bảng tra cứu (look-up) liên kết giá trịđiểm ảnh ảnh với màu hiển thị tương ứng Một ảnh màu bit sử dụng 16 màu cụ thể chọn bảng 16 triệu màu để hiển thị

(3)

ánh xạđối với ảnh màu cụ thể thông thường bao hàm file liệu ảnh điều khiển thiết bị hiển thị ảnh hiển thị hay in

4.3 GIAO DIỆN NGƯỜI S DỤNG

Thời kỳđầu máy tính, giao diện chủ yếu người sử dụng với hệ thống phần mềm hệđiều hành nhà sản xuất Mặc dù có tính mềm dẻo, sản phẩm rõ ràng cồng kềnh sử dụng hàng ngày Gần hơn, xu hướng ngày tiến tới việc sản xuất giao diện phần mềm thân thiện với người sử dụng Điều tạo cho thao tác viên (operator) môi trường tiện lợi thoải mái để phát triển sử dụng phần mềm xử lý ảnh số Một giao diện người sử dụng địi hỏi cơng cụ thuận tiện có sẵn, với chi phí tối thiểu Các phần mềm xử lý ảnh số đại đặt khả xử lý tính mềm dẻo vào tay người sử dụng cách nhanh dễ dàng Thiết kế chúng phục vụ cho trực giác người sử dụng điều làm cho chúng dễ dàng để học sử dụng

4.3.1 B thơng dch dịng lnh (Command-Line Interpreter)

Kiểu giao diện người sử dụng cũ đơn giản thông dịch dịng lệnh (Hình 4-1) Sử dụng ngơn ngữ ngun văn (textual language) dành riêng, yêu cầu người sử dụng phải biết tuỳ chọn có sẵn, từ nhớ hay tài liệu mở bàn Nó đưa trước mắt người sử dụng dấu nhắc (prompting character) hình báo hiệu sẵn sàng xuất phát, khơng cung cấp hỗ trợ vấn đề mà thực Điều yêu cầu độ tin cậy cao vào tài liệu viết, đặc biệt giai đoạn học (learning phase) Tình hình cải thiện đáng kể cách sử dụng file batch hay script, định rõ loạt bước xử lý có thểđược gọi lệnh đơn Tập file script phong phú làm cho thơng dịch dịng lệnh giải dễ dàng

HÌNH 4-1

Hình 4-1 Giao diện thơng dịch dòng lệnh

4.3.2 Giao din điu khin bng trình đơn (Menu-Driven Interface)

Thế hệ thứ hai, giao diện điều khiển trình đơn, đưa danh sách chọn lựa hình, lựa chọn có thểđược hồn thành hai phím bấm (Hình 4-2) Điều giảm bớt việc phải ghi nhớ phụ thuộc thao tác viên vào tài liệu viết nhiều, nhưđòi hỏi cố gắng đểđưa trình chi tiết vào hoạt động

(4)

có thể di chuyển trỏ đến khu vực gán nhãn thích hợp nhấn nút thiết bị Người sử dụng có thểkéo xuống (pull down) nhiều trình đơn (menu) từ trình đơn đỉnh hình hiển thị cần thiết, theo cách làm giảm bớt lộn xộn hình, sau người sử dụng kích vào chọn lựa tuỳ ý trình đơn xuất

Các trình đơn hữu theo cấu trúc phân cấp Việc chọn mục trình đơn làm xuất trình đơn nhiều lựa chọn cụ thể Mỗi trình đơn hay mục trình đơn kết hợp với thơng báo trợ giúp (help message) giải thích tuỳ chọn cách sử dụng Điều xuất nơi mà thao tác viên u cầu hình

HÌNH 4-2

Hình 4-2 Giao diện điều khiển trình đơn môi trường cửa sổ

4.3.3 Giao din đồ ho (Graphical User Interface)

Thế hệ thứ ba giao diện người sử dụng đồ hoạ (GUI- phát âm “gooey”) Thao tác viên điều khiển phần hệ thống theo ngôn ngữ trực quan (visual language) thay ngơn ngữ ngun văn đơn với thơng dịch dịng lệnh GUI biểu diễn tuỳ chọn cho sẵn văn bản, trình đơn, mà biểu tượng đồ hoạ hiển thị hình Những biểu tượng (icon) khơng biểu thị q trình, mà cịn biểu diễn liệu (ví dụ nhưảnh số) thiết bị phần cứng (ổđĩa, máy in, )

Với thực GUI đầy đủ, ta khởi đầu cơng việc - ví dụ, in ảnh lưu trữ - kỹ thuật kéo thả (drag and drop) Sử dụng thiết bị trỏ, thao tác viên chọn biểu tượng biểu diễn ảnh, di chuyển sang biểu tượng khác biểu diễn máy in nhả ra, q trình in bắt đầu Điều không nhanh việc gõ dòng lệnh mà thú vị

4.3.4 Giao din lung d liu (Data Flow Interface)

(5)

HÌNH 4-2

Hình 4-3 Ví dụ biểu đồ luồng liệu GUI

Mỗi biểu tượng có đường điều khiển, chọn trỏ, mà bắt đầu thực trình khiến trình đơn xuất bất kỳ, cho phép người sử dụng định nghĩa chi tiết trình Mỗi biểu tượng biểu thị báo (indicator) trạng thái cho biết (1) định nghĩa đầy đủ hay không, (2) sẵn sàng hoạt động hay khơng, (3) thực hồn thành hoạt động chưa

4.3.5 Ca s

Trong ngày đầu xử lý ảnh, người sử dụng có sở để nhận nhiều hình hiển thịđã tăng khả sử dụng hệ thống lên nhiều Ví dụ, thích hợp để sử dụng cách hiển thị khác giao diện người sử dụng hiển thịảnh Một lựa chọn (và rẻ hơn) sử dụng thiết bị hiển thị khuôn dạng đơn lớn cho hàm khác lúc

Môi trường hướng cửa sổ (Window-oriented environment) phần mềm sử dụng hình hiển thị có hiệu để trình bày đối tượng độc lập khác lúc Người sử dụng mở (chẳng hạn, thiết lập hay định nghĩa) nhiều cửa sổ hiển thị khác sử dụng cửa sổ cho mục đích hiển thị khác nhau, ta sử dụng nhiều àn hình hiển thị Mỗi cửa sổ định vị định kích thước lại hình, điển hình dùng thiết bị trỏ kéo đường biên Ởđây cửa sổ chồng lên nhsu, cửa sổ (cửa sổ hoạt động) che khuất phần hay toàn cửa sổ cửa sổ “ở dưới” nó, chồng đè lên ảnh hình

Xu hướng thiết kế giao diện người sử dụng ý nhiều vào ngôn ngữ trực quan, trả giá ngôn ngữ nguyên văn Cảm giác với giao diện trực quan dễ dàng cho người bắt đầu học nhanh cho chuyên gia sử dụng so với việc đánh máy văn từ bàn phím Đầu vào tiếng nói vấn đề thêm vào hữu ích với chuột bàn phím Tiếng nói tổng hợp cho phép hệ thống trả lời thao tác viên Giao diện lời đặc biệt hữu dụng thao tác viên phân chia ý cho nhiều công việc khác Trong vài trường hợp, chuỗi tín hiệu video số hố cung cấp trợ giúp trực tuyến (on-line) có giá trị cần thiết

4.4 QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM

Trong ngày đầu lập trình máy tính nói chung xử lý ảnh số nói riêng, q trình phát triển phần mềm, theo cách nói bây giờ, khơng có cấu trúc

(unstructured) Những người lập trình máy tính khơng hiếm, giống kiểu người tiên phong khác, mà cịn có tính chất chủ nghĩa cá nhân

(6)

tiếp theo chương trình mức cao dựa vào chương trình trước đó, người lập trình ban đầu khai thác cách sáng tạo phong phú ngơn ngữ lập trình cấp cao đương thời để viết mã lệnh nhanh, cô đọng chất giải mã

Khoảng năm 1970, nhiều vấn đề với cách tiếp cận trở thành hiên nhiên Đầu tiên, phức tạp dự án phần mềm tiến đến mức mà người lập trình khó lịng giữ tất khía cạnh chương trình lúc đầu Nghiên cứu tâm lý học đưa giả thiết người thật khó chịu cố gắng giữ dấu vết nhiều năm đến chín mẩu thơng tin lúc Hạn chế lấy phần lớn giá ngân sách dự án phát triển phần mềm lớn lặp lặp lại nhiều lần

Thứ hai, với dự án bao gồm nhóm nhà lập trình, phối hợp kết cố gắng thành vấn đề trọng đại Các mô đun viết cá nhân khác không thành công việc làm cho khớp vào với cách trơi chảy Thứ ba, có thay đổi nhân viên, trở nên tốn phí người lập trình để giải mã (decipher) mã nguồn tình trạng thiếu vài cấu trúc agreed-upon phổ biến, đặc biệt thiếu tài liệu kèm Ví dụ, theo bố trí trường đại học, sinh viên hay cán lập trình làm cho tất phần mềm mà hay cô ta phát triển làm việc dự án nghiên cứu không sử dụng

Các dự án phát triển phần mềm thương mại đòi hỏi tác động qua lại lẫn đáng kể nhiều nhân để chắn sản phẩm cuối thoả mãn tất yêu cầu (thường cạnh tranh) Hình 4-4 ví dụ mơt lưu đị sử dụng môt dự án phát triển phần mềm thương mại

Các bước quan trọng vòng phát triển phần mềm liệt kê bảng 4-2 Những bước thực cách tuần tự, cách gối chồng lên nhau, hay lặp Theo định nghĩa, phân tích q trình nghiên cứu vấn đề đặc tính hoạt động giải Kết cho ta đặc tả hàm (functional specification) phần mềm Thiết kế thực đặc tả thêm chi tiết yêu cầu cho việc thực phần cứng riêng biệt Lập trình, dĩ nhiên viết, kiểm tra, gỡ rối cung cấp tài liệu chương trình máy tính

BẢNG 4-2 QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM 1.Phân tích yêu cầu - Requirements analysis 2.Thiết kế sơ - Preliminary design 3.Mẫu - Prototyping (if required) 4.Thiết kế chi tiết - Detailed design 5.Thực - Implementation (coding) 6.Kiểm tra - Testing

7.Bảo trì - Maintenance

(7)

Hình 4-4 Ví dụ lưu đồ phát triển phần mềm

Mặc dù cách tiếp cận nảy sinh phức tạp mức cần thiết, kinh nghiệm cho thấy việc thực công việc lần rẻ sử dụng thêm thời gian cho việc thay đổi gỡ rối chương trình thực tồi tệ từđầu

4.4.1 Quá trình hot động ca chương trình

Một chương trình ứng dụng hoạt động ba chếđộ, tuỳ thuộc vào vai trị mà thực q trình tính tốn Trong chế độ lơ (batch mode), chương trình đặt vào hàng đợi (queue) thi hành lúc máy tính giải xong cơng việc trước Mặc dù câu lệnh phải thực tuần tự, khơng có khác thực lệnh dù diễn hàng nano giây hay hàng phút Vài chương trình xử lý ảnh thuộc vào loại Một chương trình điều khiển theo kiện (event-driven program) tham gia vòng lặp kiện, chờđợi kiện xảy Bình thường, thao tác viên gây hoạt động (nhấn phím, kích chuột, ) tạo thành kiện Chương trình liên tục thăm dò (poll) thiết bịđầu vào, kiểm tra nhận diện kiện xảy Sau thực chương trình thích hợp trở vịng lặp kiện Bình thường chương trình xử lý ảnh ảnh hưởng lẫn thuộc loại

Chương trình thời gian thực (real-time) điều khiển q trình xảy ra, ví dụ hoạt động sản xuất Bản thân thời gian đóng vai trị quan trọng q trình tính tốn Thường thường, chương trình điều khiển đầu trình điều chỉnh tham số điều khiển q trình Điều bao hàm xử lý ảnh

4.4.2 Thiết kế t xung (Top-Down)

Vào đầu năm 1970, khái niệm lập trình có cấu trúc (structured progamming) thiết kế xuống (top-down design) xuất để giải tốn lập trình khơng có cấu trúc tạo Thiết kế xuống cần phải viết gỡ rối phần mềm mức cao (giao diện người sử dụng) sau thêm dần chương trình mức thấp hơn, chương trình điều khiển phần cứng thường viết sau Kiểu thiết kế tương phản với thiết kế dưới lên

(bottom-up), người ta viết chương trình đơn giản xây dựng dần lên từ chúng, nhận chương trình mức thấp bỏ sót hàm cần thiết

Thiết kế xuống có hai lợi quan trọng Một lợi có liên quan đến giao diện mô đun Mức đỉnh thiết kế trực tiếp từ đặc tả chức hệ thống Mỗi giao diện mô đun thực gốc (stub)

Lợi thứ hai giải thích phần hệ thống trình phát triển Giao diện người sử dụng có thểđược đưa ước lượng từ lúc đầu, đem lại cho người sử dụng khả xem trước việc Những gốc (stub) đại diện cho chương trình mức thấp chưa viết Dần dần thay gốc chương trình con, từ xuống, dự án trình bày

4.4.3 Hướng phát trin có cu trúc

Ngày đăng: 09/03/2021, 04:56

Tài liệu cùng người dùng

Tài liệu liên quan