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

Ứng dụng biến đổi beamlet trong việc nhận dạng vật thể chuyển động và loại trừ đốm nhiễu

109 8 0

Đ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

Định dạng
Số trang 109
Dung lượng 2,48 MB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ ỨNG DỤNG BIẾN ĐỔI BEAMLET TRONG VIỆC NHẬN DẠNG VẬT THỂ CHUYỂN ĐỘNG VÀ LOẠI TRỪ ĐỐM NHIỄ NGUYỄN TÙNG LINH Ngành: KỸ THUẬT TRUYỀN THÔNG Giảng viên hướng dẫn: PGS.TS NGUYỄN HỮU TRUNG PGS.TS NGUYỄN THÚY ANH Viện: Điện tử - viễn thông HÀ NỘI, 2014 Luận văn Thạc Sĩ LỜI CAM ĐOAN Luận văn đƣợc hồn thành sau thời gian nghiên cứu, tìm hiểu nguồn tài liệu sách báo chuyên ngành thông tin mạng số nguồn đáng tin cậy Chi tiết tài liệu tham khảo đƣợc liệt kê cuối đồ án Tôi xin cam đoan đồ án chép cơng trình nghiên cứu nhƣ luận văn trƣớc Nếu sai với cảm đoan tơi xin hồn tồn chịu trách nhiệm NGUYỄN TÙNG LINH – CB120704 – 2012B Luận văn Thạc Sĩ MỤC LỤC LỜI MỞ ĐẦU TÓM TẮT NỘI DUNG LUẬN VĂN .2 TỔNG QUAN ĐỀ TÀI .4 CHƢƠNG NỀN TẢNG KIẾN THỨC CƠ BẢN VỀ XỦ LÝ ẢNH SỐ I.1 Xử lý ảnh (số) khái niệm liên quan I.1.1 Xử lý ảnh (số) .6 I.1.2 Các khái nịêm liên quan .6 I.1.3 Nhận dạng phân loại ảnh (recognition and classification of image partterns) .9 I.2 Lý thuyết ảnh 3D 12 I.2.1 Tổng quan ảnh 3D 12 I.2.2 Tạo ảnh 3D .14 I.2 Ứng dụng ảnh 3D 14 I.2.4 Tách ảnh 3D thành ảnh 2D .15 CHƢƠNG NHẬN DẠNG VẬT BẰNG XỬ LÝ ẢNH 16 II.1.Tƣơng quan tuyến tính tƣơng quan phi tuyến 16 II.2 Các kỹ thuật lọc phi tuyến nhận dạng theo tỉ lệ 17 II.3 Phát đặc trƣng tuyến tính dựa phân tích wavelet .18 II.2 Phát đặc trƣng tuyến tính dựa hình thái tốn học .19 II.2.1 Giới thiệu 19 II.2.2 Các thuật toán xử lý hình thái học 21 CHƢƠNG III LÝ THUYẾT BEAMLET 26 III.1 Tổng quan phân tích beamlet 27 III.2 Giới thiệu biến đổi beamlet 28 III.2.1 Từ điển beamlet .28 III.2.2 Biến đổi Beamlet 30 III.2.3 Tháp beamlet 31 III.2.4 Đồ thị beamlet 32 III.3 Trích dẫn đặc trƣng tuyến tính với biến đổi beamlet ảnh nhiễu 36 NGUYỄN TÙNG LINH – CB120704 – 2012B Luận văn Thạc Sĩ III.3.1 Giới thiệu cấu trúc thuật toán 37 III.3.2 Phát đƣờng thẳng .37 III.3.3 Các thuật toán cấu trúc 44 III.3.3.1 Trích dẫn mảnh đa đoạn thẳng .46 III.3.3.2Tối ƣu hóa BD-RDP‟s 47 III.3.3.3 Trích dẫn nhiều vùng 48 III.3.4 Chuỗi cục phân đoạn đƣờng thẳng 52 III.3.4.1 Xấp xỉ nhanh GLTR việc phát đoạn thẳng 52 III.3.5 Phát trích xuất đối tƣợng 55 CHƢƠNG IV ỨNG DỤNG BEAMLET TRONG XỬ LÝ ẢNH VỈA HÈ 57 IV.1 Giới thiệu .57 IV.2 Thuật toán xử lý ảnh vỉa hè nâng cao 60 IV.3 Thực biến đổi beamlet cho việc phát vết nứt 70 III.4 Kiểm tra tính kết nối vết nứt 71 IV.5 Tiêu chuẩn phân loại vết nứt 74 CHƢƠNG V KẾT QUẢ MÔ PHỎNG VÀ KẾT LUẬN 75 V.1 Mơ với thí nghiệm .75 V.1.1 Thí nghiệm Hai vết nứt ngang 75 V.2.2 Thí nghiệm Một loại vết nứt khối .77 V.3.3 Thí nghiệm Một vết nứt ngang dọc 79 V.4.4 Thí nghiệm Một vết nứt dọc 81 V.5.5 Thí nghiệm Một loại vết nứt khối 83 V.2 Kết luận hƣớng nghiên cứu .84 NGUYỄN TÙNG LINH – CB120704 – 2012B Luận văn Thạc Sĩ DANH MỤC HÌNH Hình 1-1 Các bƣớc phân tích ảnh .9 Hình 1-2 Quá trình phân loại thành phần ảnh 11 Hình 1-3 Cách bố trí camera việc chụp cặp ảnh stereo .14 Hình 1-4 Stereo đƣợc chụp từ máy bay .14 Hình 2-1 Phân rã ảnh dựa biến đổi wavelet 19 Hình 2-2 Sự phát triển xử lý hình thái đƣợc đặc trƣng kết hợp lý thuyết ,ứng dụng,phƣơng pháp thuật toán 20 Hình 2-3 Một số hình dáng phần tử cấu trúc phẳng 21 Hình 2-4.Một mặt nạ xác định hàng xóm phần tử cấu trúc khơng phẳng 22 Hình 2-5 Ma trận giá trị thực tƣơng ứng với hàng xóm phần tử cấu trúc không phẳng 22 Hình 2-6 Ví dụ tốn tử giãn nhị phân ảnh với phần tử cấu trúc phẳng 22 Hình 2-7 Ví dụ tốn tử giãn ảnh ảnh xám với phần tử cấu trúc không phẳng 23 Hình 2-8 Ví dụ toán tử co ảnh nhị phân với phần tử cấu trúc .23 Hình 2-9.Ví dụ tốn tử co ảnh ảnh xám với phần tử cấu trúc khơng phẳng 24 Hình 2-10 Kết số phép biến đổi ảnh nhị phân ảnh xám 25 Hình 3-1 Xấp xỉ đƣờng thẳng beamlet .27 Hình 3-2.Beamlet tỷ lệ khác (ô vuông với chiều dài cạnh khác nhau) 29 Hình 3-3.Minh họa cho nội suy khoảng không đổi ảnh số,và biến đổi beamlet liên quan 31 Hình 3-4 Phân chia beamlet thành ba beamlet tỷ lệ tốt 32 Hình 3-5 Một minh họa liên kết khác đỉnh khác đồ thị beamlet 33 Hình 3-6.Một đoạn thẳng đƣợc xấp xỉ đƣờng đồ thị beamlet đồ thị lân cận gần 35 Hình 3-7 Thử nghiệm 11 tỷ số tạp âm tín hiệu khác (SNR) .39 Hình 3-8.Đối với ảnh Picasso,chúng ta vẽ beamlet vài tỷ lệ mà hệ số vƣợt ngƣỡng cho trƣớc 40 Hình 3-9 Tính tốn độ dày liệu vuông 42 NGUYỄN TÙNG LINH – CB120704 – 2012B Luận văn Thạc Sĩ Hình 3-10 Đồ thị tỷ lệ-độ dày tập hợp khác tỷ lệ khác 43 Hình 3-11 Một cặp phân vùng hoàn toàn đệ quy (RPD) 44 Hình 3-12 Một RDP chƣa hoàn chỉnh 45 Hình 3-13 Một kết hợp với RDP chƣa hoàn chỉnh .45 Hình 3-14.Kết beamlet-cặp phân vùng đệ quy trang trí 47 Hình 3-15.Các xấp xỉ tuyến tính mảnh tối ƣu Lenna bắt nguồn từ nêm 50 Hình 3-16 Trích xuất nhiều đốm 51 Hình 3-17.Minh họa ý tƣởng mầm beamlet việc phát đoạn thẳng 53 Hình 3-18 Chuỗi cộng tuyến mọc lên từ beamlet 55 Hình 3-19 Mơ ảnh hình trịn .56 Hình 4.1 Mẫu ảnh vỉa hè mà khơng có vết nứt 58 Hình 4.2 Mẫu ảnh vỉa hè với vết nứt dọc 60 Hình 4.3 Các bƣớc trình xử lý ảnh vỉa hè 60 Hình 4-4.Ảnh vỉa hè với vết nứt ngang đƣợc chia thành cửa sổ nhỏ 63 Hình 4-5 Ảnh vỉa hè đƣợc cải tiến từ hình 4-1 65 Hình 4-6 So sánh cải thiện ảnh vỉa hè từ kích thƣớc cửa sổ khác 68 Hình 4-7 Histogram hình 4-6 69 Hình 4-8 Ảnh vết nứt nhị phân hình 4-6 70 Hình 4-9 Kết biến đổi beamlet ảnh vỉa hè 71 Hình 4-10 Kết kiểm tra tính liên kết 73 Hình 5-1.Ảnh vỉa hè với hai vết nứt ngang 76 Hình 5-2 Ảnh vỉa hè với loại vết nứt khối 78 Hình 5-3 Ảnh vỉa hè với loại vết nứt ngang dọc 80 Hình 5-4 Ảnh vỉa hè với vết nứt dọc 82 Hình 5-5 Ảnh vỉa hè với vết nứt loại khối 84 NGUYỄN TÙNG LINH – CB120704 – 2012B Luận văn Thạc Sĩ DANH MỤC BẢNG Bảng 4-1 Bảng cần để thực kiểm tra tính kết nối vết nứt .72 Bảng 4-2 Các đặc trƣng loại khác vết nứt 74 Bảng 5-1.Phân loại hai vết nứt ngang hình 5-1 .76 Bảng 5-2 Phân loại loại vết nứt khối hình 5-2 78 Bảng 5-3 Phân loại vết nứt ngang dọc hình 5-3 80 Bảng 5-4 Phân loại vết nứt dọc hình 5-4 82 Bảng 5-5 Phân loại vết nứt khối hình 5-5 .84 NGUYỄN TÙNG LINH – CB120704 – 2012B Luận văn Thạc Sĩ LỜI MỞ ĐẦU Dù cho công nghệ nhận dạng phân loại ảnh đạt đƣợc nhiều thành tựu đáng ý, lĩnh vực phải đối mặt với nhiều vấn đề lớn kỹ thuật cần giải Các vấn đề thƣờng bao gồm: „méo‟ vật thể môi trƣờng có nhiễu, góc quay từ cảm biến hình ảnh tới vật thể Đôi thay đổi vật thể cần nhận dạng khơng đƣợc biểu diễn cách xác giải thuật đƣợc ứng dụng với tập liệu hạn chế Ngồi ra, cịn nhiều vấn đề nảy sinh thực tế làm cho vật cần nhận dạng bị „méo‟ trình xử lý hình ảnh Trong điều kiện thực tế khó khăn này, hệ thống nhận dạng đáng tin cậy cần phải thực thi đƣợc chức nhận dạng phân loại theo thời gian thực với tỉ lệ chuẩn xác cao Do đó, việc tiến phát triển hệ thống xử lý ảnh nhƣ giải thuật điều cần thiết nhận dạng phân loại vật thể cần xác tốc độ cao Đã có nhiều kỹ thuật đƣợc phát triển ứng dụng lĩnh vực nhận dạng phân loại vật thể: nhận dạng đƣờng biên, nhận dạng qua mầu sắc vật thể, thuật toán lọc nhiễu,… nhiên phần lớn kỹ thuật gặp khó khăn vật thể bị thay đổi hình dạng dƣới góc quay khác cảm biến hình ảnh Luận văn trình bày lý thuyết beamlet ứng dụng kỹ thuật nhận dạng vật thể trích xuất đặc trƣng tuyến tính Đồng thời,luận văn tập trung trình bày ứng dụng beamlet nhận dạng vết nứt vỉa hè,áp dụng hữu ích việc bảo dƣỡng,bảo trì đƣờng Thống kê cho thấy hàng năm cho thấy chi phí cho việc bảo dƣỡng phục hồi chức vỉa hè lớn.Các phƣơng pháp phân tích hình ảnh mắt tức nhân viên phải tới tận nơi đo đạc đối tƣợng,đó tốn kém,mất thời gian Và đối tƣợng thay đổi nên cung cấp thông tin định lƣợng có ý nghĩa,dẫn đến mâu thuẫn việc đánh giá Trong q trình thực luận văn khơng tránh khỏi nhiều thiếu sót, em mong nhận đƣợc nhiều ý kiến đóng góp thầy giáo, bạn để luận văn đƣợc hồn thiện mang tính thực tế cao Đồng thời, em xin đƣợc gửi lời trân trọng cảm ơn PGS.TS Nguyễn Hữu Trung ,PGS.TS Nguyễn Thúy Anh tập thể thầy cô giáo Viện Điện tử - Viễn thông, trƣờng Đại học Bách Khoa Hà Nội tận tình giúp đỡ, hƣớng dẫn tạo điều kiện cho em hoàn thành tốt luận văn Em xin chân thành cảm ơn! Học viên thực NGUYỄN TÙNG LINH – CB120704 – 2012B Nguyễn Tùng Linh Luận văn Thạc Sĩ TÓM TẮT NỘI DUNG LUẬN VĂN Trong khuôn khổ luận văn tốt nghiệp, với việc tìm hiểu lý thuyết biến đổi beamlet ứng dụng nó,em nghiên cứu thuật tốn lọc nhiễu ảnh,nhận dạng đối tƣợng, trích xuất đối tƣợng tuyến tính ảnh nhiễu để cung cấp cho ứng dụng xử lý ảnh vỉa hè với vết nứt Nội dung luận văn gồm có: Chƣơng Nhắc lại kiến thức xử lý ảnh số Chƣơng nhắc lại khái niệm xử lý ảnh, định nghĩa xử lý ảnh số, giới thiệu sơ lƣợc ảnh 3D : Cách tạo ảnh 3D, cách tách ảnh 3D thành 2D Chƣơng Nhận dạng vật thể xử lý ảnh Chƣơng trình bày số phƣơng phát đặc trƣng tuyến tính đƣợc sử dụng phổ biến xử lý ảnh Đó phát đặc trƣng tuyến tính dựa phân tích wavelet,đựa hình thái tốn học;các kỹ thuật lọc tuyến tính nhận dạng tỷ lệ Chƣơng Lý thuyết beamlet Chƣơng trình bày lý thuyết beamlet, ứng dụng biến đổi beamlet phƣơng pháp dựa biến đổi beamlet đƣợc đƣa cho việc trích dẫn đặc trƣng tuyến tính đƣợc theo thuật toán xử lý để liên kết đoạn thẳng không liên tục Chƣơng Ứng dụng beamlet xử lý ảnh vỉa hè Chƣơng tập trung trình bày ứng dụng beamlet việc nhận dạng trích xuất đặc trƣng ảnh vỉa hè có nhiều nhiễu Các kết thực nghiệm đƣợc trình bày để minh họa hiệu phƣơng pháp đề xuất Chƣơng Mô phỏng,kết luận hƣớng nghiên cứu đề tài Chƣơng đƣa kết mô thuật tốn nhận dạng trích chọn đặc trƣng tuyến tính đƣa Cuối đánh giấ kết quả,kết luận thảo luận hƣớng nghiên cứu đề tài NGUYỄN TÙNG LINH – CB120704 – 2012B Luận văn Thạc Sĩ figure,imshow(Ip2,[]); title('uniform background image'); %% % In - input matrix; b - target backgroud value; r - +-range with mean % Io - output matrix function Io = afactor(In, b, maxv, r); [sx sy] = size(In); me = mean2(In); %input mean mi = min(min(In)); ma = max(max(In)); lb = me - (me - mi) * r ub = me + (ma - me) * r cnt = 0; s = 0; for i = 1:sx for j = 1:sy if(In(i,j)>=lb && In(i,j)=1 && In(i,j)>b) if(In(i,j)>hb) Io(i,j) = me; else NGUYỄN TÙNG LINH – CB120704 – 2012B 87 Luận văn Thạc Sĩ Io(i,j) = In(i,j); end else Io(i,j) = In(i,j) * fa; end end end 52 bsx = zeros(nx+ny,cnt); bsy = zeros(nx+ny,cnt); for i = 1:cnt % For each beams x1 = Bm(1,i); y1 = Bm(2,i); x2 = Bm(3,i); y2 = Bm(4,i); L(i) = sqrt((Bm(1,i)-Bm(3,i))^2 + (Bm(2,i)-Bm(4,i))^2); % Solve the linear equation y=a*x+b if(x1==x2) % horizontal ym = min(y1, y2); for j=1:ny-1 bsx(j,i) = x1; bsy(j,i) = ym + j -1; len = 1; end elseif(y1==y2) % vertical xm = min(x1, x2); for j=1:nx-1 bsx(j,i) = xm + j -1; bsy(j,i) = y1; len = 1; end NGUYỄN TÙNG LINH – CB120704 – 2012B 88 Luận văn Thạc Sĩ else % Others a = (y1-y2)/(x1-x2); b = y1 - a * x1; xm = min(x1, x2); xma = max(x1, x2); nnx = xma - xm + 1; ym = min(y1, y2); yma = max(y1, y2); nny = yma - ym + 1; for j = 1:nnx xc = xm + j - 1; yc = a * xc + b; bxt(j) = xc; byt(j) = yc; end for j = nnx+1:nnx+nny yc = ym + j - nnx - 1; xc = (yc - b) / a; bxt(j) = xc; byt(j) = yc; end % Sort them, and put into new array bxt2, byt2 bxt2 = zeros(1,nx+ny); byt2 = zeros(1,nx+ny); for j = 1:nx+ny bxm = max(bxt); if(bxm == 0) % empty break; end for k = 1:(nx+ny) % Take this point out % if(bxt(k) == bxm) NGUYỄN TÙNG LINH – CB120704 – 2012B 89 Luận văn Thạc Sĩ if(abs(bxt(k)-bxm)bd && (b0.2) T(i) = T(i) + len(j,i)/sqrt(L(i)); end % T(i) = T(i) + I(x,y)*len(j,i)/sqrt(L(i)); end if(T(i)>Tm) Tm = T(i); im = i; tmp = L(i); end end if(Tm > th) i = im; for j=1:bx x = bsx(j,i); y = bsy(j,i); NGUYỄN TÙNG LINH – CB120704 – 2012B 91 Luận văn Thạc Sĩ if(x==0 || y == 0) break; end M(x,y) = 1; end else tmp = 0; end %% search neighborhood for crack blocks %input: ct - crack table, record the length; ic, jc – coordinators; %input: bc-branch counter; lac–table, record lable for crack id; %input:, lab–table, record lable for branch id; %input: tmpm-record the start point of each branch; %input: lfr – crack length from root; %input: minLen – crack length threshold; %input: bcb – branch counter backup % output: ic, jc – coordinators, bc – branch counter; % output: tmpm – record the start point of each branch; % output: lCrack – the length of the found crack % output: lac - table, record lable for crack id; % output: Sta–status matrix, lBroot–flag, find a root function [ic, jc, bc, tmpm, lCrack, lac, Sta, lBroot] = sneighb(ct, ic, jc, Sta, m, n, Lenth, bc, tmpm, lac, lab, lfr, minLen, bcb); [sx sy] = size(Sta); iclist = [ic-1, ic, ic+1]; jclist = [jc-1, jc, jc+1]; lCrack = 0; cnt = 1; NGUYỄN TÙNG LINH – CB120704 – 2012B 92 Luận văn Thạc Sĩ ict = ic; jct = jc; tmpm = tmpm; lBroot = 0; bcb = bcb; for im = ic-1:ic+1 for jm = jc-1:jc+1 if(im >0 && im < sx+1 && jm >0 && jm < sy+1 && Sta(im,jm)==0 && lac(im,jm) == 0) Sta(im,jm)=1; if(Lenth(im,jm)>0) % add it to the ct list lCrack = 1; if(cnt == 1) % the first one, take as the current branch ict = im; jct = jm; % temp saved % we will move to this point ct(m,n) = ct(m,n) + Lenth(im,jm); 56 lac(im,jm) = m; else % add a branch candidate if(lfr=tb) %cracks J(x,y) = 0.0; else J(x,y) = 1.0; end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%% %% Main Function %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%% % read input images and transfer to gray image a = imread('D:\2014.jpg'); I = rgb2gray(a); NGUYỄN TÙNG LINH – CB120704 – 2012B 94 Luận văn Thạc Sĩ [sx sy] = size(I); b = imresize(a, 256/sx); I = rgb2gray(b); figure,imshow(I,[]); title('Original Image'); sx = 256; sy = 256; Ip = imenhance(I); % update mi, me, ma mi = min(min(Ip)); me = mean2(Ip); ma = max(max(Ip)); thb = 1.0; % threshold for beamlet transform thc = 0.4; % threshold for crack image % hard thresholding J0 = thr2(Ip, thc); figure,imshow(J0,[]); title('Crack Image'); %level le = 4; sxc = sx / (2^le); syc = sy / (2^le); for j=1:2^le for m=1:sxc for n=1:syc Jt(m,n) = J0((i-1)*sxc+m, (j-1)*syc+n); end end % if(le==1) [T, M, tmp] = bt2(Jt, bsx1, bsy1, len1, L1,th); NGUYỄN TÙNG LINH – CB120704 – 2012B 95 Luận văn Thạc Sĩ elseif(le==2) [T, M, tmp] = bt2(Jt, bsx2, bsy2, len2, L2,th); elseif(le==3) [T, M, tmp] = bt2(Jt, bsx3, bsy3, len3, L3,th); elseif(le==4) [T, M, tmp] = bt2(Jt, bsx4, bsy4, len4, L4,thb); elseif(le==5) [T, M, tmp] = bt2(Jt, bsx5, bsy5, len5, L5,th); elseif(le==6) [T, M, tmp] = bt2(Jt, bsx6, bsy6, len6, L6,th); elseif(le==7) [T, M, tmp] = bt2(Jt, bsx7, bsy7, len7, L7,th); end lev(i,j,le) = max(max(T)); % save the max value in lev max(max(T)) for m=1:sxc for n=1:syc if(le==1) M1((i-1)*sxc+m, (j-1)*syc+n) = M(m,n); elseif(le==2) M2((i-1)*sxc+m, (j-1)*syc+n) = M(m,n); elseif(le==3) NGUYỄN TÙNG LINH – CB120704 – 2012B 96 Luận văn Thạc Sĩ M3((i-1)*sxc+m, (j-1)*syc+n) = M(m,n); elseif(le==4) M4((i-1)*sxc+m, (j-1)*syc+n) = M(m,n); % if(m==1 || m==sxc || n==1 || n==syc) % M4((i-1)*sxc+m, (j-1)*syc+n) = 0.5; % end elseif(le==5) M5((i-1)*sxc+m, (j-1)*syc+n) = M(m,n); elseif(le==6) M6((i-1)*sxc+m, (j-1)*syc+n) = M(m,n); elseif(le==7) M7((i-1)*sxc+m, (j-1)*syc+n) = M(m,n); end end end Lenth(i,j) = tmp; end end figure,imshow(M4,[]); title('binary image 4'); end %% Connection Check % scan block by block Sta = zeros(2^le, 2^le); % status matrix: 0-unchecked/initialize value; NGUYỄN TÙNG LINH – CB120704 – 2012B 97 Luận văn Thạc Sĩ lac = zeros(2^le, 2^le); % lable for crack id lab = zeros(2^le, 2^le); % lable for branch id m = 0; % count for crack number, start from ct = zeros(16,100); minLen = 30.0; for i = 1:2^le for j = 1:2^le % scan for a block with crack if (Sta(i,j)==0 && Lenth(i,j)>0) % new crack block found m = m + 1; n = 1; % count for branch number, start from 1, reset to after finish check every crack bc = 1; bcb = bc; % initialize branch counter Sta(i,j) = 1; lac(i,j) = m; lab(i,j) = n; tmpm(1, 1) = i; tmpm(1,2) = j; tmpm(1, 3) = 1; % tmpm record the start point of each branch; sp of crack is sp of the 1st branch of the crack lfr = 0; %Initialize % search the neighbor of it ic = i; jc = j; while bc>0 % search every branch ct(m,n) = ct(m,n) + Lenth(ic,jc); % crack table, record the length for cnt = 1:255 [ic, jc, bc, tmpm, lCrack, lac, Sta, lBroot] = sneighb(ct, ic, jc, Sta, m, n, Lenth, bc, tmpm, lac, lab, lfr, minLen, bcb); lab(ic, jc) = n; NGUYỄN TÙNG LINH – CB120704 – 2012B 98 Luận văn Thạc Sĩ if(lCrack==0) break; end % no further crack (extension of this branch is over), break if(lBroot == 1) lfr = 0; end % Reset ct(m,n) = ct(m,n) + Lenth(ic,jc); lfr = lfr + Lenth(ic,jc); % length from root if (lfr>minLen) bcb = bc; end end if(m==1 && n ==5) tt = ct(m,n) [ic,jc] end if(lfrminLen) % less than threshold, this is not a branch, continue another way bc = bc - 1; if(bc == 0) break; end ic = tmpm(bc, 1); jc = tmpm(bc,2); % Get the last record branch, search from there lfr = 0; % reset if (bc

Ngày đăng: 27/02/2022, 22:53

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w