Đăng ký Đăng nhập
Trang chủ Báo cáo đồ án đtvt1 cơ bản về matlap...

Tài liệu Báo cáo đồ án đtvt1 cơ bản về matlap

.DOCX
95
53
73

Mô tả:

Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành CH 姶姶 NG I: TÌM HI 姶 U C 姶 B 姶 N V 姶 MATLAB VÀ GUI I) Cơ b 違 n về Matlab: 1) Giới thiệu chung về Matlab: Matlab là một công cụ tính toán trong kỹ thuật, đặc biệt là các bài toán về ma trận. Matlab còn cung cấp các toolboxes chuyên dụng để gi 違 i quyết những vấn đề cụ thể như xử lý 違 nh, xử lý số tín hiệu, neuron, mô phỏng… Matlab cung cấp Image Processing toobox, chuyên về xử lý 違 nh. Có thể nói Matlab là một công cụ lợi h 違 i giúp cho việc thực hiện các gi 違 i thuật xử lý 違 nh nhanh chóng và dễ hiểu. 2) Khởi động Matlab: 2.1) Mở chương trình: -Click vào biểu tượng để mở chương trình. 2.2) Nhậ p lệnh trong Matlab: qu 違. - Cửa sổ Command line hiện ra, đây là nơi chúng ta sẽ nhập lệnh và Matlab đưa ra kết - Lệnh sẽ thực hiện ngay và thể hiện kết qu 違 thực thi trên màn hình. Vd: >> 5+3 ans = 8 - Trong nhiều trường hợp ta không muốn thể hiện kết qu 違 thì sau khi gõ lệnh ph 違 i thêm dấu “;”. 2.3) Sử d ụ ng công cụ giúp đỡ: -Đánh lệnh help ten_lenh để biết được cách sử dụng và công dụng của ten_lenh. Ví dụ: help convert -Nếu không biết chính xác tên lệnh là gì, ta có thể dùng lệnh lookfor. -Ví dụ: lookfor convert sẽ cho ta danh sách các lệnh có từ convert trong phần trợ giúp. Báo cáo đồ án ĐTVT1 Trang 1 GVHD : Bùi Minh Thành 3) Phép toán với vector và ma trậ n: 3.1) Các toán tử : -Trong Matlab, không cần khai báo biến. Matlab phân biệt biến chữ hoa và thường Ví dụ: A và a là hai biến khác nhau -Các phép toán số học: +,-,*,/,\(chia đ 違 o), ^. -Các toán tử quan hệ :< , <= , > , >= , == , ~= -Các toán tử logic : & , | (or) , ~ (not) -Các hằng : pi 3.14159265 i số 違 o j tương tự i eps sai số 2-52 inf vô cùng lớn NaN Not a number 3.2) Làm việc với vector và ma trậ n: -Trong Matlab, tất c 違 các đối tượng đều xem là ma trận. Một chữ số là một ma trận 1*1 . Một vector là ma trận một hàng hay một cột. Ví dụ: >> a=[5 10 2;10 2 4; 2 4 5] a= 5 10 2 10 2 4 2 4 5 -Chỉ số : Phần tử ở hàng i cột j của ma trận có kí hiệu là A(i,j). Tuy nhiên ta cũng có thể tham chiếu tới phần tử của m 違 ng nhờ một chỉ số A(k). Ví dụ: A(6) là tham chiếu của A(3,2). -Toán tử “:” là một toán tử quan trọng, xuất hiện ở nhiều d 違 ng khác nhau Ví dụ: >> 5:10 Báo cáo đồ án ĐTVT1 ans = Trang 2 GVHD : Bùi Minh Thành 5 6 7 8 9 10 >> 1:2:10 ans= 1 3 5 7 9 ó A(:,j) để trích ra cột thứ j của A ó A(i,:) để trích ra hàng thứ i ó A(k:l,m:n) trích ra ma trận con của A ó V(i:j) trích ra một phần vector V Ví dụ: >> A=[2 4 6; 1 3 5; 3 1 4]; >> A(3,:) ans = 3 1 4 -Chuyển vị: Dùng dấu „ để t 違 o ma trận chuyển vị Ví dụ: > > a=[1 3; 2 4] a= 1 3 2 4 >> a„ ans = 1 2 3 4 -Phép toán số học với ma trận: Cộng, trừ ma trận: >> a=[2 3]; Báo cáo đồ án ĐTVT1 >> b=[1 2]; >> a+b ans = Trang 3 GVHD : Bùi Minh Thành 3 5 Nhân hai ma trận: >> a*b„ ans = 8 >> a.*b ans = 2 6 Chia các thành phần của ma trận này cho một ma trận khác: >> a./b ans = 2.0000 1.5000 Lũy thừa của ma trận: >> a.^2 ans = 4 9 >> c=[1 2; 3 4]; >> c^2 ans = 7 10 15 22 -Ma trận đặc biệt: ó zeros(m,n): ma trận toàn 0 ó eye(n):ma trận đơn vị Báo cáo đồ án ĐTVT1 ó ones(m,n): Ma trận toàn 1 4) Lậ p trình trong matlab: 4.1) Biểu thức điều kiện: Gần giống trong C -If, else , elseif. -switch( chỉ thực thi duy nhất một nhóm lệnh) Trang 4 GVHD : Bùi Minh Thành 4.2) Vòng lậ p: -for, while. 5)Hàm m-file: ó Hàm m-file là một chương trình con do chúng ta yêu cầu các đối số ngõ vào và có thể tr 違 về đối số ngõ ra ó Cú pháp: function[outputArgs]=function_name(inputArgs) -Chú thích(đặt sau dấu %, chú thích sẽ hiện ra khi dùng lệnh help) -Các lệnh. -return; Ph 違 i lưu l 違 i với tên giống tên hàm. Ví dụ:Vẽ hàm sau trong kho 違 ng [-10,10] Gi 違 i: function f = function1(x) y =./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6 ; Lưu l 違 i với tên function1.m >>fplot(„function1‟,[-10,10]); 6)Vẽ hình trong Matlab: -Matlab cung cấp nhiều hàm để biểu diễn đồ thị 2D và 3D. ó plot: vẽ đồ thị 2D ó plot3: vẽ đồ thị 3D Báo cáo đồ án ĐTVT1 ó loglog: vẽ đồ thị các trục là logarit ó semilogx, semilogy: vẽ đồ thị với 1 trục là logarit -Sử dụng hàm figure để t 違 o nhiều cửa sổ hình vẽ -Sử dụng lệnh subplot để vẽ nhiều hình trên một cửa sổ -Hàm chú thích hình vẽ: ó title: Nhãn hình vẽ ó xlabel, ylabel,zlabel: nhãn các trục. Trang 5 GVHD : Bùi Minh Thành ó legend: thêm chú thích vào hình vẽ Ví dụ: x = -pi:.1:pi; y = sin(x); >>plot(x,y) xlabel('t = 0 to 2\pi','Fontsize',16) ylabel('sin(t)','Fontsize',16) title('\it{Gia tri cua sin tu zero den 2 pi}','Fontsize',16) II) Matlab GUI: 1) Giới thiệu: ó Gui-là giao diện bằng hình 違 nh của chương trình ó Gui-bao gồm các nút nhấn, hộp liệt kê, thanh trượt, menu… chúng cung cấp cho người dùng sử dụng một môi trường làm việc thân thiện để họ tập trung vào các ứng dụng của chương trình hơn là đi tìm hiểu cách thức làm việc của chương trình đó. Báo cáo đồ án ĐTVT1 Trang 6 GVHD : Bùi Minh Thành ó Để mở công cụ t 違 o Gui : File New GUI ó Khi lưu giao diện vừa t 違 o, Matlab sẽ t 違 o ra hai file có cùng tên nhưng khác phần mở rộng: - File có phần mở rộng .fig chứa nội dung của giao diện - File có phần mở rộng .m chứa những đo 違 n mã liên quan đến giao diện Báo cáo đồ án ĐTVT1 Trang 7 GVHD : Bùi Minh Thành Báo cáo đồ án ĐTVT1 ó Khi thiết kế bất cứ thành phần nào của Gui ta cần thiết lập thuộc tính cho thành phần đó. ó Để thiết lập các thuộc tính ta có thể chọn mục “ Property Inspector” trên thanh công cụ hoặc right-click vào đối tượng và chọn mục “Inspector Properties” ó Hai thuộc tính quan trọng mà ta cần xác lập là “String Property” và “ Tag Property”. - String property : dòng ký tự xuất hiện trên đối tượng. - Tag property : tên của đối tượng. ó Khi click chuột vào 1 đối tượng, Matlab sẽ gọi hàm tương ứng với đối tượng đó. Tên của hàm chính là tên của đối tượng cộng với “_Callback” 2) Các hàm thường được sử d ụ ng trong Gui: Trang 8 GVHD : Bùi Minh Thành Set : Thay đổi giá trị của các thuộc tính của một đối tượng giao diện set(handles.TextBox,‟String‟,str) Get : Truy xuất giá trị của thuộc tính của một đối tượng giao diện get(handles.EditBox,‟String‟) ó Ngoài ra còn có các hàm như axes, guide, num2str(), str2num()… Trang 9 GVHD : Bùi Minh Thành Báo cáo đồ án ĐTVT1 CH 姶姶 NG II: C 姶 B 姶 N V 姶 姶 NH VÀ CÁC HÀM X 姶 LÝ 姶 NH C 姶 B 姶 N TRONG MATLAB I) Các kiểu 違 nh trong Matlab: 1) 姶 nh Index: 違 nh được biểu diễn bởi hai ma trận, một ma trận dữ liệu 違 nh X và một ma trận màu (còn gọi là b 違 n đồ màu) map. Ma trận dữ liệu có thể thuộc kiểu uint8, uint16 hoặc double. Ma trận màu là một ma trận kich thước m x 3 gồm các thành phần thuộc kiểu double có giá trị trong kho 違 ng [0 1]. Mỗi hàng của ma trận xác định thành phần red, green, blue của một màu trong tổng số m màu được sử dụng trong 違 nh. Giá trị của một phần tử trong ma trận dữ liệu 違 nh cho biết màu của điểm 違 nh đó nằm ở hàng nào trong ma trận màu. Báo cáo đồ án ĐTVT1 Trang 10 GVHD : Bùi Minh Thành 2) 姶 nh grayscale: Mỗi 違 nh được biểu diễn bởi một ma trận hai chiều, trong đó giá trị của mỗi phần tử cho biết độ sang (hay mức xám) của điểm 違 nh đó. Ma trận này có thể một trong các kiểu uint8, uint16 hoặc double. 違 nh biểu diễn theo kiểu này còn gọi là 違 nh „trắng đen‟. 3) 違 nh nhị phân: 違 nh được biểu diễn bởi một ma trận hai chiều thuộc kiểu logical. Mỗi điểm 違 nh chỉ có thể nhận một trong hai giá trị là 0 (đen) hoặc 1 (trắng) Báo cáo đồ án ĐTVT1 Trang 11 GVHD : Bùi Minh Thành 4) 姶 nh RGB: Còn gọi là 違 nh “truecolor” do tính trung thực của nó. 違 nh này được biểu diễn bởi một ma trận ba chiều kích thước m x n x 3, với m x n là kích thước 違 nh theo pixels. Ma trận này định nghĩa các thành phần màu red, green, blue cho mỗi điểm 違 nh, các phần tử của nó có thể thuộc kiểu uint8, uint16 hoặc double. Trang 12 GVHD : Bùi Minh Thành Báo cáo đồ án ĐTVT1 f (m, n)e e II) Các phép biến đổi 違 nh: 1) Biến đổi Fourier: Phép biến đổi Fourier biểu diễn 違 nh dưới d 違 ng tổng của các lũy thừa phức của các thành phần biên độ, tần số, pha khác nhau của 違 nh. Nếu f(m,n) là một hàm của hai biến không gian rời r 違 c m và n, thì biến đổi Fourier hai chiều của f(m,n) được định nghĩa : F (w1,w2)= jmw1 jnw2 m n Nếu f(m,n) biểu diễn độ sáng của 違 nh X ở vị trí pixel (m,n) thì F(w1,w2) chính là biến đổi Fourier của 違 nh X. Do các dữ liệu trên máy tính được lưu trữ dưới d 違 ng rời r 違 c, cụ thể là dữ liệu 違 nh được tổ / M )đổi pm Fourier j(2 / Ncũng )qn được chức theo đơn vị pixel nên phépj(2biến rời r 違 c hóa thành biến đổi (0<=p<=M-1,0<=q<=N-1) m 0 n 0 Fourier rời r 違 c (DFT). Gi 違 sử hàm f(m,n) chỉ khác 0 trong miền (0<=m<=M-1,0<=n<=N-1), các phép biến đổi DFT thuận và nghịch kích thước M x N được định nghĩa như sau : M 1N 1 Trang 13 Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành F ( p,q) = e M 1N 1 f (m,n) = F ( p, q)e j(2 / M ) pm j(2 / N)qn (0<=m<=M-1,0<=n<=N-1) p 0q 0 F(p,q) gọi là các hệ số của biến đổi DFT. Với các ứng dụng trong xử lý 違 nh, chúng ta chỉ quan tâm đến các hàm fft2 và ifft2. Cú pháp : F=fft2(X,Mrows,Ncols) f=ifft2(F,mrows,ncols) Nếu 違 nh ban đầu có kích thước nhỏ hơn thì Matlab tự động thêm vào các zero pixel trước khi biến đổi. Sau khi thực hiện biến đổi DFT bằng fft2, thành phần DC sẽ nằm ở góc trên bên trái của 違 nh. Ta có thể dùng hàm fftshift để dịch thành phần DC này về trung tâm của 違 nh. 2) Phép biến đổi DCT: Biến đổi DCT (Discrete Cosine Transform) biểu diễn 違 nh dưới d 違 ng tổng của các cosine của các thành phần biên độ và tần số khác nhau của 違 nh. Hầu hết các thông tin về 違 nh chỉ tập trung trong một vài hệ số của biến đổi DCT, trong khi các hệ số còn l 違 i chứa rất ít thông tin. Biến đổi DCT 2 chiều của một ma trận A kích thước M x N là: Bpq = p q M 1N 1 Amcos p 0q 0 (2m 1) p cos (2n 1)q 2N 2M với 0<=p<=M-1 0<=q<=N-1 Amn = M 1N 1 p 0q 0 p q Bpq cos (2m 1) p cos (2n 1)q 2M 2N với 0<=m<=M-1 0<=n<=N-1 Phép biến đổi DCT thuận và nghịch được thực hiện bằng các hàm dtc2 và idtc2. Các hàm này sử dụng gi 違 i thuật dựa theo FFT để tăng tốc độ tính toán. Cú pháp : B=dtc2(A,M,N) A=idtc2(B,M,N) 3) Biến đổi Radon: f (m, n)e e Phép biến đổi Radon được thực hiện bởi hàm radon trong Matlab, biểu diễn 違 nh dưới d 違 ng các hình chiếu của nó dọc theo các hướng xác định. Hình chiếu của một hàm hai biến f(x,y) là tập hợp các tích phân đường. Hàm radon tính các tích phân đường từ nhiều điểm nguồn dọc theo các đường dẫn song song, gọi là các tia chiếu, theo một hướng xác định nào đó. Các tia chiếu này nằm cách nhau 1 pixel. Để biểu diễn toàn bộ 違 nh, hàm radon sẽ lấy nhiều hình chiếu song song của 違 nh từ các góc quay khác nhau bằng cách xoay các điểm nguồn quanh tâm của 違 nh. Báo cáo đồ án ĐTVT1 Biến đổi Radon của f(x,y) tương ứng với góc quay trục y‟ : Trang 14 GVHD : Bùi Minh Thành là tích phân đường của f dọc theo Trong Matlab, biến đổi Radon được tính bằng hàm Radon có cú pháp như sau : [R,Xp] = radon(I,theta) Trang 15 Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành Phép biến đổi Radon với nhiều góc thường được hiển thị dưới d 違 ng 違 nh. Báo cáo đồ án ĐTVT1 Trang 16 GVHD : Bùi Minh Thành II I) Các hàm xử lý cơ b 違 n: 1) Đọc và ghi dữ liệu 違 nh: V Hàm imread đọc các file 違 nh với bất kỳ các định d 違 ng 違 nh đã biết hiện nay và lưu l 違 i dưới d 違 ng một ma trận biểu diễn 違 nh trong Matlab. Cú pháp : A=imread(filename,fmt) V Hàm imwrite cho phép lưu một 違 nh biểu diễn bằng một ma trận trong Matlab thành một file 違 nh dưới một trong các định d 違 ng đã biết. Cú pháp : imwrite(A,filename,fmt) V Hàm imfinfo dùng để xem các thông số của một file 違 nh nào đó. Cú pháp : imfinfo(filename,fmt) Các thông tin được cung cấp bởi hàm imfinfo là : filename, filemoddate, filesize, format, formatversion, width, height, bitdepth, colortype. 2) Chuyển đổi giữa các kiểu dữ liệu, kiểu 違 nh: 2.1)Chuyển đổi giữa các kiểu dữ liệu 違 nh: Matlab cung cấp sẵn các hàm thực hiện chuyển kiểu cho các ma trận biểu diễn 違 nh, bao gồm : im2double, im2uint8 và im2uint16. Tuy nhiên, khi thực hiện chuyển kiểu giữa các dữ liệu 違 nh cần lưu ý một số điều sau: Khi chuyển từ một kiểu dữ liệu dùng nhiều bit sang một kiểu dữ liệu dùng it bit V hơn thì một số thông tin chi tiết về bức 違 nh ban đầu sẽ bị mất. Không ph 違 i lúc nào cũng có thể chuyển đổi kiểu dữ liệu đối với kiểu 違 nh V indexed, vì các giá trị của ma trận 違 nh xác định một địa chỉ trong b 違 n đồ màu chứ không ph 違 i là giá trị màu, do đó không thể lượng tử hóa được. 2.2) Chuyển đổi giửa các kiểu 違 nh: V V V V V V V V V Dither : dither(RGB,map) dither(I) Gray2ind : [X,Map] = gray2ind(I,N) [X,Map] = gray2ind(BW,N) Grayslice : x=grayslice(I,N) x=grayslice(I,V) Im2bw : bw=im2bw(I,level) bw=im2bw(x,map,level) bw=im2bw(rgb,level) Ind2gray : i=ind2gray(x,map) Ind2rgb : rgb=ind2rgb(x,map) Mat2gray : i=mat2gray(a,[amin amax]) Rgb2gray : i=rgb2gray(rgb) Rgb2ind : [x, map]=rgb2ind(rgb,n) Báo cáo đồ án ĐTVT1 x=rgb2ind(rgb,map) [x,map]=rgb2ind(rgb,tol) Trang 17 GVHD : Bùi Minh Thành 3)Các phép toán số học cơ b 違 n đối với dữ liệu 違 nh: Các phép toán số học cơ b 違 n trên các dữ liệu 違 nh bao gồm các phép cộng, trừ, nhân và chia. Tuy nhiên, Matlab chỉ hỗ trợ các phép toán này trên kiểu double nên cần thực hiện chuyển đổi kiểu trước khi thực hiện. Để gi 違 m bớt thao tác này, trong IPT có cung cấp các hàm thực hiện các phép toán số học trên 違 nh mà có thể chấp nhận bất kỳ kiểu dữ liệu 違 nh nào và tr 違 về kết qu 違 thuộc cùng kiểu với các toán h 違 ng. Các hàm này cũng xử lý các dữ liệu tràn một cách tự động. Imabsdiff : z=imabsdiff(x,y) V Imadd : z=imadd(x,y,out_class) V Imcomplement : im2=imcomplement(im) V Imdivide : z=imdivide(x,y) V Imlincomb : z=imlincomb(k1,a1,k2,a2,…,kn,an,k,out_class) V Immultiply : z=immultiply(x,y) V Imsubstract : z=imsubstract(x,y) V 4) Các hàm hiển thị 違 nh trong Matlab: Matlab cung cấp hai hàm hiển thị cơ b 違 n là image và imagesc. Ngoài ra trong IPT cũng có hai hàm hiển thị 違 nh khác, đó là imview và imshow. Hàm image(X,Y,C) hiển thị hình 違 nh biểu diễn bởi ma trận C kích thước M x N V lên trục tọa độ hiện hành. X, Y là các vector xác định vị trí các pixel C(1,1) và C(M,N) trong hệ trục hiện hành. Hàm imagesc có chức năng tương tự như hàm image, ngo 違 i trừ việc dữ liệu 違 nh V sẽ được co giãn để sử dụng toàn bộ b 違 n đồ màu hiện hành. Hàm imview cho phép hiển thị hình 違 nh trên một cửa sổ riêng, nền Java, gọi là V image Viewer. Image Viewer cung cấp các công cụ dò tìm và xác định các giá trị pixel một cách linh ho 違 t. Hàm imshow cũng t 違 o một đối tượng đồ họa thuộc lo 違 i image và hiển thị 違 nh V trên một figure. Hàm imshow sẽ tự động thiết lập các giá trị của các đối tượng image, axes và figure để thể hiện hình 違 nh. 5) Các phép biến đổi hình học: 5.1) Phép nội suy 違 nh: Nội suy là quá trình ước lượng giá trị của một điểm nằm giữa hai pixel có giá trị đã biết. IPT cung cấp 3 phương pháp nội suy 違 nh : nội suy theo các lân cận gần nhất, nội suy song tuyến tính và nội suy bicubic. C 違 3 phương pháp đểu thực hiện theo nguyên tắc chung : để Trang 18 Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành xác định giá trị của một pixel 違 nh nội suy, ta tìm một điểm trong 違 nh ban đầu tương ứng với pixel đó, sau đó giá trị của pixel ở 違 nh mới sẽ được tính bằng trung bình có trọng số của một tập các pixel nào đó ở lân cận của điểm vừa xác định, trong đó trọng số của các pixel phụ thuộc vào kho 違 ng cách tới điểm này. Phương pháp lân cận gần nhất (nearest neighbor) : pixel mới sẽ được gán giá trị V của pixel chứa điểm tương ứng của nó trong 違 nh ban đầu Phương pháp song tuyến tính (bilinear interpolation) : pixel mới sẽ được gán là V trung bình có trọng số của các pixel trong một lân cận kích thước 2 x 2. Phương pháp bicubic, pixel mới sẽ được gán là trung bình có trọng số của các V pixel trong một lân cận kích thước 4 x 4. 5.2) Thay đổi kích thước 違 nh: Hàm imresize cho phép người sử dụng thay đổi kích thước 違 nh. Ngoài kích thước 違 nh mới, người sử dụng còn có thể xác định phương pháp nội suy sẽ dùng và lo 違 i bộ lọc dùng để chống aliasing. Cú pháp : b=imresize(a,m, method) :t 違 o 違 nh gấp m lần 違 nh a. b=imresize(a,[mrows mcols],method) b=imresize(a,[mrows mcols],method,N) b=imresize(a,[mrows mcols],method,h) 5.3) Phép quay 姶 nh: Để thực hiện phép quay 違 nh, ta có thể sử dụng hàm imrotate. Ngoài hai thông số cơ b 違 n là 違 nh gốc và góc quay, người sử dụng cũng có thể xác định phương pháp nội suy sẽ dùng và kích thước của 違 nh mới. Cú pháp : b=imrotate(a,angle,method,Bbox) 5.4) Trích xuất 違 nh: Khi cần trích xuất một phần 違 nh gốc, ta dùng hàm imcrop. Xác định cụ thể vị trí của phần 違 nh cần trích xuất (dưới d 違 ng hình chữ nhật) V Cú pháp : x2=imcrop(x,map,rect) % indexed x2=imcrop(a,rect) % grayscale or RGB trong đó rect=[Xmin Ymin width height] Sử dụng mouse để chọn phần 違 nh cần trích xuất. V Ta không cần cung cấp thông số rect, khi thực hiện hàm này, con trỏ sẽ chuyển sang d 違 ng chữ thập, người dùng sẽ kéo chuột để chọn phần 違 nh cần trích xuất sau đó th 違 chuột. Trang 19 GVHD : Bùi Minh Thành Báo cáo đồ án ĐTVT1 CH 姶姶 NG III: NÂNG CAO CH 姶 T L 姶姶 NG 姶 NH I) Mở đầu: Nâng cao chất lượng 違 nh số là quá trình xử lý trên 違 nh ban đầu để t 違 o ra kết qu 違 là một bức 違 nh tốt hơn xét theo một tiêu chí cụ thể. Ví dụ xử lý để nâng cao chất lượng của 違 nh chụp Xquang sẽ khác với việc nâng cao chất lượng của 違 nh chụp của một vệ tinh địa tĩnh. Có nhiều phương pháp nhằm tăng cường chất lượng của 違 nh, nhưng tập trung vào hai nhánh chính là xử lý 違 nh trong miền không gian và xử lý 違 nh trong miền tần số. Trong miền không gian, 違 nh được xử lý trực tiếp trên các pixels. Miền tần số sử dụng biến đổi Fourier để xử lý. II) Xử lý 違 nh trong miền không gian: 1) Giới thiệu: Miền không gian là tập hợp các pixels trong một bức 違 nh. Chúng ta sẽ tiến hành xử lý trực tiếp trên các pixels này. Quá trình xử lý này có thể được mô t 違 thông qua biểu thức sau: g(x,y)=T[f(x,y)] Với f(x,y) là 違 nh gốc, g(x,y) là 違 nh sau xử lý, và T là phép toán biến đổi, dựa trên các điểm 違 nh xung quanh (x,y). Các điểm 違 nh xung quanh có thể có các kích cỡ khác nhau, có thể là d 違 ng vuông hoặc chữ nhật, trong đó điểm 違 nh cần xử lý ở vị trí trung tâm. Trên hình là một khung có kích thước 3*3. Tùy mục đích cụ thể mà ta dùng các phép biến đổi khác nhau. Báo cáo đồ án ĐTVT1 Trang 20 GVHD : Bùi Minh Thành 2)Phép biến đổi mức xám: Trong phép biến đổi này, giá trị g(x,y) chỉ phụ thuộc vào giá trị của f(x,y), và T trở thành hàm biến đổi mức xám. Ta có biểu thức đơn gi 違 n sau: s=T(r) Với r là mức xám ban đầu t 違 i (x,y), s là mức xám sau biến đổi t 違 i (x,y). Ví dụ: Xét hai phép biến đổi mức xám sau: Với hình a, phép biến đổi cho ta 違 nh sau xử lý có độ tương ph 違 n cao hơn so với 違 nh ban đầu. Các giá tri mức xám rm nhưng được nén l 違 i gần mức 1( sáng hơn) làm 違 nh sau xử lý có độ tương ph 違 n cao. Phép biến đổi ở hình b nhằm biến 1 違 nh grayscale thành 1 違 nh nhị phân. Ta xét mức ngưỡng m, với rm xét thành mức 1. 2.1) Một số phép biến đổi mức xám cơ b 違 n: a) 姶 nh âm b 姶 n: Với 1 違 nh có các giá trị mức xám nằm trong kho 違 ng [0,L-1], ta có: s=L-1-r Ta sử dụng phép biến đổi này trong trường hợp muốn làm nổi bật các chi tiết có màu sáng ở trong một vùng tối, đặc biệt với các bức 違 nh có vùng tối lớn. Trang 21 GVHD : Bùi Minh Thành Báo cáo đồ án ĐTVT1 Hình trên là hình chụp một mô ngực, với 違 nh bên trái là 違 nh gốc và bên ph 違 i là 違 nh âm b 違 n. Ta có thể dễ dàng thấy được việc phân tích sẽ dễ dàng hơn với 違 nh âm b 違 n. b) Phép biến đổi log: Biểu thức: s=c*log(1+r) Các giá trị r mức thấp d 違 i hẹp qua phép biến đổi sẽ t 違 o ra d 違 i rộng hơn, trong khi đó các giá trị r mức cao sẽ nén l 違 i thành 1 d 違 i hẹp ở ngõ ra. Phép biến đổi này nhằm mục đích tăng chi tiết hóa ở vùng tối.
- Xem thêm -

Tài liệu liên quan

Tài liệu vừa đăng