MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 168

Cơ bản về xử lý ảnh số

147

Chương 11

11.

CÔ BAÛN VEÀ XÖÛ LYÙ AÛNH SOÁ


Vấn đề quan trọng khi mô phỏng một hệ thống thông tin là phân tích các đáp ứng của nó
trước các yếu tố gấy nhiễu tồn tại trong thế giới thực, minh hoạ bằng các công cụ đồ hoạ và
đánh giá xem chất lượng của nó có đáp ứng các tiêu chuẩn đã được đặt ra đối với hệ thống
hay không. Vấn đề này có thể giải quyết tốt bởi các công cụ đánh giá chất lượng kênh truyền
do MATLAB cung cấp.

11.1. BIEÅU DIEÃN AÛNH VAØ XUAÁT NHAÄP AÛNH

MATLAB là một công cụ tính toán được xây dựng trên cơ sở các phép xử lý ma trận. Đây lại
là đối tượng rất thích hợp cho việc biểu diễn các hình ảnh, trong đó, mỗi phần tử của ma trận
biểu diễn dữ liệu màu hoặc mức xám của 1 điểm ảnh. Trong MATLAB, mỗi hình ảnh thường
được biểu diễn bằng một ma trận hai chiều. Mỗi một phần tử của ma trận tương ứng với 1
pixel (một phần tử ảnh – picture element – biểu diễn bằng 1 điểm trên màn hình). Điểm ảnh ở
góc trên bên trái là ứng với hàng 1, cột 1. Một số hình ảnh được biểu diễn bằng một ma trận
ba chiều, ví dụ ảnh RGB, trong đó chiều thứ ba có kích thước bằng 3, nghĩa là ma trận này có
thể chia thành 3 ma trận hai chiều, ma trận thứ nhất ứng với độ sáng màu đỏ (R – Red) của
điểm ảnh, ma trận thứ hai ứng với độ sáng màu xanh dương (B – Blue) và ma trận thứ ba ứng
với độ sáng màu lục (G – Green).

MATLAB lưu giữ các hình ảnh dưới một trong các kiểu dữ liệu sau:

logical, uint8,

uint16, double

. Người sử dụng có thể sử dụng các phép toán và các thao tác cơ bản trên

ma trận, chẳng hạn như truy xuất các phần tử, thay đổi kích thước, sắp xếp, cắt bỏ một phần
ma trận ... để tác động lên các dữ liệu hình ảnh với điều kiện các thao tác này chấp nhận các
kiểu dữ liệu ảnh nói trên. Riêng với các kiểu dữ liệu uint8 và uint16, ta không thể sử
dụng các phép toán số học như cộng, trừ, nhân, chia. Trong trường hợp này, MATLAB cung
cấp thêm các hàm thực hiện các phép toán này mà chúng tôi sẽ đề cập ở cuối phần này.

11.1.1. CAÙC KIEÅU HÌNH AÛNH TRONG MATLAB
Image Processing Toolbox của MATLAB hỗ trợ bốn kiểu biểu diễn hình ảnh cơ bản, gồm:
ảnh chỉ số (indexed images), ảnh độ sáng (intensity images), ảnh nhị phân (binary images),
ảnh RGB (RGB images).

Ảnh chỉ số
Với cách biểu diễn ảnh này, mỗi ảnh sẽ được biểu diễn bởi hai ma trận, một ma trận dữ liệu
ảnh X và một ma trận màu (còn gọi là bản đồ màu) map. Ma trận dữ liệu có thể thuộc kiểu
uint8, uint16, hoặc double. Ma trận màu là một ma trận kích thước m x 3 gồm các
phần tử kiểu double có giá trị trong khoảng [0,1]. Mỗi hàng của ma trận xác định các thành
phần red, green, blue của một màu trong tổng số m màu được sử dụng trong ảnh. Giá trị của
một phần tử trong ma trận dữ liệu cho biết màu của điểm ảnh đó là màu nằm ở hàng nào trong
ma trận màu. Nếu ma trận dữ liệu thuộc kiểu double, giá trị 1 sẽ tương ứng với hàng thứ 1
trong bảng màu, giá trị thứ hai tương ứng với màu ở hàng thứ hai, ... Nếu ma trận dữ liệu
thuộc kiểu uint8 hoặc uint16, giá trị 0 ứng với hàng 1, giá trị 1 ứng với hàng 2, ... Riêng
với kiểu uint16, MATLAB không hỗ trợ đủ các phép toán so với kiểu uint8 nên khi cần
xử lý ta cần chuyển sang kiểu dữ liệu uint8 hoặc double bằng các hàm imapprox hoặc
im2double

. Hình 11.1 minh hoạ cách biểu diễn ảnh theo chỉ số.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.