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

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

152

mục đích giúp đỡ người sử dụng trong việc chuyển kiểu nói trên, MATLAB cung cấp sẵn các
hàm thực hiện chuyển kiểu cho các ma trận biểu diễn ảnh, bao gồm: im2double, im2uint8, và
im2uint16

.

Cú pháp của các hàm này rất đơn giản, chỉ cần nhập vào ma trận ảnh cần chuyển

kiểu, riêng với ảnh indexed cần thêm vào chuỗi

‘indexed’

.

Tuy nhiên, khi thực hiện chuyển đổi giữa các kiểu dữ liệu cẩn lưu ý một số vấn đề như sau:
ƒ Khi chuyển từ một kiểu dữ liệu dùng nhiều bit sang một kiểu dữ liệu dùng ít bit hơn, ví dụ
từ uint16 sang uint8, một số thông tin chi tiết về bức ảnh ban đầu sẽ bị mất đi. Nói chung sự
mất mát này vẫn chấp nhận được vì 256 vẫn lớn hơn số mức xám tối đa mà mắt người có thể
phân biệt được. Tuy nhiên nếu cần những ảnh có chất lượng cao thì cũng nên lưu ý sự mất
mát này.
ƒ Không phải lúc nào cũng có thể chuyển đổi kiểu dữ liệu đối với kiểu ảnh indexed, vì các
giá trị của ma trận ảnh xác định một địa chỉ trong bản đồ màu chứ không phải là giá trị màu,
do đó không thể lượng tử hoá được. Ví dụ, ta không thể chuyển một ảnh indexed kiểu

double

với ma trận màu có 300 màu thành kiểu

uint8

vì kiểu dữ liệu này chỉ có 256 giá trị.

Muốn chuyển được, đầu tiên ta phải dùng hàm imapprox để giảm số màu cần để biểu diễn
ảnh xuống (bằng cách ghép các màu gần giống nhau lại thành một màu) rồi mới chuyển.

Bảng 11.2.

Các thông tin có được khi gọi hàm imfinfo

Tên thuộc tính

Mô tả

Filename

Chuỗi chứa tên file

FileModDate

Chuỗi cho biết ngày hiệu chỉnh file gần đây nhất

FileSize

Một số nguyên chỉ kích thước file (đơn vị byte)

Format

Chuỗi cho biết định dạng của ảnh

FormatVersion

Chuỗi hoặc số cho biết tên phiên bản của định dạng

Width

Số nguyên chỉ chiều rộng ảnh (pixels)

Height

Số nguyên chỉ chiều cao ảnh (pixels)

BitDepth

Số nguyên cho biết số bits trên một pixel

ColorType

Chuỗi cho biết kiểu ảnh: ‘truecolor’, ‘grayscale’ hoặc ‘indexed’

11.1.4. CAÙC PHEÙP TOAÙN SOÁ HOÏC CÔ BAÛN ÑOÁI VÔÙI DÖÕ LIEÄU AÛNH
Các phép toán số học cơ bản trên các dữ liệu ảnh bao gồm các phép cộng, trừ, nhân và chia.
Đây là những thao tác xử lý ảnh cơ bản trước khi thực hiện các biến đổi phức tạp khác. Người
sử dụng có thể dùng các phép toán số học mà MATLAB cung cấp để tác động lên dữ liệu ảnh.
Tuy nhiên, do MATLAB chỉ hỗ trợ các phép toán này trên kiểu

double

nên cần thực hiện

chuyển đổi kiểu trước khi thực hiện. Để làm giảm bớt thao tác này, trong MATLAB Image
Processing Toolbox có cung cấp các hàm thực hiện các phép toán số học trên ảnh mà có thể
chấp nhận bất kỳ kiểu dữ liệu ảnh nào và trả về kết quả thuộc cùng kiểu với các toán hạng.
Các hàm này cũng xử lý các dữ liệu tràn một cách tự dộng. Dưới đây là danh sách các hàm
thực hiện các phép toán số học cơ bản trên ảnh cùng với cú pháp tương ứng:


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.