1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đối sánh ảnh trong xử lý ảnh

7 2,1K 18
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 51 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đối sánh ảnh trong xử lý ảnh

Trang 1

Đối sánh ảnh

1 Bài toán

Cho ảnh I có kích thớc MìN và mẫu T có kích thớc mìn Cần xác định mẫu T có trong ảnh I hay không?

Cũng nh trong các mục trớc, trong bài toán này các ảnh T, I đều là ảnh xám Các giá trị điểm ảnh là cờng độ xám

Thuật giải:

Thiết lập cửa sổ W có kích thớc bằng T Di chuyển cửa sổ W trên ảnh I

từ trái sang phải, từ trên xuống dới mỗi lần một cột, một hàng Tại mỗi vị trí so sánh hai ma trận điểm ảnh W và T

Nh vậy, bài toán trên chuyển thành bài toán so sânh hai ảnh T và W có cùng kích thớc mìn Số lần thực hiện đối sánh 2 ảnh W và T là λ=(M-m+1)ì(N-n+1)

Số phép tính phải thực hiện phụ thuộc vào việc so sánh hai ảnh W và T

nh thế nào và số λ=(M-m+1)ì(N-n+1)

Để giảm số λ=(M-m+1)ì(N-n+1) ta có thể thực hiện so sánh thô bằng cách co ảnh trớc khi dò tìm Ví dụ, lấy trung bình 4 điểm lân cận để tạo ra

điểm mới cho ảnh kết quả Việc thu nhỏ này cũng sẽ đ ợc thực hiện cho mẫu T

2 Đối sánh theo điểm ảnh:

Kí hiệu W(i,j) là giá trị của điểm ảnh (i,j), hàng i, cột j, trên cửa sổ W; T(i,j) là giá trị của điểm ảnh tại ô (i,j) trên mẫu T

Giá trị

E = ∑ ∑

= =

m i

n j

j i T j i W

1 1

) , ( ) , ( hoặc

1 1

) , ( ) , (

1

∑ ∑

m i

n j

j i T j i W n

m

Trong các công thức trên E đợc gọi là sai số tuyệt đối, còn e đợc gọi là sai số tơng đối Ngời ta so sánh các giá trị sai số này với các giá trị ng ỡng

H hoặc h Nếu E<H (hoặc tơng tự nh vậy, e<h) thì kết luận W giống (trùng) với T

Trang 2

Phơng pháp này có hai nhợc điểm lớn là khó định các giá trị ngỡng H và

h và các công thức tính trên rất nhạy với nhiễu Thật vây, xét tr ờng hợp ảnh

T và W có kích thớc 100ì100:

a) Mỗi điểm ảnh của W có giá trị cờng độ lớn hơn giá trị của T 1 đơn

vị Điều này dễ xảy ra bởi quá trình xử lý ảnh thực Rõ ràng E> 10000

b) Mỗi dòng ảnh của W có 1 điểm lệch cờng độ so với T 100 đơn vị (do nhiễu) Rõ ràng là là e>100

Hai ví dụ trên chỉ ra rằng rất khó định ngỡng H và h

3 Đối sánh dựa trên ma trận tơng quan

a) ý t ởng

Biến đổi ảnh T và W thành một ảnh khác để so sánh và chuyên đánh giá

về so sánh trong phạm vi [0,1], là phạm vi đánh giá quen thuộc Với phạm

vi đánh giá này có thể định ra sai số ε=0.01 hoặc giá trị rất nhỏ nào đó khác

Trong các công thức trong mục này ta xét các tổng với biến chạy từ -∞

đến +∞ Trong kí hiệu W(i,j), tơng tự nh vậy đối với T(i,j), nếu i nằm ngoài khoảng [1 m] hoặc j nằm ngoài khoảng [1 n] ta sẽ coi nh W(i,j)=0, cũng

nh T(i,j)=0

b) Tính ma trận t ơng quan R

Xây dựng ma trận RWT nh sau:

) 1 ( )

, ( )

, ( )

, ( ∑ ∑+∞

−∞

=

+∞

−∞

=

i j

WT k q W i j T i k j q

R

với k = 0, ±1, ±2, ±3, ±4, và q = 0, ±1, ±2, ±3, ±4

Dễ thấy từ (1)

RWT(k,q) = ∑∑ W(i+k,j+q).T(i,j) (2)

Thật vậy, nếu ta đặt i':= i-k, j' := j-q suy ra i := i'+k, j := j'+q Thay vào công thức (1) và để ý rằng do cận là từ -∞ đến +∞ nên cận không thay đổi,

từ đó nhận đợc công thức (2)

) 1 ( )

, ( )

, ( )

, ( ∑ ∑+∞

−∞

=

+∞

−∞

=

i j

WT k q W i j T i k j q

R

Ví dụ, Hai ảnh W và T có kích thớc 3ì3:

W: 1 2 3

1 1 4

1 1 3

T: 1 2 3

Trang 3

1 1 4

1 1 3

R(-2,-2) = ∑W(i,j)T(i+2,j+2), với 1≤ i ≤ 1 và 1≤ j ≤ 1,

⇒ R(-2,-2) = W(1,1)T(3,3) = 3

R(-2,-1) = ∑W(i,j)T(i+2,j+1), với 1≤ i ≤ 1 và 1≤ j ≤ 2,

⇒ R(-2,-1) = W(1,1)T(3,2) + W(1,2)T(3,3)= 1 + 6 = 7

R(-2,0) = ∑W(i,j)T(i+2,j), với 1≤ i ≤ 1 và 1≤ j ≤ 3,

⇒ R(-2,0) = W(1,1)T(3,1)+W(1,2)T(3,2)+W(1,3)T(3,3)= 1+2+9

= 12

R(-2,1) = ∑W(i,j)T(i+2,j-1), với 1≤ i ≤ 1 và 2≤ j ≤ 3,

⇒ R(-2,0) = W(1,2)T(3,1)+W(1,3)T(3,2) = 2+3 = 5

Các ma trận tự tơng quan của W cũng nh T:

RWW(k,q) = ∑∑ W(i,j).W(i-k,j-q) (3)

RTT(k,q) = ∑∑ T(i,j) T(i-k,j-q) (4)

Rõ ràng là RWW(0,0) = ∑∑ W2(i,j) >0 và RTT(0,0) = ∑∑ T2(i,j) >0

c) Tính ma trận hệ số t ơng quan Q

) 5 ( )

0 , 0 ( ) 0 , 0 (

) , ( )

, (

Ư

ƯW W TT

WT WT

R R

q k R q

k

Nhận xét rằng RWT(0,0) chính là tích vô hớng của hai vectơ W và T, khi này QWT(0,0) chính là cosin góc giữa hai vectơ W và T

d) Định lý

1 QWT(k,q) ≤ 1, ∀ k,q = 0, ±1, ±2, ±3,

2 QWT(i0,j0) = 1 ⇔ ∃ c, sao cho, với ∀ i,j có W(i,j) = c.T(i-i0,j-j0) Chứng minh định lý:

1 Rõ ràng là ∑∑ (aW(i,j) + T(i-k,j-q))2 ≥0 với mọi k,q và a hay ∑∑ (a2W2(i,j) + T2(i-k,j-q) + 2aW(i,j)T(i-k,j-q) ) ≥0

⇔ ∑∑a2W2(i,j) + ∑∑ T2(i-k,j-q) + ∑∑ 2aW(i,j)T(i-k,j-q) ≥ 0

⇔ a2 ∑∑W2(i,j) + 2a ∑∑W(i,j)T(i-k,j-q) + ∑∑T2(i-k,j-q) ≥ 0

⇔ ∆' = (∑∑W(i,j)T(i-k,j-q))2 - ∑∑W2(i,j) ∑∑T2(i-k,j-q) ≤ 0

⇔ ∆' = (RWT(k,q))2 - ∑∑W2(i,j) ∑∑T2(i-k,j-q) ≤ 0

⇔ (RWT(k,q))2 ≤ ∑∑W2(i,j) ∑∑T2(i-k,j-q)

⇔ (RWT(k,q))2 / ∑∑W2(i,j) ∑∑T2(i-k,j-q) ≤ 1 (đpcm)

Trang 4

2 Giả thiết là tồn tại hằng số c≠0 sao cho W(i,j) = c T(i-i0,j-j0) với mọi i,j Hiển nhiên, khi này

RWT(i0,j0) = ∑∑ W(i,j).T(i-i0,j-j0) = c ∑∑ W2(i,j)

RWW(0,0) = ∑∑ W2(i,j)

RTT(0,0) = ∑∑ T2(i,j)=∑∑ T2(i-i0,j-j0), bằng cách đặt i':=i-i0, j':=j-j0 và đảo chỉ số nh trên Cuối cùng ta có:

RTT(0,0) = ∑∑ c2W2(i,j) = c2 ∑∑W2(i,j) = c2 RWW(0,0)

Từ đây suy ra QWT(i0,j0) = 1

 Giả sử QWT(i0,j0) =1 với (i0,j0) nào đó Từ chứng minh trên suy ra

' = (RWT(k,q))2 - ∑∑W2(i,j) ∑∑T2(i-i0,j-j0) = 0

Dẫn đến tồn tại duy nhất một giá trị c sao cho

c2 ∑∑W2(i,j) + 2c ∑∑W(i,j)T(i-i0,j-j0) + ∑∑T2(i-i0,j-j0) = 0

Hay ∑∑ (cW(i,j) + T(i-i0,j-j0))2 = 0 Suy ra

-cW(i,j) = T(i-i0,j-j0)

Đặt lại c := -1/c ta có điều phải chứng minh

Nhận xét rằng W(i,j) = c.T(i,j) với mọi i,j có thể hiểu rằng c ờng độ sáng của W bằng c lần cờng độ sáng của T, tính theo từng điểm ảnh Trong biểu thức W(i,j) = c.T(i-i0,j-j0) có thể hiểu rằng, nếu rời điểm (1,1) của W đến điểm (i0,j0) của T thì ta nhận đợc hai phần nào đó của W và T lệch nhau về cờng độ sáng c lần

4 Hệ quả

Nếu hệ số tơng quan Q WT (k,q)=1 thì hoặc T là thành phần của W hoặc W và T giống nhau.

5 Tính ma trận R WT

Ta có thể dễ dàng thấy rằng ma trận R có kích th ớc (2m-1)ì(2n-1) Nếu ta chia ma trận R thành 4 phần Xét công thức W(i,j)T(i-k,j-q) với 1≤ i ≤m, 1≤ j ≤ n Rõ ràng là khi k ∉ [-m+1 m-1] thì T(i-k,j-q) không xác định (ở trên ta đã giả thiết là bằng 0 để dễ biến đổi

For k:=-m+1 to m-1; For q:=-n+1 to n-1 R(k,q) := 0;

Tính phần A:

k:= -m+1 to -1

q:= - n+1 to -1

Trang 5

1≤ i-k ≤ m ⇒ 1+k ≤ i ≤ m+k ⇒ 1 ≤ i ≤ m+k

1≤ j-q ≤ n ⇒ 1+q ≤ j ≤ n+q ⇒ 1 ≤ j ≤ n+ q

TÝnh phÇn B:

k:= -m+1 to -1

q:= 0 to n-1

1≤ i-k ≤ m ⇒ 1+k ≤ i ≤ m+k ⇒ 1 ≤ i ≤ m+k

1≤ j-q ≤ n ⇒ 1+q ≤ j ≤ n+q ⇒ 1+q ≤ j ≤ n

TÝnh phÇn C:

k:= 0 to m-1

q:= - n+1 to -1

1≤ i-k ≤ m ⇒ 1+k ≤ i ≤ m+k ⇒ 1+k ≤ i ≤ m

1≤ j-q ≤ n ⇒ 1+q ≤ j ≤ n+q ⇒ 1 ≤ j ≤ n+ q

TÝnh phÇn D:

k:= 0 to m-1

q:= 0 to n-1

1≤ i-k ≤ m ⇒ 1+k ≤ i ≤ m+k ⇒ 1+k ≤ i ≤ m

1≤ j-q ≤ n ⇒ 1+q ≤ j ≤ n+q ⇒ 1+q ≤ j ≤ n

R(k,q) := R(k,q) + W(i,j)*T(i-k,j-q);

VÝ dô:

1 Hai ¶nh W vµ T gièng hÖt nhau

W: 1 2 3

1 1 4

1 1 3

T: 1 2 3

1 1 4

1 1 3

Q:

0.07 0.16 0.28 0.12 0.07

0.16 0.30 0.67 0.23 0.16

0.23 0.40 1.00 0.40 0.23

0.16 0.23 0.67 0.30 0.16

0.07 0.12 0.28 0.16 0.07

2 Hai ¶nh W vµ T lÖch nhau W = 3T

W:

3 6 9

3 3 12

3 3 9

T:

1 2 3

1 1 4

1 1 3

Q:

Trang 6

0.07 0.16 0.28 0.12 0.07 0.16 0.30 0.67 0.23 0.16 0.23 0.40 1.00 0.40 0.23

0.16 0.23 0.67 0.30 0.16 0.07 0.12 0.28 0.16 0.07

3 Hai ¶nh W vµ T lÖch nhau W = T +2

W:

3 4 5

3 3 6

3 3 5 T:

1 2 3

1 1 4

1 1 3 Q:

0.11 0.19 0.28 0.11 0.06 0.26 0.39 0.64 0.23 0.14 0.38 0.57 0.97 0.39 0.20

0.26 0.38 0.67 0.29 0.14 0.11 0.19 0.30 0.16 0.06

4 Hai ¶nh W vµ T lÖch nhau t¹i mét ®iÓm ¶nh

W:

1 2 3

1 1 7

1 1 3 T:

1 2 3

1 1 4

1 1 3 Q:

0.05 0.12 0.21 0.09 0.05 0.12 0.23 0.66 0.23 0.17 0.17 0.30 0.96 0.35 0.23

0.12 0.17 0.66 0.33 0.17 0.05 0.09 0.21 0.12 0.05

Const n=3; m=3;

Type Anh = Array[1 m,1 n] of byte;

TQ = Array[-m+1 m-1,-n+1 n-1] of Real;

Const T : Anh = (( 1, 2, 3),

( 1, 1, 4),

( 1, 1, 3));

W : Anh = ( ( 1, 2, 3),

( 1, 1, 7),

( 1, 1, 3));

Var i,j,k,q : Integer;

R, MQ : TQ;

Trang 7

Mw,Mt : Real;

f : Text;

BEGIN

Mw:=0; For i:=1 to m do For j:=1 to n do Mw := Mw + Sqr(W[i,j]); Mt:=0; For i:=1 to m do For j:=1 to n do Mt := Mt + Sqr(T[i,j]); For k:=-m+1 to m-1 do For q:=-n+1 to n-1 do R[k,q] := 0;

{ Tinh phan A:}

For k:= -m+1 to -1 do For q:= - n+1 to -1 do

For i:=1 to m+k do For j:=1 to n+q do

R[k,q] := R[k,q] + W[i,j]*T[i-k,j-q];

{ Tinh phan B:}

For k:= -m+1 to -1 do For q:= 0 to n-1 do

For i:=1 to m+k do For j:=1+q to n do

R[k,q] := R[k,q] + W[i,j]*T[i-k,j-q];

{ Tinh phan C:}

For k:= 0 to m-1 do For q:= - n+1 to -1 do

For i:=1+k to m do For j:=1 to n+q do

R[k,q] := R[k,q] + W[i,j]*T[i-k,j-q];

{ Tinh phan D:}

For k:= 0 to m-1 do For q:= 0 to n-1 do

For i:=1+k to m do For j:=1+q to n do

R[k,q] := R[k,q] + W[i,j]*T[i-k,j-q];

For k:=-m+1 to m-1 do

Begin

For q:=-n+1 to n-1 do write(R[k,q]/Sqrt(Mw*Mt):10:2);

Writeln;

End;

Readln;

END

Ngày đăng: 02/04/2014, 00:17

TỪ KHÓA LIÊN QUAN

w