Thông tin tài liệu:
Bài giảng Maple - Lập trình tính toán: Chương 5 - Cơ bản về xử lý ảnh số trong Matlab trình bày về các kiểu hình ảnh trong Matlab (ảnh chỉ số, ảnh độ sáng, ảnh nhị phân, ảnh RGB, chuyển đổi giữa các kiểu ảnh); đọc và ghi dữ liệu ảnh; các phép toán số học cơ bản trên ảnh; hàm hiển thị hình ảnh; phép biến đổi hình học.
Nội dung trích xuất từ tài liệu:
Bài giảng Maple - Lập trình tính toán: Chương 5 - Cơ bản về xử lý ảnh số trong MatlabChương 5 Cơ bản về xử lý ảnh số trong Matlab5.1 Giới thiệu 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 ứng với hàng 1, cột 1. 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 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 để tác động lên 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 trên.25/05/2014 Lập trình tính toán 25.2 Các kiểu hình ảnh trong Matlab Ảnh chỉ số (indexed images) Ảnh được biểu diễn bởi hai ma trận: - Ma trận dữ liệu X: thuộc kiểu uint8, uint16 hoặc double. - Ma trận màu (bản đồ màu) map: kích thước m×3, các phần tử có kiểu double có giá trị thuộc 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 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.25/05/2014 Lập trình tính toán 35.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh chỉ số (indexed images) (tt.) X(143,219) = 124 map(124,:) = 0.8392 0.9373 1.000025/05/2014 Lập trình tính toán 45.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh độ sáng (intensity images) Ảnh được biểu diễn bởi một ma trận hai chiều, trong đó giá trị của mỗi phần tử cho biết độ sáng (hay mức xám) của điểm ảnh đó. - Ma trận thuộc kiểu uint8, uint16 hoặc double. - Giá trị nhỏ nhất (0) ứng với màu đen. - Giá trị lớn nhất (255 hoặc 65535 hoặc 1 tùy kiểu dữ liệu là uint8, uint16 hay double) ứng với màu trắng. Ảnh biểu diễn theo kiểu này còn gọi là ảnh “trắng đen” hoặc ảnh grayscale.25/05/2014 Lập trình tính toán 55.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh độ sáng (intensity images) (tt.) I(143,219) = 0.915125/05/2014 Lập trình tính toán 65.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh nhị phân (binary images) Ảnh được biểu diễn bởi một ma trận hai chiều, thuộc kiểu logical. - 0 ứng với màu đen. - 1 ứng với màu trắng. BW(143,219) = 125/05/2014 Lập trình tính toán 75.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh RGB (RGB images) Ảnh được biểu diễn bởi một ma trận ba chiều m × n × 3. - m × n: kích thước ảnh theo pixels. - Ma trận này định nghĩa các thành phần màu red, green, blue cho mỗi điểm ảnh, các phần tử có thể thuộc kiểu uint8, uint16 hay double. Ảnh biểu diễn theo kiểu này còn gọi là ảnh “truecolor”. Các file ảnh hiện nay thường sử dụng 8 bit cho một thành phần màu, nghĩa là mất 24 bit cho mỗi điểm ảnh (khoảng 16 triệu màu)25/05/2014 Lập trình tính toán 85.2 Các kiểu hình ảnh trong Matlab (tt.) Ảnh RGB (RGB images) (tt.) RGB(143,219,1) = 0.8392 RGB(143,219,2) = 0.9373 RGB(143,219,3) = 1.000025/05/2014 Lập trình tính toán 95.2 Các kiểu hình ảnh trong Matlab (tt.) Chuyển đổi giữa các kiểu ảnh Tên hàm Cú pháp Mô tả Tạo ảnh nhị phân từ ảnh trắng dither(RGB,map) đen I hoặc tạo ảnh indexed từ dither dither(I) ảnh RGB và ma trận màu map bằng phương pháp dithering Chuyển ảnh nhị phân BW [X, map] = gray2ind(I,n) hoặc ảnh intensity I thành ảnh gray2ind [X, map] = gray2ind(BW,n) indexed thông qua ma trận tuyến tính gray(n) Chuyển ảnh trắng đen I thành ảnh indexed X bằng cách lấy X = grayslice(I,n) ngưỡng. Các giá trị ngưỡng grayslice X = grayslice(I,v) được xác định bởi vector v hoặc bởi n (khi ...