Tải bản đầy đủ (.pdf) (36 trang)

Bài giảng xử lý ảnh số chương 3 xử lý ảnh trong miền không gian

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.84 MB, 36 trang )

XỬ LÝ ẢNH TRONG
MIỀN KHÔNG GIAN
NGÔ QUỐC VIỆT
TPHCM-2012


Các xử lý logic và số học trên ảnh

1.



Các bộ lọc không gian cơ bản
Các bộ lọc không gian làm trơn ảnh

2.

3.



4.
5.

Các thao tác logic
Trừ ảnh , trung bình ảnh

Bộ lọc tuyến tính làm trơn
Các bộ lọc Order-Statistics

Các bộ lọc không gian làm nét ảnh


Các giải thuật khử nhiễu

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

2




Thực hiện các phép logic giữa hai hoặc nhiều ảnh.
Cụ thể
 NOT
 OR

 AND
 XOR
 SUB

c = a
c=a+b
c=ab
c = a  b = a  (b) + (a  b)
c = a \ b = a – b = a  (b)

Chỉ cần 3 toán tử: AND, OR, NOT


Mỗi thao tác thực hiện trên từng điểm ảnh

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt


3


Gốc

Mặt nạ

AND

Gốc

Mặt nạ
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

OR
4




Sử dụng các thao tác logic trên ma trận của OpenCV
int _tmain(int argc, _TCHAR* argv[])
{
IplImage *img1 = cvLoadImage(“..\\..\\images\\building.jpg");
IplImage *img2 = cvLoadImage(".\\..\\images\\black.jpg");
IplImage *img3, iplhdr;
CvMat * mat1, * mat2, mat3, mathdr1, mathdr2;
mat1 = cvGetMat(img1, &mathdr1);
mat2 = cvGetMat(img2, &mathdr2);

mat3 = *mat1;
cvAnd(mat1, mat2, &mat3);
//cvOr; cvNot; cvAdd; cvSub
img3 = cvGetImage(&mat3, &iplhdr);
cvNamedWindow("Logics", CV_WINDOW_AUTOSIZE);
cvShowImage("Logics", img3);
cvWaitKey(0);
cvDestroyWindow("Logics:");
cvReleaseImage(&img1);
cvReleaseImage(&img2);
return 0;
}
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

5






Thực hiện trên các pixel của ảnh xám
Thao tác

Định nghĩa

Kiểu dữ liệu Output

ADD


c=a+b

Nguyên

SUB

c=a–b

Nguyên

MUL

c=a*b

Nguyên hoặc thực

DIV

c=a/b

Thực

LOG

c = log (a)

Thực

EXP


c = exp(a)

Thực

SQRT

c = sqrt(a)

Thực

TRIG

c = sin/cos/tan(a)

Thực

INVERT

c = (2b -1 ) - a

Nguyên

Thường sử dụng toán tử SUB nhằm tách phần nổi
và nền
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

6





Nhằm loại bớt phần “nền” ra khỏi ảnh cần phân tích
(y khoa, thiên văn, …)

Nguồn: R. F. Gonzalez & R.Wood
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

7






Có thể ứng dụng để làm giảm nhiễu trong ảnh. Bằng
cách lấy trung bình pixel từ các ảnh nhiễu (ngẫu
nhiên, nhiệt, v.v) để tạo ra pixel cùng tọa độ trong
ảnh output.
Cho K ảnh nhiễu khác nhau, ảnh trung bình được
Hàm noise
xác định bởi
gi ( x, y)  f ( x, y)  ni ( x, y)



1
g ( x, y ) 
K

K


 g ( x, y )
i 1

i

Ảnh được làm rõ hơn bằng tạo ra K ảnh nhiễu
(ngẫu nhiên, muối tiêu – thảo luận sau), và lấy
trung bình các ảnh này.
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

8




Trung bình của ảnh nhiễu tiến gần đến ảnh tốt f(x,y).

E( g ( x, y))  f ( x, y)


Phương sai

 g ( x, y )


1
  gi ( x, y )
K


K càng tăng  nhiễu sẽ giảm

Dùng các hàm
rand(): (rand()/(float)0x7fff)-0.5;
cvGetSize: lấy kích thước ảnh
cvCloneImage: tạo ảnh mới
cvGetReal2D: get pixel value
cvSetReal2D: set pixel value

 Sinh viên hãy viết chương trình giảm nhiễu bằng kỹ
thuật “trung bình ảnh”
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

9


K = 8 noisy images

Ảnh bị nhiễu

K = 16 noisy images

Gần giống với ảnh gốc
K = 64 noisy images

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

K = 128 noisy images

10





Dựa trên cáp phép toán về tích chập (convolution) trên
lân cận của từng pixel.
Phép toán chập là
trung tâm của hầu
hết xử lý trên ảnh

Lân cận vuông của một pixel sẽ được thực hiện chập với
subimage cùng kích thước để tạo ra giá trị mới của pixel
đang xét.
 Subimage gọi là: filter (bộ lọc), mask (mặt nạ), kernel
(nhân chập), template (mẫu chập), hay window (cửa
sổ chập).


Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

11






Filter/Mask được di
chuyển từng pixel
trên ảnh và thực

hiện chập để tạo ra
giá trị điểm ảnh mới
Hình ảnh thể hiện
cơ chế lọc

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

12




Liên tục: Tích chập của 2 hàm f(x) và h(x) được định
nghĩa bởi:


g ( x )  f ( x )  h( x ) 

 f (m)h( x  m)dm





Rời rạc:
g (n)  f (n)  h(n)  k  f (k )h(n  k )


Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt


13




Liên tục: Tích chập của 2 hàm f(x) và h(x) hai chiều
được định nghĩa bởi:


g ( x, y )  f ( x, y )  h ( x, y ) 

  f (m, n)h( x  m, y  n)dmdn





Rời rạc
g (m, n) 


f (m, n)  h(m, n)




  f ( k , l ) h( m  k , n  l )

l  k  


Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

14




Kích thước kernel mxn, ảnh kích thước MxN, tích
chập được định nghĩa bởi
g ( x, y ) 

a

b

  f ( x  k , y  l ) h( k , l )

l  a k b






a  (m  1) / 2
b  (n  1) / 2

Thông thường, nhân chập có dạng vuông (m=n),
với m và n là số lẻ.
Chú ý: tâm của nhân chập thường ở giữa cửa cổ

chập.
Tại một vị trí bất kỳ, pixel đích sẽ bằng tổng các
tích giữa pixel nguồn với các phần tử tương ứng
trong nhân
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

15




Tích chập giữa f(M1xN1) và nhân h(M2xN2) có thể tạo
ra các ma trận có kích thước như sau, tùy thuộc vào
kiểu chập.



Giữ nguyên kích thước: M1xN1 (same convolution)
Tăng kích thước : (M1+M2-1)x(N1+N2-1) (full
convolution)
Giảm kích thước: (M1-M2+1)x(N1-N2+1) (valid
convolution)




Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

16





Nhân chập h(j,k) là tách được nếu
h( j, k )  hrow(k )  hcol ( j )



Khi đó, phép lọc có thể thực hiện theo cách sau
K 1

c(m, n)    hrow(k )a(m  j, n  k )hcol ( j )
j 0  k 0

J 1



Độ phức tạp khi tính toán trên mỗi điểm ảnh từ
O(J*K) giảm xuống O(J+K).

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

17


Giữ nguyên kích thước

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt


18


Tăng kích thước
Tâm ma trận chập
nằm ngoài ảnh

Giảm kích thước
Ma trận chập nằm
gọn trong ảnh

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

19


for(int y = 0; y < height; ++y)
{
for(int x = 0; x < width; ++x)
{
sum = 0;
for(int i = 0; i < kHeight-1; i++) {
for(int j = 0; j < kWidth-1; j++) {
if((y+(i-kMiddleHeight)) < 0 || (y+(i-kMiddleHeight)) >= height
|| (x+(j-kMiddleWidth)) < 0 || (x+(j-kMiddleWidth)) >= width) {
result = 0;
}
else {
result = input[y+(i-kMiddleHeight), x+(j-kMiddleWidth)] * kernel[I, j];
}

sum += result;
}
}
result[y, x] = sum;
}
}
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

20




Sử dụng các nhân chập với các hệ số thay đổi có thể
tạo ra các hiệu ứng khác nhau trên ảnh output. Một
số hiệu ứng của lọc không gian
 Làm trơn hoặc mờ ảnh: giảm nhiễu, giảm chi tiết nhỏ.

 Làm nét ảnh
 Phát hiện biên (trình bày chi tiết trong bài giảng sau)




Các bộ lọc không gian thường có kích thước 3x3
hoặc 5x5. Một số trường hợp dùng ma trận 7x7
Ngoài ra có thể sử dụng các lọc phi tuyến (thảo luận
trong “Xla_BaiGiang04”)

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt


21








Sử dụng bộ lọc không gian tuyến tính để tính giá trị
pixel output là trung bình của các pixel trong nhân
chập.
Còn được gọi là bộ lọc trung bình hay lowpass filter.
Các bộ lọc “đều” có dạng chữ nhật hay tròn. Cụ thể
1

1
1
hrect ( j , k )  1
25 
1
1




1
1
1

1
1

1
1
1
1
1

1
1
1
1
1

1

1
1

1
1

0

1
1
hcirc ( j , k )   1
21 
1

0


1
1
1
1
1

1
1
1
1
1

1
1
1
1
1

0

1
1

1
0 

Kết quả các cụm pixel nhỏ (nhỏ hơn kích thước nhân

chập) sẽ bị “hòa” vào các vùng pixel lớn hơn.
Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

22




Có thể dùng các bộ lọc biến thể khác để làm trơn
ảnh
1 2 1

1
h( j , k )   2 4 2 
16 

1 2 1

1 1 1

1
hrect ( j , k )  1 1 1
9

1 1 1






Mặt nạ thứ hai được gọi là lấy trung bình có trọng
số. Nghĩa là các pixel sẽ được nhân với các hệ số
khác nhau.
Với trung bình có trọng số, pixel output được xác
a
b
định bởi
  w(s, t ) f ( x  s, y  t )
g ( x, y ) 

s   at   b

a

b

  w(s, t )

s   at   b

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

23






Một số bộ lọc làm trơn ảnh khác: tam giác, Gauss,

bộ lọc trên miền Fourier (thảo luận sau), các bộ lọc
phi tuyến (trung vị, Kuwahara)
Tam giác: là phép chập của hai bộ lọc đều đồng
nhất (đều chữ nhật hoặc đều tròn)
1

2
1
hrect ( j , k )   3
81 
2
1


2
4
6
4
2

3
6
9
6
3

2
4
6
4

2

1

2
3

2
1 

0

0
1
hcirc ( j , k )   1
25 
0
0


Dạng chóp

Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

0
2
2
2
0


1
2
5
2
1

0
2
2
2
0

0

0
1

0
0 

Dạng nón

24




Kết quả làm trơn ảnh với bộ lọc trung bình có kích
thước 3, 5, 9, 15, 35
Ảnh gốc


Bài giảng Xử lý ảnh-TS. Ngô Quốc Việt

25


×