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

Báo cáo xử lý ảnh Đề tài giảm nhiễu cho ảnh bằng nhiều bộ lọc v

19 0 0
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giảm nhiễu cho ảnh bằng nhiều bộ lọc với các loại nhiễu khác nhau
Tác giả Chử Thị Thúy Hằng, Trương Thị Lan, Đoàn Thị Hương, Nguyễn Thị Hòa
Trường học Trường Đại Học Công Nghệ Thông Tin
Thể loại Báo cáo
Định dạng
Số trang 19
Dung lượng 3,99 MB

Nội dung

6 CÂN BẰNG TẦN SUẤT- Ảnh I được gọi là cân bằng lí tưởng nếu với mọi mức xám g, g’ ta có o h g= h g’ - Giả sử có I kích thước m *n - New_level : số mức xám mới của ảnh sau cân bằng, thôn

Trang 1

Báo cáo xử lý ảnh

Đề tài:

Giảm nhiễu cho ảnh bằng nhiều bộ lọc với các loại nhiễu khác nhau (Nhiễu muỗi tiêu, nhiễu lốm đốm, nhiễu Gaussian và nhiễu ngẫu nhiên với mật độ

nhiễu khác nhau)

Nhóm 7:

1.Chử Thị Thúy Hằng - MSV: B14DCCN519

2.Trương Thị Lan - MSV: B14DCCN341

3.Đoàn Thị Hương - MSV: B14DCCN014

4.Nguyễn Thị Hòa - MSV: B14DCCN157

I.Khái niệm cơ bản về xử lý ảnh

1) Khái niệm ảnh

Ảnh trắng đen thực chất là hàm một chiều cường độ sáng f(x,y) trong đó

x và y là các tọa độ sáng của ảnh tại điểm đó Nếu chúng ta có một ảnh màu thì

f là một vector mà mỗi thành phần của vector đó chỉ ra cường độ sáng của ảnh tại điểm (x,y) đó tương đương với dải màu

Để đơn giản ở đây ta chỉ xét đến ảnh số Một ảnh số là một ảnh mà hàm f(x,y) của nó đã được rời rạc hóa theo cả tọa độ không gian và cường độ sáng của nó Nếu là ảnh trắng đen thì nó được biểu diễn theo một mảng 2 chiều, còn nếu là một ảnh màu thì nó được biểu diễn theo một chuỗi các mảng hai chiều

mà mỗi mảng 2 chiều đó tương đương ứng với một dải màu Giá trị cường độ sáng đã được số hóa được gọi là giá trị mức xám

Mỗi thành phần của mảng được gọi là một phần tử ảnh(pixel: picture element) và nó được biểu diễn như sau:

f(x,y) =

Với 0 ≤ f(x,y) ≤ G – 1 : trong đó thông thường N và G được biểu diễn dưới dạng số mũ của 2 (N = 2n,G = 2m)

f(0,0) f(0,1) ……… f(0,n) f(1,0) f(1,1) ……… f(1,n) ………

f(n,0) f(n,1) ……… f(n,n)

Trang 2

2) Thực chất của quá trình xử lý ảnh.

Thực chất của quá trình xử lý ảnh có thể thực hiện theo sơ đồ khối sau:

II) cơ sở lý thuyết bài tập bắt buộc

1) TÁCH NGƯỠNG

- Giả sử ta có ảnh I kích thước m*n, hai số Min, Max và ngưỡng €

- Khi đó, kỹ thuật tách ngưỡng được thể hiện :

- I [i,j] =I[i,j] >= € ? Max: Min; với mọi (i,j)

CODE :

for i=1:size(I,1)

for j=1:size(I,2)

if I(i,j)>=160

I(i,j)=1;

else I(i,j)=0;

end end end

I= 56 28 95

F=30

Giải:

2) KHUẾCH TÁN LỖI 1 CHIỀU

- Quét ảnh lần lượt từng dòng và từng điểm ảnh một

- So sáng với giá trị xám trung bình

Nếu giá trị xám lớn hơn thì thay bằng điểm ảnh trắng

Thu

nhận

ảnh

Số hóa

Tiền

xử lý

Phân tích ảnh

Nhận dạng ảnh

Sơ đồ khối các bước trong quá trình xử lý ảnh

Trang 3

Nếu giá trị xám nhỏ hơn thì thay bằng ảnh điểm đen

- Vi điểm ảnh hoặc đen hoặc trắng nên giá trị bị làm tròn, phần thừa này được chuyển sang điểm tiếp theo

- Quá trình được tiếp tục lặp đi lặp lại

CODE :

[hang,cot]=size(I);

for i=1:hang

for j=1:cot

if j~=cotif I(i,j)<f I(i,j+1)=I(i,j+1)+I(i,j);

I(i,j)=0;

else I(i,j+1)=I(i,j+1)+I(i,j)-255;

I(i,j)=255;

end else if I(i,j)<f I(i,j)=0;

else I(i,j)=255;

end end end end end VD)

35 76 93 23 45

23 53 89 49 61

83 59 64 84 28

F=90

Giải:

A11=35<90 => a11= 0;

A12=76+35=111 >90 => a12=255;

A13=(111-255)+93=-21<90 => a13=0;

A14=23+(-21)= 2<90 =>a14=0;

A15= 25+2 =27<90 => a15=0;

Tương tự các hàng tiếp theo ta có kết quả

Trang 4

I= 0 0 255 0 0

3) KHUẾCH TÁN LỖI 2 CHIỀU

- Khuếch tán lỗi 2 chiều sẽ giảm lỗi để lại những đường dọc không mong muốn của khuếch tán lỗi một chiều để lại

- Phần dư sẽ được khuếch tán một phần ả xuống dòng dưới

CODE :

for i=1:hang

for j=1:cot

if I(i,j)<f

if j<cot

I(i,j+1)=I(i,j+1)+round(I(i,j)*7/16);

end

if i<hang && j>1

I(i+1,j-1)=I(i+1,j-1)+round(I(i,j)*3/16);

end

if i<hang

I(i+1,j)=I(i+1,j)+round(I(i,j)*5/16);

end

if i<hang && j<cot

I(i+1,j+1)=I(i+1,j+1)+round(I(i,j)*1/16);

end

I(i,j)=0;

else

if j<cot

I(i,j+1)=I(i,j+1)+round((I(i,j)-255)*7/16);

end

if i<hang && j>1

I(i+1,j-1)=I(i+1,j-1)+round((I(i,j)-255)*3/16); end

if i<hang

I(i+1,j)=I(i+1,j)+round((I(i,j)-255)*5/16);

end

if i<hang && j<cot

I(i+1,j+1)=I(i+1,j+1)+round((I(i,j)-255)*1/16); end

Trang 5

end

end

end

VD)

Cho ma trân của Floyd : 1 _ # 3

I = 255 36 98

56 41 28

F= 120

Giải:

Có _ và # là những điểm ảnh đã và đang được xử lí

Có a12=36 < 120 => a12=0;

255 0 122

99 55 57

A13=122> 120 =>a13=255;

255 0 255

99 105 4

4) TĂNG GIẢM ĐỘ SÁNG

- Giả sử ta có ảnh I kích thước m*n và số nguyên c

- Khi đó thuật tăng giảm độ sáng được thể hiện

- I ( i,j) = I ( i,j) +c

- Nếu c > 0 thì ảnh sáng lên Nếu c <0 thì ảnh tối đi CODE

for i=1:size(I,1)

for j=1:size(I,2)

c=I(i,j)+f;

if c>=255

I(i,j)=255;

else I(i,j)=c;

Trang 6

end

VD) cho ảnh sau

23 54 71

- Với c =2 thì ta có ảnh sáng lên, ảnh lúc đó sẽ là:

25 56 73

- Với c= -2 thì ta có ảnh tối đi, lúc này ảnh sẽ là :

21 52 69

5) BIỂU ĐỒ TẦN SUẤT

Biểu đồ tần suất(historgram) biểu đồ tần suất mức xám g của ảnh I là số điểm ảnh có giá trị g của ảnh I KH là H(g) Mục đích đưa ra ảnh có mức xám được phân bố đồng đều

CODE

for k=1:256

g(k)=k-1;

end

for k=1:256

h(k)=0;

end

for i=1:size(I,1)

for j=1:size(I,2)

h(I(i,j)+1)=h(I(i,j)+1)+1;

end

end

h

end

VD:

Trang 7

6) CÂN BẰNG TẦN SUẤT

- Ảnh I được gọi là cân bằng lí tưởng nếu với mọi mức xám g, g’ ta có

o h( g)= h (g’)

- Giả sử có I kích thước m *n

- New_level : số mức xám mới của ảnh sau cân bằng, thông thường giá trị này có thể bằng số mức xám của ảnh gốc

- TB số điểm ảnh trung bình của mỗi mức xám của ảnh đã cân bằng

- T(g) số điểm ảnh có mức xám <= g trên ảnh gốc

- Cần xác định hàm f: g -> f(g) sao cho:

F(g)= max{ 0, round( )}

CODE

VD cho ảnh sau cân bằng ảnh với new_level =5

7) TÌM NGƯỠNG TỰ ĐỘNG

- Kỹ thuật tìm tách ngưỡng tự động nhằm tìm ra ngưỡng € một cách tự động dựa vào histogram

- Kỹ thuật này dựa theo nguyên lí trong vật lú là vật thể tách làm 2 phần nếu tổng độ lệch trong từng phần là tối thiểu

- Giả sử ta có ảnh I:

- Có kích thước m*n

Trang 8

- G là số mức xám của ảnh kể cả khuyết thiếu

- T(g) số điểm ảnh có mức xám <= g

- Momen quán tính TB có mức xám <= la:

- M(g)

- Hàm f: g-> f(g)

F(g)=

Tìm € sao cho :

F(€)= max{f(g)}

VD:

Tìm ngưỡng tự động của ảnh

Có bảng Histogram

Vậy f(€)=2,1 => €=1

Vậy ngưỡng bằng 1

8) NHÂN CHẬP

Phép nhân chập là phép biến đổi cửa sổ di chuyển có kích thước(2n+1)x(2m+1) vơi công thức như sau:

VD:

Trang 9

T= 1 0

Giải:

KQ:

I = 7 3 16 4

9) LỌC TRUNG VỊ

- Các bước thuật toán lọc trung vị:

Sử dụng một cửa sổ lọc( ma trận 3*3) quét qua lần lượt từng điểm ảnh của ảnh đầu vào input

Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3*3 của ảnh gốc” lấp” vào ma trận lọc

Sau đó sắp xếp các điểm ảnh trong cửa sổ này theo thứ thự(tưng dần hoặc giảm dần tùy ý)

Cuối cùng, gán điểm ảnh nằm chính giữa( Trung vị) của dãy giá trị điểm ảnh đã được sắp xếp ở trên cho giá trị điểm ảnh đang xét của ảnh đầu ra output

- Kỹ thuật lọc trung vị

Giả sử ta có ảnh I ngưỡng € cửa sổ W(P) và điểm ảnh P

Khi đó kỹ thuật lọc trung vị phụ thuộc không gian bao gồ các bước cơ bản sau:

Bước 1: tìm trung vị trong phần ảnh đang xét( cửa sổ quét qua) { I (q)| q thuộc W(P) } -> Med(P)

Bước 2: gán giá trị cho pixel “tâm”

I ( P ) |I (P )- Med( P)| <= €

I ( P)=

Med ( P) ngược lại VD) cho ảnh sau :

56 54 38 97 75

84 129 35 76 96

Trang 10

67 11 9 21 134

Cửa sổ W=( 3*3) giá trị ngưỡng là 85

Giải:

Cửa sổ 3*3 áp vào ma trận

W(p1) = 56 54 38

84 129 35

23 132 8

Tìm Med -> Med(P1) =56 có |129-56|= 73<85 -> I(P1)= 129 W(p2) = 54 28 97

129 35 76

132 8 211

Med(P2)= 97 có |35-97|= 62<85 -> I(p2)=35

W( P3) = 38 97 75

35 76 96

8 211 67

Med(P3) = 75 có | 76-75|=1< 85 -> I(P3)=76

W(P4) = 84 129 35

23 132 8

67 11 9

Med(P4)= 35 có |132-35|=97>85 -> I(P4)=35

Tương tự I(P5)=8 , I(p6)=67, I(p7)=11, I(P8)=9, I(p9)= 21

0 129 35 76 0

10) LỌC TRUNG BÌNH

Trang 11

Kỹ thuật lọc trung binh:

- Bước 1: tìm trung bình

{ I(q)|q thuộc W(p)} -> AV(P)

- Bước 2: gán giá trị tâm

I (P) |I (P) – AV(P)| <=0 I(P)=

AV (P) ngược lại VD) lọc ảnh sau cho W( 3*3) € =5

W(P1) AV(P1)= 13 |12-13|=1< 5 -> I(p1)= 12

W(P2) AV(P2)=8 |7-8|=1<5 -> I(p2)=7

W(P3) AV(p3)=16 |11-15|=4 <5 -> I(P3)=11 W(P4) AV(p4)=11 |5-11|=6 >5 -> I(P4)=11

+ Lọc trung bình theo giá trị k gần nhất

- Bước 1; TÌM k giá trị gần nhất

{ I(q) | q thuộc W(p)} -> {k giá trị gần I(P) nhất}

- Bước 2: tính giá trị trung bình

{ k giá trị gần I( P) nhất}

- Bước 3: gán giá trị

I(P) | I(P) – AV(P)| <= 0 I(p) =

AV(P) ngược lại

Trang 12

VD cho ảnh sau

23 15 17 11

W(3*3) , €= 7, k=3

AV(p1)=9 | 10-9|=1<7 -> I(P1)=10

AV(p2)=12 | 12-12|=0<7 -> I(P2)=12

AV(p3)=14 | 15-14|=1<7 -> I(P3)=15

AV(p4)=18 | 17-18|=1<7 -> I(P4)=17

9) LÀM TRƠN ẢNH

[b]= [b-w]

Trong đó : W Được chọn là số lẻ ( 3 hoặc 5)

[b] là giá trị tần xuất của độ sáng b sau khi làm trơn [b] là giá trị tần xuất của độ sáng b gốc

VD)

Số mức xám 6

III) cơ sở lý thuyết bài tập tự chọn

Trang 13

Đề bài: Giảm nhiễu cho ảnh bằng nhiều bộ lọc với các loại nhiễu khác nhau (Nhiễu muỗi tiêu, nhiễu lốm đốm, nhiễu Gaussian và nhiễu ngẫu nhiên với mật độ nhiễu khác nhau)

1)Lý thuyết nhiễu

- Nhiễu là mọt hiện tượng ngẫu nhiên có mặt trong mọi hệ thống xử lý tín hiệu thực (real signal)

- Có rất nhiều nguồn tạo tạo ra nhiễu, ví dụ như do sự thay đổi độ nhạy của đầu

dò, dò sự biến đổi của môi trường, do sai số lượng tử hóa hay sai số truyền.v.v Nhiễu ảnh sẽ làm chi tiết của quan cảnh trong ảnh sẽ không thích hợp Phân loại nhiễu

a) Nhiễu muối Gaussian

- Là một dạng lý tưởng của nhiễu trắng, được gây ra bơi những dao động ngẫu nhiên của tín hiệu Nhiễu Gaussian là nhiễu trắng có phân bố chuẩn

- Nhiễu này có được do bản chất rời rạc của bức xạ (hệ thống ghi ảnh bằng cách đếm các photon (lượng tử ánh sáng)

- Là nhiễu cộng và độc lập (independent, addtive noise) – nhiễu n(i,j) có phân tán Gauss (trung bình = zezo) được mô tả bởi độ lệch chuẩn hay phương sai

- Nếu ta có ảnh I, nhiễu Gaussian là N ta sẽ có ảnh nhiễu = I + N

- Để tạo ra ảnh với nhiễu Gaussian ta dùng câu lệnh sau:

Img = imnoise(I,’gaussian’)

Trang 14

- Giá trị mặc định của kỳ vọng và phương sai của nhiễu là 0 và 0.01 b) Nhiễu muối tiêu

- Còn gọi là nhiễu xung, nhiễu nhị phân

- Nhiễu này sinh ra do xảy ra sai số trong quá trình truyền dữ liệu

- Những pixel đơn được set luân phiên mang giá trị zero hay giá trị maximum tạo ra hình muối tiêu trên ảnh

- Nếu b > a, mức xám b sẽ xuất hiện tương ứng là điểm sáng trên ảnh còn mức xám a sẽ tương ứng với điểm đen xuất hiện trên ảnh

- Để cộng nhiễu “Salt and pepper” vào một ảnh ta dùng câu lệnh sau :

t = imnoise(image,’salt & pepper’)

Ảnh trước và sau khi thêm nhiễu Gaussian

Trang 15

- Số lượng nhiễu được cộng vào mặc định là 10% Ta có thể cung cấp thêm các thông số để thay đổi lượng nhiễu được cộng vào này c) Nhiễu lốm đốm

- Có thể được mô hình bằng cách nhân các giá trị ngẫu nhiên với giá trị của các pixel Nhiễu Speckle là vấn đề quan tâm chủ yếu trong các ứng dụng radar

- Trong Matlab ảnh với nhiễu Speckle được tính toán : I*(1 + N)

o t = imnoise(t,’speckle’)

Ảnh trước và sau khi thêm nhiễu Muối tiêu

Ảnh trước và sau khi thêm nhiễu lốm đốm

Trang 16

- Nhiễu N có phân phối chuẩn với giá trị trung bình =0 Có thể cung cấp thêm thông số để xác định giá trị kỳ vọng của N, giá trị mặc định của nó là 0.04

Nếu tín hiệu hình ảnh là tín hiệu tuần hoàn, chúng ta có thể có ảnh bị ảnh hưởng bởi nhiễu tuần hoàn

- Hàm imnoise không có tùy chọn để tạo ra nhiễu tuần hoàn Ta có thể tạo ra một dạng đơn giản của nhiễu tuần hoàn bằng cách cộng vào ảnh một ma trận tuần hoàn

2) Các bộ lọc sử lý nhiễu

a Bộ lọc trung bình (Mean Filter)

- Lọc trung bình là kĩ thuật lọc tuyến tính, hoạt động như một bộ lọc thông thấp Ý tưởng chính của thuật toán lọc Trung vị như sau: ta sử dụng một cửa sổ lọc (ma trận 3x3) quét qua lần lượt từng điểm ảnh của ảnh đầu vào input Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3x3 của ảnh gốc "lấp" vào ma trận lọc Giá trị điểm ảnh của ảnh đầu ra là giá trị trung bình của tất cả các điểm ảnh trong cửa sổ lọc Việc tính toán này khá đơn giản với hai bước gồm tính tổng các thành phần trong cửa sổ lọc và sau đó chia tổng này cho số các phần tử của cửa sổ lọc

- Bộ lọc trung bình hiệu quả nhất trong việc khử nhiễu Gaussian nhưng đổi lại là sự mất các chi tiết hình ảnh cao tần Kích thước kernel lớn hơn sẽ có hiệu quả lọc lơn hơn nhưng làm giảm chất lượng hình ảnh nên lọc này không hiệu quả trong việc khử nhiễu ‘salt and pepper’ Một biến thể phổ biến khác của bộ lọc này là tạo một ngưỡng và chỉ thay thế các giá trị điểm ảnh hiện tại với giá trị trung bình của vùng lân cận nếu độ lớn của giá trị trung bình nằm nằm dưới ngưỡng này

- Sơ lược một cách ngắn gọn các bước của giải thuật:

Quét cửa sổ lọc lần lượt lên các thành phần của ảnh đầu vào; điền các giá trị được quét vào cửa sổ lọc

Xử lý bằng cách thao tác trên các thành phần của cửa sổ lọc Tính giá trị trung bình các thành phần trong cửa sổ lọc

Gán giá trị trung bình này cho ảnh đầu ra

b Bộ lọc trung vị (Median Filter)

Trang 17

- Lọc Trung vị là một kĩ thuật lọc phi tuyến (non-linear), nó khá hiệu quả đối với hai loại nhiễu: nhiễu đốm (speckle noise) và nhiễu muối tiêu (salt-pepper noise) Kĩ thuật này là một bước rất phổ biến trong

xử lý ảnh

- Ý tưởng chính của thuật toán lọc Trung vị như sau: ta sử dụng một cửa sổ lọc (ma trận 3x3) quét qua lần lượt từng điểm ảnh của ảnh đầu vào input Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3x3 của ảnh gốc "lấp" vào ma trận lọc Sau đó sắp xếp các điểm ảnh trong cửa sổ này theo thứ tự (tăng dần hoặc giảm dần tùy ý) Cuối cùng, gán điểm ảnh nằm chính giữa (Trung vị) của dãy giá trị điểm ảnh đã được sắp xếp ở trên cho giá trị điểm ảnh đang xét của ảnh đầu ra output

- Sơ lược một cách ngắn gọn các bước của giải thuật:

Quét cửa sổ lọc lên các thành phần của ảnh gốc; điền các giá trị được quét vào cửa sổ lọc

Lấy các thành phần trong của sổ lọc để xử lý

Sắp xếp theo thứ tự các thành phần trong cửa sổ lọc

Lưu lại thành phần trung vị, gán cho ảnh output

c Bộ lọc Gaussian (Gaussian Filter)

- Ứng dụng của bộ lọc Gaussian là làm mịn ảnh, nó khác với bộ lọc trung bình ở chổ là: thứ nhất,mức độ làm mịn được điều khiển bởi sự lựa chọn các tiêu chuẩn thông số độ lệch, chứ không phải bởi giá trị tuyệt đối của kích thước hạt nhân,thứ 2, hàm Gaussian có một thuộc tính khá đặc biệt, đó là biến đổi Fourier của nó là một hàm Gaussian, điều đó rất thuận tiện cho việc phân tích miền tần số của bộ lọc 3) Giảm nhiễu cho ảnh

Cách làm:

- Đọc ảnh từ file trong máy tính

- Chuyển ảnh thành ảnh xám nếu ảnh đọc vào là ảnh màu và sau đó hiển thị

- Chèn nhiễu (Gaussian, lốm đốm, muối tiêu) vào ảnh xám bằng hàm chèn nhiễu imnoise()

- Dùng các bộ lọc (lọc trung bình, lọc trung vị, lọc Gaussian) để giảm nhiễu cho ảnh Khi lọc thì sử dụng hàm imfilter()

Trang 18

- Hiển thị ảnh đã được giảm nhiễu.

a) Giảm nhiễu theo bộ lọc trung bình

b) Giảm nhiễu bằng lọc trung vị

Ảnh nhiễu lốm đốm trước và sau khi lọc

(lọc trung bình)

Ảnh nhiễu muối tiêu trước và sau lọc nhiễu

(lọc trung vị)

Trang 19

c) Giảm nhiễu bằng lọc Gaussian.

Ảnh nhiễu Gaussian trước và sau khi lọc nhiễu

(lọc Gaussian)

Ngày đăng: 18/02/2025, 16:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN