Danh mục

Mathlab - Xử lý ảnh

Số trang: 152      Loại file: doc      Dung lượng: 7.46 MB      Lượt xem: 22      Lượt tải: 0    
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Một ảnh chỉ số bao gồm một ma trận dữ liệu X và ma trận bản đồ màu map. Ma trận dữ liệu có thể có kiểu thuộc lớp uint8, uint16 hoặc kiểu double. Ma trận bản đồ màu là một mảng mx3 kiểu double bao gồm các giá trị dấu phẩy động nằm giữa 0 và 1. Mỗi hàng của bản đồ chỉ ra các giá trị mà: red, green và blue của một màu đơn. Một ảnh chỉ số sử dụng ánh xạ trực tiếp giữa giá trị của pixel ảnh tới giá trị trong bản đồ màu....
Nội dung trích xuất từ tài liệu:
Mathlab - Xử lý ảnh GIÁO TRÌNHMATLAB – XỬ LÝ ẢNH 1 Mục lục1. Các kiểu ảnh, các thao tác ảnh cơ bản trong Toolbox ------------- Trang 12. Phép xử lý trên vùng chọn ------------------------------------------------- Trang 163. Xử lý ảnh mờ ------------------------------------------------------------------Trang 234. Màu sắc------------------------------------------------------------------------- Trang 385. Biến đổi ảnh ------------------------------------------------------------------- Trang 526. Biến đổi không gian ảnh ---------------------------------------------------- Trang 787. Phân tích và làm giàu ảnh -------------------------------------------------- Trang 988. Các biến đổi hình thái ảnh ------------------------------------------------- Trang 129I – Các kiểu ảnh, các thao tác ảnh cơ bản trong Toolbox1. Ảnh được định chỉ số (Indexed Images)- Một ảnh chỉ số bao gồm một ma trận dữ liệu X và ma trận bản đồ màu map. Ma trận dữliệu có thể có kiểu thuộc lớp uint8, uint16 hoặc kiểu double. Ma trận bản đồ màu là mộtmảng mx3 kiểu double bao gồm các giá trị dấu phẩy động nằm giữa 0 và 1. Mỗi hàng củabản đồ chỉ ra các giá trị mà: red, green và blue của một màu đơn. Một ảnh chỉ số sử dụngánh xạ trực tiếp giữa giá trị của pixel ảnh tới giá trị trong bản đồ màu. Màu sắc của mỗipixel ảnh được tính toán bằng cách sử dụng giá trị tương ứng của X ánh xạ tới một giá trịchỉ số của map. Giá trị 1 chỉ ra hàng đầu tiên, giá trị 2 chỉ ra hàng thứ hai trong bản đồmàu …- Một bản đồ màu thường được chứa cùng với ảnh chỉ số và được tự động nạp cùng vớiảnh khi sử dụng hàm imread để đọc ảnh.Tuy nhiên, ta không bị giới hạn khi sử dụng bảnđồ màu mặc định, ta có thể sử dụng mất kì bản đồ màu nào. Hình sau đây minh họa cấutrúc của một ảnh chỉ số. Các pixel trong ảnh được đại diện bởi một số nguyên ánh xạ tớimột giá trị tương ứng trong bản đồ màu.(ẢNH)Lớp và độ lệch của bản đồ màu (Colormap Offsets)- Quan hệ giữa giá trị trong ma trận ảnh và giá trị trong bản đồ màu phụ thuộc vào kiểugiá trị của các phần tử ma trận ảnh. Nếu các phần tử ma trận ảnh thuộc kiểu double, giátrị 1 sẽ tương ứng với giá trị trong hàng thứ nhất của bản đồ màu, giá trị 2 sẽ tương ứng 2với giá trị trong hàng thứ 2 của bản đồ màu … Nếu các phần tử của ma trận ảnh thuộckiểu uint8 hay uint16 sẽ có một độ lệch (offset) – giá trị 0 trong ma trận ảnh sẽ tương ứngvới giá trị trong hàng đầu tiên của bản đồ màu, giá trị 1 sẽ tương ứng với giá trị tronghàng thứ 2 của bản đồ màu ….- Độ lệch cũng được sử dụng trong việc định dạng file ảnh đồ họa để tăng tối đa số lượngmàu sắc có thể được trợ giúp.Giới hạn trong việc trợ giúp ảnh thuộc lớp unit16- Toolbox xử lý ảnh của Matlab trợ giúp có giới hạn ảnh chỉ số thuộc lớp uint16. Ta cóthể đọc những ảnh đó và hiển thị chúng trong Matlab nhưng trước khi xử lý chúng, taphải chuyển đổi chúng sang kiểu uint8 hoặc double. Để chuyển đổi (convert) tới kiểudouble ta dùng hàm im2double. Để giảm số lượng màu của ảnh xuống 256 màu (uint8)sử dụng hàm imapprox.2. Ảnh cường độ (Intensity Images)- Một ảnh cường độ là một ma trận dữ liệu ảnh I mà giá trị của nó đại diện cho cường độtrong một số vùng nào đó của ảnh. Matlab chứa một ảnh cường độ như một ma trận đơn,với mỗi phần tử của ma trận tương ứng với một pixel của ảnh. Ma trận có thể thuộc lớpdouble, uint8 hay uint16. Trong khi ảnh cường độ hiếm khi được lưu với bản đồ màu,Matlab sử dụng bản đồ màu để hiển thị chúng.- Những phần tử trong ma trận cường độ đại diện cho các cường độ khác nhau hoặc độxám. Những điểm có cường độ bằng 0 thường được đại diện bằng màu đen và cường độ1,255 hoặc 65535 thường đại diện cho cường độ cao nhất hay màu trắng.3. Ảnh nhị phân (Binary Images)-Trong một ảnh nhị phân, mỗi pixel chỉ có thể chứa một trong hai giá trị nhị phân 0 hoặc1. Hai giá trị này tương ứng với bật hoặc tắt (on hoặc off). Một ảnh nhị phân được lưu trữnhư một mảng lôgíc của 0 và 1.4. Ảnh RGB (RGB Images)- Một ảnh RGB - thường được gọi là true-color, được lưu trữ trong Matlab dưới dạngmột mảng dữ liệu có kích thước 3 chiều mxnx3 định nghĩa các giá trị màu red, green vàblue cho mỗi pixel riêng biệt. Ảnh RGB không sử dụng palette. Màu của mỗi pixel đượcquyết định bởi sự kết hợp giữa các giá trị R,G,B (Red, Green, Blue) được lưu trữ trongmột mặt phẳng màu tại vị trí của pixel. Định dạng file đồ họa lưu trữ ảnh RGB giống như 3một ảnh 24 bít trong đó R,G,B chiếm tương ứng 8 bít một. Điều này cho phép nhận được16 triệu màu khác nhau.- Một mảng RGB có thể thuộc lớp double, uint8 hoặc uint16. Trong một mảng RGBthuộc lớp double, mỗi thành phần màu có giá trị giữa 0 và 1. Một pixel mà thành phầnmàu của nó là (0,0,0) được hiển thị với màu đen và một pixel mà thành phần màu là(1,1,1) được hiển thị với màu trắng. Ba thành phần màu của mỗi pixel được lưu trữ cùngvới chiều thứ 3 của mảng dữ liệu. Chẳng hạn, giá trị màu R,G,B của pixel (10,5) đượclưu trữ trong RGB(10,5,1), RGB(10,5,2) và RGB(10,5,3) tương ứng.- Để tính toán màu sắc của pixel tại hàng 2 và cột 3 chẳng hạn, ta nhìn vào bộ ba giá trịđược lưu trữ trong (2,3,1:3). Giả sử (2,3,1) chứa giá trị 0.5176; (2,3,2) chứa giá trị 0.1608và (2,3,3) chứa giá trị 0.0627 thì màu sắc của pixel tại (2,3) sẽ là (0.5176,0.1608,0.0627)- Để minh họa xa hơn khái niệm ba mặt phẳng màu riêng biệt được sử dụng trong mộtảnh RGB, đoạn mã sau đây tạo một ảnh RGB đơn giản chứa các vùng liên tục của R,G,Bvà sau đó tạo một ảnh cho mỗi mặt phẳng riêng của nó (R,G,B). Nó hiển thị mỗi mặtphẳng màu riêng rẽ và cũng hiển thị ảnh gốc. RGB=reshape(ones(64,1)*reshape(jet(64),1,192),[64,64,3]); R=RGB(:,:,1); G=RGB(:,:,2); B=RGB(:,:,3); imshow(R) figure, imshow(G) figure, imsho ...

Tài liệu được xem nhiều:

Tài liệu có liên quan: