xulyanhnop

8
Bài Tập Matlab X l nh. Lớp : L11CQVT02-N Nhóm: Bùi Nhật Khánh Nguyễn Ngọc Khẩn Nguyễn Đ tài : Viết chương trình cân bằng lược đồ xám cho ảnh đen-trắng. Hiển thị ảnh và lược đồ xám trước và sau khi cân bằng. Không sử dụng hàm histeq(A,n). X l lược đồ xám (histogram) Lược đồ xám ca mt ảnh s ( histogram ) c các mc xám biến thiên trong khoảng [0, L – 1] là hàm ri Lược đồ xám ca mt ảnh với các cấp xám nằm trong khoảng [0, L-1] là mt hàm ri rạc: h k =r k. Trong đó: k là mc xám, k = 0, 1, 2, ..., L-1.

Transcript of xulyanhnop

Page 1: xulyanhnop

Bài Tập Matlab Xư ly Anh.

Lớp : L11CQVT02-N

Nhóm:

Bùi Nhật Khánh Nguyễn Ngọc Khẩn Nguyễn

Đê tài : Viết chương trình cân bằng lược đồ xám cho ảnh đen-trắng. Hiển thị ảnh và lược đồ xám trước và sau khi cân bằng. Không sử dụng hàm histeq(A,n).

Xư ly lược đồ xám (histogram)

Lược đồ xám cua môt ảnh sô ( histogram ) co các mưc xám biến

thiên trong khoảng [0, L – 1] là hàm rơi Lược đồ xám cua môt ảnh

với các cấp xám nằm trong khoảng [0, L-1] là môt hàm rơi rạc:

hk=rk.

Trong đó:

k là mưc xám, k = 0, 1, 2, ..., L-1.

nk là sô lượng điểm ảnh trong ảnh co mưc xám bằng k.

hk là lược đồ xám cua ảnh với cấp xám bằng k. Trong thực tế, ta chuẩn hoa lược đồ xám bằng cách chia giá trị nk cho

tổng sô điểm ảnh trong ảnh ( ký hiệu là n ). Vì vậy, lược đồ xám

Page 2: xulyanhnop

chuẩn hoa được cho bởi công thưc:

pk=nkn

pklà ước lượng xác suất xảy ra cấp xám thư k.

Tổng các thành phần cua lược đồ xám chuẩn hoa bằng 1.

∑k=0

L−1

pk=1

Kỹ thuật cân bằng histogram:

Khi phân bô giá trị các mưc xám cua các điểm ảnh đồng đều trên toàn bô dải choi [0...L-1] thì ảnh sẽ co đô tương phản cao.

Quá trình biến đổi ảnh co lược đồ xám không đồng đều thành đồng đều được gọi là cân bằng lược đồ ( histogram equalization ).

Xét toán tử biến đổi mưc xám:

S=Tr ,0≤r≤1

T rlà hàm đơn ánh và đồng biến trong khoảng 0≤r ≤1

0≤ T r≤ 1, 0≤r ≤1khi Điều kiện 1 cần thiết để tồn tại biến đổi nghịch:

r=T−1( s ) ,0≤ s≤1

Cho pr(r) và ps(s) là các hàm mật đô phân bô xác suất ( PDF ) cua biến ngẫu nhiên r và s, hai hàm này co quan hệ như sau:

Page 3: xulyanhnop

ps ( s)=¿ pr (r )∨drds

∨¿

Xét hàm biến đổi sau:

s=Tr=∫0

r

pr ( t )dt(1)

dsdr

=dT (r )dr

= ddr [∫0

r

pr (t )dt ]=pr(r ) (2)

ps ( s)=pr (r )[ drds ]=pr (r )[ 1pr (t ) ]=1 ,0≤ s≤1 (3)

Như vậy: hàm biến đổi mưc xám co dạng (1) thì histogram ảnh kết quả sẽ co ảnh kết quả sẽ co dạng phân bô đều và không phụ thuôc vào hàm PDF cua ảnh gôc.

Quá trình cân bằng lược đồ xám cho ảnh sô được thực hiện với các biến ngẫu nhiên rơi rạc nkvà rk (nk là sô lượng điểm ảnh co mưc choi rk)

Xác suất xuất hiện điểm ảnh co mưc choi rk cũng chính là histogram cua ảnh gôc:

pr (r k )=nkn, k=0,1,2 ,… .., L−1

Hàm biến đổi mưc xám dùng để cân bằng histogram cho tín hiệu rơi rạc co dạng:

sk=T (rk )=∑j=0

k

pr (r j )=∑j=0

k n jn, k=0,1,2 ,…L−1

Kỹ thuật xấp xỉ histogram ( Histogram matching ):

Xấp xỉ histogram là phép biến đổi ảnh gôc sao cho ảnh biến đổi co dạng histogram mong muôn.

Histogram cua ảnh gôc là pr(r j)

Histogram mong muôn cua ảnh kết quả: pz¿)

Cân bằng histogram cho cả 2 ảnh trên:

Page 4: xulyanhnop

sk=T (rk )=∑j=0

k

pr (r j )=∑j=0

k n jn, k=0,1,2 ,…L−1

V k=G ( zk )=∑i=0

k

pz ( z i ) , k=0,1,2 ,… ,L−1

Histogram ảnh được tạo ra từ các điểm ảnh sk và vk co mật đô phân bô mưc xám đồng đều.

sk=T (rk )=∑j=0

k

pr (r j )=∑j=0

k n jn, k=0,1,2 ,…L−1

V k=G ( zk )=∑i=0

k

pz ( z i ) , k=0,1,2 ,… ,L−1

Để tìm ra ảnh [ zi]nếu biết [r j], ta cho: sk=V k

zk=G−1 (vk ) , k=0,1,2 ,…, L−1

zk=G−1 (vk )=G−1 ( sk )=G−1 [T (r k)] , k=0,1,2 ,…, L−1

zk=G−1[∑

j=0

k

pr (rk )]Quá trình biến đổi trên sẽ ánh xạ mưc xám rk cua ảnh gôc ( co histogram pr(r j)¿ thành mưc xám zk cua ảnh mới ,histogram cua ảnh mới sẽ co dạng là pz(zi)

Các bước thực hiện xấp xỉ histogram :

Trên th c t , quá trình th c hi n bi n đ i m c xám thu n và ngh ch đ c ự ế ự ệ ế ổ ứ ậ ị ượth c hi n cho hình nh s b ng cách tra b ng.ự ệ ả ố ằ ả

Vd: b ng tra c u sẽ ch a t p giá tr các m c chói ả ứ ứ ậ ị ứ rk c a nh g c và các m c ủ ả ố ứxám sk c a nh k t qu .ủ ả ế ả

Quá trình x p x histogram th c hi n theo các b c sau:ấ ỉ ự ệ ướ

1.Tính histogram c a nh g c.ủ ả ố

2.Từ rk tìm các giá trị sk (thực hiện cân bằng xám cho ảnhrk) ta co hàm rơi rạc sk=T (r¿¿k )¿

Page 5: xulyanhnop

3. Tìm vkthông qua zkdựa trên hàm rơi rạc pz(z) (histogram cho trước) ta co vk=G(z¿¿k )¿

4.Dựa trên bất đẳng thưc [G (s¿)−sk ]≥0k=0,1,2…. L−1

5. Tạo ra bảng tra ( Look Up Table – LUT) để thực hiện quá trình ánh xạ rk−→zk

Với ảnh cụ thể, ta lựa chọn histogram mong muôn co dạng:

p ( z )=A11

σ 1√2π

e−(

( z−m1)2

2σ 21

)

+A21σ2√2π

e−(

( z−m2 )2

2σ22 )

Thay đổi các thông sô σ 1,m1, σ 2,m1, A1 , A2

Co thể nhận được histogram khác nhau . trong ví dụ trên sử dụng các giá trị sau:

σ 1=0.025 ,m1=0.02, m2=0,75, σ 2=0.05, A1=3, A2=0.08

Ch ng trinh mô ph ng b ng matlab : ươ o ă

RGB=imread('D:\picture\mua he.jpg'); % Đ c file nhọ ả

TD=rgb2gray(RGB); % T o nh tr ng đen t nh màu RGBạ ả ắ ừ ả

TD=mat2gray(TD); % T o nh tr ngg đen b ng cách l y d li u t ma tr n ạ ả ắ ằ ấ ữ ệ ừ ậTD

figure(1); % T o nh đ h a t nh Tdclcạ ả ồ ọ ừ ả

subplot(2,2,1); % Chia figure1 thành 2 ph n,m i ph n bi u di n 2 nhầ ỗ ầ ể ễ ả

imshow(TD); % Hi n th nh TDể ị ả

title(' Anh goc ');

subplot(2,2,2); % Chia figure1 thành 2 ph n,m i ph n bi u di n 2 nhầ ỗ ầ ể ễ ả

imhist(TD); % Hi n th l c đ xám nh TDể ị ượ ồ ả

title( 'L c đ xám nh g c TD');ượ ồ ả ố

% Cân B ng L c Đ Xámằ ượ ồ

Page 6: xulyanhnop

newimage=adapthisteq(TD), %Cân b ng l c đ xám b ng ph ng pháp ằ ượ ồ ằ ươthích nghi

subplot(2,2,3);

imshow(newimage); % Hi n th nh sau khi cân b ngể ị ả ằ

title('Anh can bang');% Tiêu đ nh sau khi cân b ngề ả ằ

subplot(2,2,4);

imhist(newimage); % Hi n th l c đ xám sau khi cân b ng nhể ị ượ ồ ằ ả

title('Luoc do xam can bang');% Tiêu đ l c đ xám sau khi cân b ngề ượ ồ ằ

RGB=imread('D:\picture\mua he.jpg'); % Đ c file nhọ ả

Anh hiển thị sau khi thực hiện chương trình

Page 7: xulyanhnop