Mục lục
1 . Các kiểu ảnh , các thao tác ảnh cơ bản trong Toolbox
---------------------------- Trang 1
2. Phép xử lý trên vùng chọn
------------------------------------------------------------------- Trang 16
3. Xử lý ảnh mờ
--------------------------------------------------------------------------------------Trang 23
4. Màu
sắc---------------------------------------------------------------------------------------------- Trang 38
5. Biến đổi ảnh
--------------------------------------------------------------------------------------- Trang 52
6. Biến đổi không gian ảnh ---------------------------------------------------------------------- Trang 78
7. Phân tích và làm giàu ảnh
-------------------------------------------------------------------- Trang 98
8. Các biến đổi hình thái ảnh
------------------------------------------------------------------ Trang 129
I – Các kiểu ảnh , các thao tác ảnh cơ bản trong Toolbox
1 . Ả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ộ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 . Màu
sắc của mỗi pixel ả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 hoạ cấu trú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ới mộ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ểu giá 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 vớ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ộc
kiểu uint8 hay uint16 sẽ có một độ lệch (offset ) – giá trị 0 trong ma trận ảnh
sẽ tương ứng vớ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ị trong hà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 đồ hoạ để tăng tối đa số lượng mà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 , ta phải chuyển đổi
chúng sang kiểu uint8 hoặc double . Để chuyển đổi ( convert ) tới kiểu double 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 dơ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ớp double , 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ặc 1 . Hai giá trị này tương ứng với bật hoặ 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ạng mộ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 được quyế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ữ trong một mặt phẳng màu tại vị trí của pixel .
Định dạng file đồ hoạ lưu trữ ảnh RGB giống như mộ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 được 16 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 RGB thuộ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ần mà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ùng vớ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) được
lư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.1608 và
(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 hoạ 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,B và 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ặt phẳng màu riêng rẽ
và cũng hiển thị ảnh gốc.
Link tải toàn bộ tài liệu: Giáo trình Mathlab cho xử lý ảnh
Em chào thầy, thầy có thể cho em xin bài này của thầy được không ạ, em thấy nó hay quá, trên mạng toàn tiếng anh. em cảm ơn
ReplyDeletegmail: thanhtungspt@gmail.com