Bài tập xử lý ảnh • Yêu cầu 1: Đọc ảnh, hiển thị, lưu với tên khác Hiển thị thông tin ảnh, phóng to (x2), thu nhỏ (÷1/2) Đọc ảnh Trong Matlab muốn đọc ảnh ta sử dụng hàm imread(‘filename’) Ví dụ: >> A=imread(‘giang.jpg’); Khi A ma trận ảnh số Trong Matlab dùng lệnh whos để xem chi tiết biến, sử dụng lệnh whos ta có thông tin ma trận A: >> whos A Hàm size cho kích thước ảnh: >> [M,N]=size(A) Mô hình đây: Hiển thị ảnh: Để hiển thị ảnh, ta sử dụng hàm imshow Ta sử dụng hàm imshow để hiển thị ảnh nhập vào không gian làm việc ví dụ sau: >> A=imread(‘giang.jpg’); >> imshow(A); 1 Ta định tên file ảnh ví dụ sau: >> imshow('giang.jpg'); - Để xem ảnh, ta sử dụng hàm imview thay cho imshow Ví dụ: >> imview(‘giang.jpg’); Màn hình hiển thị ảnh sau: Hiển thị thông tin ảnh: Hàm imfinfo(‘filename’) Matlab cho phép ta nhận thông tin file ảnh >> imfinfo(‘giang.jpg’); Các thông tin cung cấp hàm imfinfo là: filename, filemodedate, filesize, format, formatversion, width, height,… 2 Thông tin file ảnh hiển thị sau: Hiển thị ảnh phóng to, thu nhỏ: Muốn hiển thị ảnh phóng to, thu nhỏ ta dùng lệnh: imresize Ví dụ: Tăng kích thước ảnh lên lần: >> A=imread(‘giang.jpg’); >> B=imresize(A,2); >> imshow(A); >> Figure, imshow(B); Ảnh phóng to: 3 Tương tự thu nhỏ ảnh: >> A=imread(‘giang.jpg’); >> B=imresize(A,0.5); >> imshow(A); >> Figure, imshow(B); Lưu tên ảnh với khác : Để lưu tên dùng saveas: ảnh thành khác ta lệnh Ví dụ: >> A=imread(‘giang.jpg’); >> Saveas(A,”giangcoi.jpg’); Ảnh lưu với tên khác hình sau: 4 • Yêu cầu 2: Tìm số bytes cần thiết để lưu ảnh 4000×3000 pixels nếu: a) Ảnh nhị phân b) Ảnh xám c) Ảnh màu Lời giải: a) Ảnh nhị phân : k=1 Số bytes cần dùng : 4000×3000×1bit = 4000×3000bits b) Ảnh xám : k=8 Số bytes cần dùng : 4000×3000×8bits=4000×3000bytes c) Ảnh màu : k=16, k=24 Số bytes cần dùng : 16 bits: 4000×3000×16bits=4000×3000×2bytes 24 bits: 4000×3000×24bits=4000×3000×3bytes ... Saveas(A,”giangcoi.jpg’); Ảnh lưu với tên khác hình sau: 4 • Yêu cầu 2: Tìm số bytes cần thiết để lưu ảnh 4000×3000 pixels nếu: a) Ảnh nhị phân b) Ảnh xám c) Ảnh màu Lời giải: a) Ảnh nhị phân : k=1... định tên file ảnh ví dụ sau: >> imshow('giang.jpg'); - Để xem ảnh, ta sử dụng hàm imview thay cho imshow Ví dụ: >> imview(‘giang.jpg’); Màn hình hiển thị ảnh sau: Hiển thị thông tin ảnh: Hàm imfinfo(‘filename’)... Muốn hiển thị ảnh phóng to, thu nhỏ ta dùng lệnh: imresize Ví dụ: Tăng kích thước ảnh lên lần: >> A=imread(‘giang.jpg’); >> B=imresize(A,2); >> imshow(A); >> Figure, imshow(B); Ảnh phóng to: