Điểm ảnh hay còn gọi là pixel picture element, pels, image elements được xem như là dấu hiệu hay cường độ sáng tại một toạ độ trong không gian của đối tượng.. Các hoạt động có thể ch
Trang 1MỘT SỐ XỬ LÝ CƠ BẢN TRÊN MIỀN
KHÔNG GIAN
NGÔ QUỐC VIỆT
Trang 21. Phân loại và các định dạng ảnh
Trang 3 Kiến thức cơ bản về các loại ảnh
trong xử lý ảnh
histogram
Trang 4 Điểm ảnh hay còn gọi là pixel (picture element, pels, image elements) được xem như là dấu hiệu hay cường độ sáng tại một toạ độ trong không gian của đối tượng
Khi được số hoá, được biểu diễn là ma trận 2 chiều a[i][j] trong đó mỗi phần tử có một giá trị nguyên hoặc là một véc tơ cấu trúc màu
Trang 5 Mỗi pixel chứa một màu (hoặc mức xám)
value(x, y, z, , t)
màu
độ sâu z
thời gian t
Trang 6p = (r,c) là vị trí pixel r: row; c: column
I( p) = I(r,c) giá trị của pixel tại p
Trang 7 Mức xám (gray level): Mức xám là kết quả sự mã hoá tương ứng một cường độ sáng của mỗi điểm ảnh với một giá trị số-kết quả của quá trình lượng hoá
Các thang giá trị mức xám thông thường: 16, 32,
64, 128, 256 (Mức 256 là mức phổ dụng Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: Mức xám dùng 1 byte biểu diễn: 256 mức xám, tức là từ 0 đến 255)
Trang 9 Các hoạt động có thể chia thành các loại
một giá trị điểm ảnh tại cùng vị trí của ảnh input
Cục bộ (local): giá trị điểm ảnh output tại vị trí nhất định
(m, n) chỉ phụ thuộc vào giá trị các điểm ảnh lân cận của
điểm ảnh có cùng vị trí (m, n) trên ảnh input
Toàn cục (global): giá trị điểm ảnh output tại vị trí nhất
định (m, n) phụ thuộc vào toàn bộ pixel trên ảnh input
Nhằm tạo ra ảnh mới b[m,n] từ ảnh đầu vào
a[m,n] sao cho đạt một số mục tiêu tăng cường chất lượng ảnh hoặc đáp ứng các yêu cầu phân tích
Trang 10 Điểm, cục bộ, và toàn cục
Trang 12 Một điểm ảnh p tại tọa độ (x, y)
có
(x+1, y), (x-1, y), (x, y+1), (x, y-1)
Trang 13 4-liền-kề: Hai điểm ảnh p và q là 4-liền-kề nếu q
Trang 14// Open the file
IplImage *img = cvLoadImage("building.jpg");
Trang 15Input image Enhancement Input image
technique
Xử lý trực tiếp trên pixel Xử lý trên biến đổi Fourier của ảnh
Trang 16 Thay đổi giá trị không phụ thuộc vào tọa độ các điểm ảnh
Tăng giảm độ sáng, thống kê tần suất, biến đổi tần suất , âm bản, biến đổi log, v.v
trị g Histogram là biểu đồ các mức xám có trong ảnh Ví dụ cho ảnh I, histogram h(g) của I là:
Trang 17 “Trắng” chuyển thành ”đen” và ngược lại
bởi, với r là mức xám cụ thể:
r L
Trang 18int main(int argc, char **argv) {
const char* imagename = argc > 1 ? argv[1] : "lena.jpg";
Trang 19 Nhằm giãn các mức xám thấp của ảnh input có được mức xám cao hơn Nhằm làm cho bớt tối
) 1
log( r c
Trang 20 Power-law: , hoặc
hiệu chỉnh gamma (gamma correction) trên ảnh
trung thực trên màn hình
Sinh viên đọc thêm “Digital Image Processing-3 rd Edition” của Rafael C Gonzalez từ 130-137 Thực hiện với openCV những biến đổi này
cr
Trang 21 Gamma correction với gamma = 1, 0.7, 0.4, 0.1
Trang 22 Bằng cách tăng miền động (dynamic range) mức xám của ảnh
điều khiển dáng của biến đổi
Trang 23 Nếu r 1 =r 2 và s 1 =0, s 2 =L-1 thì chuyển sang ảnh nhị
phân
miền xám của ảnh sang toàn bộ miền xám [0, L-1]
r 1 =r 2 =(r max -r min )/2 (r 1 , s 1 )=(r min , 0) và (r 2 , s 2 )=(r max , L-1)
Trang 24 Lát cắt vùng xám (gray-level slicing): làm sáng một miền xám xác định trên ảnh Mong muốn làm sáng một số đối tượng trên ảnh Tăng mọi mức xám trong miền cụ thể, và làm giảm các mức xám khác
bit của điểm ảnh (giả sử dùng 8-bit cho điểm ảnh gray scale) Có thể dùng trong image compression
Trang 25 Hình dạng histogram thể hiện độ sáng (brightness) của ảnh
Trang 26 Hình dạng histogram thể hiện độ tương phản (contrast) của ảnh
Trang 27 Dùng để tăng độ tương phản toàn cục của ảnh Những vùng có tương phản thấp sẽ được cải thiện
ảnh mới có histogram chuẩn hơn
Cần một hàm biến đổi trên mức xám
Trang 28 Ảnh I được gọi là cân bằng "lý tưởng" nếu với mọi
j
i n
n n
ni j ,
Trang 29 Cân bằng histogram là phương pháp tiếp cận để xác
định một hàm biến đổi T(.) giá trị độ sáng phân bố
đồng đều (uniformly distributed) trong khoảng [0,1]
cho màu đen và r = 1 cho màu trắng
histogram ảnh đầu vào
Kỹ thuật “cân bằng histogram” có thể cải thiện chất lượng ảnh tự động mà không cần làm thủ công với chức năng co/giãn mức xám
Trang 30 Phần trình bày sau chỉ là một cách cân bằng histogram
T(r) là hàm đơn điệu tăng ánh xạ từ [0,1] vào [0,1] (miền mức xám đã chuẩn hóa)
Chọn T đơn điệu tăng đảm bảo cho pixel có cường độ cao hơn pixel khác vẫn giữ nguyên tính chất đó trong ảnh đầu ra
Trang 31 Dựa trên lý thuyết xác suất với p in (r) và p out (s) lần
lượt là hàm mật độ mức sáng trên ảnh đầu vào và đầu ra
tới” phân phối chuẩn Nghĩa là đạt cực đại ở giữa lược đồ và giảm đều về hai bên
điệu, theo lý thuyết xác suất có thể viết :
) (
1
) ( )
(
s T r
in out
ds
dr r
p s
Trang 32 Một cách để nâng cao chất lượng ảnh là tìm T(.) sao
cho mức sáng của ảnh đầu ra có phân bố đồng đều trên [0, 1] Nghĩa là, ảnh ouput có mức xám “như nhau”
dùng cho histogram)
1 0
, ) ( )
ds
in
Trang 33 Histogram ảnh đầu ra được xác định
vào, ta có được ảnh đầu ra với mức xám đồng đều
1 1 , 0 1 )
(
1 )
( )
) (
1 1
p
r p s
s T r in
in out
Trang 34 Xét ảnh xám {x} và đặt n i là số lần xuất hiện của mức
xám i Xác suất xuất hiện pixel có mức xám i trong
histogram cho mức xám I đã chuẩn hóa [0, 1]
sao cho cdf là tuyến tính trên miền giá trị Nghĩa là:
L
i n
n i
x p i
(
iK i
cdf y( ) y T(x) cdf x(x) y' y.(max{x} min{x}) min{x}
Trang 35 Cho ảnh N mức xám Hãy cân bằng histogram về M mức xám (M có thể khác N)
k
s
0
) ( )
(
Trang 36 Xét ảnh 8 mức xám kích thước 64 x 64 với các mức sáng (0, 1, …, 7) Mức sáng chuẩn hóa là (0, 1/7, 2/7,
…, 1) Histogram chuẩn hóa như sau
Trang 370
) ( )
(
Trang 39 Biến đổi mức sáng giữa ảnh cũ và mới
Trang 40 Tạo mảng chứa thông tin histogram
CvHistogram* hist = cvCreateHist(1, &hist_size,
CV_HIST_ARRAY);
cvCalcHist( &gray_img, hist, 0, NULL );
cvNormalizeHist(hist, 255);
cvEqualizeHist(img, result)
Trang 41I = imread('Image_0_01.tif');
J = histeq(I);
imshow(I);
figure, imshow(J);
Trang 43m_equalization
Trang 44 Xét ảnh
http://en.wikipedia.org/wiki/Histogram_equalization
Trang 45 Histogram của ảnh trên (đếm pixel có cùng mức xám)
Trang 46 CDF của histogram là:
sang miền [0, 255] bởi
Trang 47cdf v
cdf round
v h
1 )
( )
( v round cdf v h
182
255 1
63
1
46 )
Trang 48 Ảnh cân bằng histogram là:
Trang 49 Cho ảnh I kích thước mxn=N
được cân băng histogram
N tb
t
0
) ( )
g f
Trang 50 Chọn new_levels = 4
Trang 51void histeq(IplImage* src, IplImage* dst) {
Trang 53 Xác định hình dáng của histogram và thực hiện nâng cấp ảnh thay vì sử dụng cân bằng histogram Ví dụ sử dụng histogram của ảnh khác thực hiện cho ảnh đang xét
Được gọi là “histogram matching” hay “histogram specification”
Có thể được dùng để chuẩn hóa hai ảnh
Ý tưởng: Cho hai ảnh, tham chiếu và ảnh đích, tính
histogram của chúng Tính cumulative functions của hai
histogram-gọi là F 1 () và F 2 () Với mỗi mức xám G1, tìm mức xám G2 sao cho F 1 (G1) và F 2 (G2) Hàm histogram matching: M(G1) = G2 Áp hàm M() lên mỗi pixel của
ảnh tham chiếu
Trang 54Target
Reference
Trang 55 Histogram của hai ảnh
Trang 56 CDF của hai ảnh
Trang 58 Ảnh kết quả sau khi thực hiện histogram matching trên ảnh ‘to be adjusted’ với histogram lấy từ ảnh
‘reference’
Trang 59Hãy viết chương trình OpenCV nhằm thực hiện:
Trang 60 Một số khái niệm cơ bản về ảnh (mức xám, ảnh màu, lân cận)
toàn cục)
tính hóa hàm CDF của các mức xám
[0,255]