CAD
Nguyễn Ngọc Mỹ 1
Cơ bản về ảnh số
Các thao tác xử lý ảnh cơ bản trong
MATLAB
Truy xuất ảnh từ thiết bị
2
Nguyễn Mỹ
3
Mỗi pixel dùng 1 bit để chỉ cường độ màu.
Cường độ màu: 0 hoặc 1.
4
Mỗi pixel dùng 8 bit để chỉ cường độ màu.
Cường độ màu: 0 255.
5
Mỗi pixel dùng 24 bit để chỉ cường độ màu.
Cường độ màu: 8 bit cho mỗi sắc thái R, G, B.
6
HIỆU QUẢ ĐỊNH ĐẶC ĐIỂM
DẠNG
JPG
Ưu:
- File size nhỏ nhất so với các dạng nén khác.
- Thích hợp cho ảnh chụp (Photographic Image).
Khuyết: - Chất lượng kém (gây ra JPG artifact,…).
TIFF
Ưu:
- Thích hợp cho ảnh đồ họa (Graphic Image).
- Chất lượng tốt nhất.
Khuyết: - Không hiển thị được trên web.
GIF
Ưu:
- Thích hợp cho ảnh động, ít màu, nền trong suốt.
Khuyết: - Chỉ có tối đa 256 màu.
PNG
Ưu:
- Thích hợp cho ảnh đồ họa.
- Hỗ trợ nền trong suốt.
-Chất lượng tốt.
- File size thường nhỏ hơn TIFF, GIF.
Khuyết: - Đọc và ghi hơi chậm hơn TIFF, GIF.
Lossy
Lossless
7
TIFF, 238KB
JPG, 44KB
GIF, 50KB
8
Tổ chức đồ: là một đồ thị biểu diễn sự phân
bố các mức cường độ màu trong ảnh số.
Trục hoành: biểu diễn các mức cường độ màu.
Trục tung: số lượng pixel tương ứng.
9
Ví dụ 1: Tổ chức đồ của ảnh mức xám
10
Ví dụ 2: Tổ chức đồ của ảnh RGB
11
Ảnh sáng: tổ chức đồ thiên về bên phải.
Ảnh tối: tổ chức đồ thiên về bên trái.
12
Điều chỉnh độ sáng tối trượt tổ chức đồ.
13
Độ tương phản: tổ chức đồ giãn ra.
Tương phản thấp: tổ chức đồ co lại.
14
Điều chỉnh độ tương phản co giãn tổ chức đồ.
15
ĐỌC THÊM
An indexed image is where the pixel values are indices to elements in a colour map or
colour lookup table.
The colour map will contain entries corresponding to red, green and blue intensities for
each index in the image.
>> jet(20) % Generate a jet colourmap for 20 indices
ans =
0
0
0
0
0
0
0
0
0.2000
0.4000
0.6000
0.8000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
0.8000
0.6000
0
0
0
0.2000
0.4000
0.6000
0.8000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
0.8000
0.6000
0.4000
0.2000
0
0
0
0.6000
0.8000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
0.8000
0.6000
0.4000
0.2000
0
0
0
0
0
0
0
0
RGB Entry for index value 3
Values can range
from 0.0 to 1.0
3
5
2
5
1
5
7
9
7
7
4 7
6 14
8 9
1 11
9 5
9 2
6 8
2 3
8 6
5 10
3
4
4
5
6
1
18
7
7
8
6
2
2
6
5
11
1
2
4
4
19
5
13
4
5
1
8
9
15
10
8 9
6 1
7 8
1 7
14 4
3 6
1 9
8 16
8 2
4 3
1 2
4 5
4
5
4 4
6 5
1
9
13 3
6 4
1 3
6 4
Red, green and blue intensities of
the nearest index in the colourmap
are used to display the image.
16
ĐỌC THÊM
>> I2=I(:,:,2); % green values of I
Matlab considers I2 as an indexed image as it doesn’t contain
>> image(I2)
entries for red, green and blue entries
>> colorbar % display colourmap
Index
Associated color
Colour Lookup Table
17
Nguyễn Mỹ
18
Image Processing Toolbox hỗ trợ các hàm
về xử lý ảnh trong MATLAB.
Hình ảnh là một ma trận biểu diễn các
pixel và độ sâu màu (color depth).
19
Đọc ảnh bằng hàm imread()
I = imread('mandrill.jpg');
Ma trận
dữ liệu ảnh
Chuỗi tên file
Hiển thị ảnh bằng hàm imshow()
imshow(I)
20
ĐỌC THÊM
Ghi ảnh bằng hàm imwrite()
imwrite(I, 'mandrill2.jpg');
Ma trận
dữ liệu ảnh
Chuỗi tên file
Ví dụ: Ghi ảnh từ cửa sổ figure
I2 = getframe(gcf);
imwrite(I2.cdata, 'vidu.jpg');
21
rgb2gray(RGB) Chuyển ảnh RGB sang ảnh xám
im2bw(I, t)
Chuyển ảnh xám I sang ảnh nhị phân dựa trên ngưỡng t
Ví dụ:
I=imread('hinh1.jpg');
Ig=rgb2gray(I);
Ib=im2bw(Ig,0.5);
figure
subplot(3,1,1)
imshow(I); title('Anh goc');
subplot(3,1,2)
imshow(Ig); title('Anh xam');
subplot(3,1,3)
imshow(Ib); title('Anh nhi phan');
22
Hàm imhist(I): hiển thị tổ chức đồ của ảnh I.
Chú ý: I phải là ma trận 2 chiều.
Ví dụ:
I=imread('hinh2.jpg');
Ig=rgb2gray(I)
figure
subplot(2,1,1)
imshow(I); title('Anh');
subplot(2,1,2)
imhist(Ig); title('To chuc do');
23
J = imadjust(I,[lowin highin],[lowout highout])
Ánh xạ giá trị thuộc khoảng [lowin highin] trong I
sang giá trị thuộc khoảng [lowout highout] trong J.
Từ đó làm thay đổi độ tương phản, sáng tối của ảnh.
lowin, highin, lowout, highout Є [0, 1]
Ma trận rỗng [] được hiểu như [0, 1]
24
J = imadjust(I,[lowin highin],[])
Ví dụ 1: giãn histogram
I=imread('hinh2.jpg');
Icon=imadjust(I,[0 0.8],[]);
figure
subplot(2,2,1)
imshow(I); title('Anh I');
subplot(2,2,2)
Ig=rgb2gray(I);
imhist(Ig); title('To chuc do cua I');
subplot(2,2,3)
imshow(Icon); title('Anh Icon');
subplot(2,2,4)
Icong=rgb2gray(Icon);
imhist(Icong); title('To chuc do cua Icon');
25