1. Trang chủ
  2. » Công Nghệ Thông Tin

luận văn tìm hiểu phương pháp phân tích trang tài liệu bằng fractal signature

93 344 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 93
Dung lượng 9,22 MB

Nội dung

Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy Mục lục Mục lục i Danh mục hình ảnh .iii MỞ ĐẦU I Đặt vấn đề II Nội dung nghiên cứu III Bố cục luận văn Chương I TỔNG QUAN VỀ NHẬN DẠNG CHỮ VIẾT .5 VÀ PHÂN TÍCH TRANG TÀI LIỆU .5 I.1 Ảnh tài liệu nhận dạng ảnh tài liệu .5 I.1.1 Tổng quan ảnh tài liệu I.1.2 Nhận dạng tài liệu vai trò phân tích ảnh tài liệu I.2 Cấu trúc ảnh tài liệu I.2.1 Cấu trúc vật lý I.2.2 Cấu trúc logic 10 I.3 Quá trình phân tích tài liệu .10 I.3.1 Tiền xử lý(preprocessing): 11 I.3.2 Phân tích cấu trúc vật lý 12 I.3.3 Phân tích cấu trúc logic 13 I.4 Một số hệ thống phân tích tài liệu 14 I.4.1 VnDOCR 14 I.4.2 OminiPage .18 I.4.3 Finereader 20 I.5 Kết luận 22 Chương II: CÁC PHƯƠNG PHÁP TIẾP CẬN .23 ĐỂ PHÂN TÍCH TRANG TÀI LIỆU 23 II.1 Các phương pháp phân tích định dạng trang tài liệu 23 II.1.1 Top-down .23 II.1.2 Bottom-up 29 i GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy II.1.3 Phương pháp Tách Nối thích nghi (Adaptive Split – and – Merge) 31 II.1.4 Fractal Signature (FS) 33 II.2 Lựa chọn giải pháp .37 II.3 Thiết kế hệ thống 38 II.3.1 Sơ đồ khối 38 II.3.2 Ảnh đầu vào 38 II.3.3 Module Tiền xử lý 39 II.3.4 Phân tích sử dụng giả pháp Fractal Signature .40 II.4 Kết luận 45 Chương III: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 46 III.1 Yêu cầu hệ thống 46 III.2 Thiết kế chương trình 46 III.2.1 Cấu trúc liệu 46 III.2.2 Module chuẩn hóa ảnh 48 III.2.3 Module giao diện 50 III.2.4 Module phân tích Top-down (TD) .51 III.2.5 Module phân tích Fractal Signature .54 III.2.6 Module lọc làm trơn nhiễu 56 III.2.7 Module mô thuật toán FS 57 III.2.8 Các hàm chức image processing tool matlab sử dụng chương trình 59 III.3 Kết luận đánh giá kết .61 Kết luận .73 TÀI LIỆU THAM KHẢO 74 Phục Lục 75 A Mã nguồn đầy đủ chương trình 75 A.1 Danh mục chương trình chương trình .75 A.2 Sơ khối liên kết thủ tục chương trình .76 A.3 Mã nguồn module 76 ii GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy Danh mục hình ảnh Hình 1: Sơ đồ OCR Hình 2: Ví dụ loại tài liệu có bố cục phức tap 10 Hình 3: Sơ đồ nguyên lý hệ thống xử lý tài liệu[6] 11 Hình 4: a - Ảnh gốc b - Ảnh sau tách 12 Hình 5: Ví dụ ảnh tài liệu bị nghiêng góc độ 13 Hình 6: VnDOCR ví dụ nhận dạng 15 Hình 7: Ảnh mẫu có cấu trúc vật lý phức tạp 16 Hình 8: Kết hai vùng ảnh với ảnh mẫu 11 16 Hình 9: Mẫu ảnh có cấu trúc vật lý phức tạp, khối bao hình chữ nhật .17 Hình 10: Kết phân tích với ảnh 13 18 Hình 11: Đầu phân vùng có vùng văn 19 Hình 12: Đầu có vùng chứa ảnh text 19 Hình 13: Với ảnh 13 đạt hiệu 90% 20 Hình 14 Với ảnh I-15 hiệu đạt 100% 21 Hình 15: Với mẫu phức tạp Finereader cho kết 95% 21 Hình 16: Kết chiếu nghiêng theo phương ngang phương thẳng đứng trang tài liệu 24 Hình 17: Phân tách cột dựa vào phép chiếu nghiêng theo phương ngang 25 Hình 18: Phép chiếu nghiêng theo phương ngang để phân đoạn ký tự từ 25 Hình 19: Lược đồ chiếu ngang dòng chữ nghiêng - khó phân đoạn ký tự .26 Hình 20: Mô tả thuật toán Tách Nối thích nghi 32 Hình 21: Sơ đồ khối hệ thống phân tích tài liệu phạm vi đề tài .38 Hình 22: Ví dụ bolck chuyển sang dạng bề mặt không gian 3D 40 Hình 23: Ví dụ chuyển ảnh chữ "c" sang dạng bề mặt không gian 3D 40 Hình 24: (a) Ảnh tài liệu gốc, (b) kết sau áp dụng FS 44 Hình 25: Giao diện 50 iii GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy Hình 26: Kết phân tích top-down tài liệu có cấu trúc đơn giản 62 Hình 27: Kết phân tích top-down tài liệu có cấu trúc bảng 63 Hình 28: : Kết phân tích top-down tài liệu văn 64 Hình 29: : Kết phân tích top-down tài liệu có cấu trúc phức tạp (trang tạp trí) 65 Hình 30 : Kết phân tích top-down tờ quảng cáo 66 Hình 31: Kết phân tích top-down tài liệu có cấu trúc phức tạp 67 Hình 32: Kết phân tích top-down tài liệu bị nghiêng 68 Hình 33: Kết phân tích FS tài liệu bị nghiêng .69 Hình 34: Kết phân tích FS tài có cấu trúc phức tạp 70 Hình 35: Kết phân tích FS trang quảng cáo 71 Hình 36: Kết phân tích FS tài liệu đơn giản 72 iv GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy MỞ ĐẦU I Đặt vấn đề Ngày việc sử dụng máy tính để lưu trữ tài liệu không vấn đề mẻ cần phải chứng minh tính an toàn, thuận tiện Tuy nhiên việc sử dụng giấy để lưu trữ tài liệu số mục đích thay (như báo, sách, công văn,…) Hơn lượng tài liệu tạo từ nhiều năm trước nhiều mà bỏ tính quan trọng chúng Chúng ta mong muốn điện tử hóa hàng tỉ trang tài liệu cất chúng ổ cứng kích thước sách nhỏ, tìm kiếm thông tin mà cần tốn vài giây với gõ phím Enter Giải pháp gì? Thông thường người ta phải thuê người với việc tốn hàng tháng, hàng năm nhập vào máy tính hết lượng tài liệu Hiện có máy Scan với tốc độ cao, công nghệ xử lý máy tính ngày siêu việt với tốc độ tính toán vượt tốc độ ánh sáng, không quét toàn trang tài liệu vào chuyển chúng thành văn cách tự động? Bằng cách tốc độ tính xác tăng hàng trăm lần chi phí lại cực tiểu Vấn đề quét vào máy tính không thu dòng văn từ trang tài liệu kia, để soạn thảo, sửa chữa tìm kiếm làm Office Tất thu ảnh trang văn bản, máy tính lại đối xử công với điểm ảnh, máy tính “mắt” để điểm ảnh chữ, đâu điểm ảnh đối tượng đồ họa Một giải pháp nghĩ đến là xây dựng hệ thống nhận dạng chữ, ảnh chứa chữ đối tượng đồ họa cần tách chuyển thành dạng trang văn bản, từ mở soạn thảo trình soạn thảo văn Một cách tổng quát cách thức làm việc hệ thống nhận dạng chữ sau[5]: Chụp ảnh trang tài liệu giấy lưu lại máy tính dạng hình ảnh Sử dụng chương trình xử lý ảnh để phân tích hình ảnh sau quét, đọc ký tự hình ảnh ghi lại vào máy tính theo cách mà máy tính quản lý thông tin liệu GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy a Bước phân tích cấu trúc ảnh tài liệu, từ xác định đâu phần chứa chữ, đâu phần chứa ảnh lẫn ký tự đâu chứa hình ảnh Bước thực quan trọng cho bước nhận dạng Bởi định vị xác cho việc áp dụng thuật toán nhận dạng lên vùng xác định tính chất, bước xác trước tiên hạn chế thời gian cho việc nhận dạng, sau tăng ngữ nghĩa bổ sung cho việc nhận dạng b Bước nhận dạng ký tự dựa vào tính chất ký tự, ví dụ xếp theo dòng, khoảng cách từ lớn khoảng cách ký tự, dùng trí tuệ nhân tạo để dự đoán ký tự kề phải nào, từ câu phải để câu có nghĩa Từ có nội dung để lưu trữ, quản lý… Trong thực tế trình nhận dạng trải qua hai bước trên, có nhiều tham số ảnh hưởng đến kết chương trình nhận dạng, nhiễu, Font chữ, kích thước chữ, kiểu chữ nghiêng, đậm, gạch Ngoài dòng chữ trộn lẫn với đối tượng đồ họa, trước nhận dạng chữ, số thao tác tiền xử lý tác động lên ảnh như, lọc nhiễu, chỉnh góc nghiêng đặc biệt quan trọng phân tích trang tài liệu để xác định cấu trúc trang văn đồng thời tách biệt hai thành phần chữ đối tượng đồ họa (phi chữ) II Nội dung nghiên cứu Mục tiêu nghiên cứu đềtài • Tìm hiểu cấu trúc trang tài liệu (cấu trúc vật lý, logic)? • Tìm hiểu số kỹ thuật phân tích trang tài liệu (phân vùng, phân đoạn, …) • Cài đặt thử nghiệm giải pháp phân tích có hiệu cao so với phương pháp truyền thống top-down hay bottom-up ảnh vào ảnh đa cấp xám có cấu trúc phức tạp • Từ kết nghiên cứu có chuẩn bị kiến thức đẩy đủ cho bước nghiên cứu nhận dạng ký tự quang Ý nghĩa khoa học đềtài • Giải vấn đề học thuật: đề tài mang ý nghĩa cung cấp mặt lý thuyết để làm rõ phương pháp phân tích trang tài liệu GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy • Đáp ứng yêu cầu thực tiễn: từ lý thuyết nghiên cứu, từ liên hệ gắn vào thực tiễn để áp dụng vào lĩnh vực như: Lưu trữ thư viện, điện tử hóa văn phòng, nhận dạng xử lý ảnh, … Nhiệm vụ nghiên cứu Mục đích luận văn đề cập đến hai phần: • Phần lý thuyết: Nắm rõ trình bày sở lý thuyết liên quan đến cấu trúc trang tài liệu, số kỹ thuật phân tích trang tài liệu, từ có để xác định tính quan trọng bước nhận dạng ký tự, đồng thời hiểu công việc cần làm bước nhận dạng ký tự • Phần phát triển ứng dụng: Áp dụng thuật toán trình bày phần lý thuyết từ lựa chọn giải pháp tối ưu cài đặt thử nghiệm chương trình phân tích trang tài liệu Phương pháp nghiên cứu • Tìm kiếm, tham khảo, tổng hợp tài liệu từ nguồn khác để xây dựng phần lý thuyết cho luận văn • Sử dụng kỹ thuật áp dụng phân tích trang tài liệu để làm rõ chất vấn đề đưa phần lý thuyết • Xây dựng chương trình Demo Phạm vi nghiên cứu Bài toán nhận dạng xử lý ảnh tài liệu phát triển với nhiều thành tựu thực tế, có nhiều thuật toán tối ưu nhà khoa học đề nghị Tuy nhiên nói chưa có chương trình “đọc” ảnh văn người, thực tế có nhiều kiểu trang văn khác nhau, khác cấu trúc trình bày, ngôn ngữ, kiểu font, chữ viết tay,… Đây thực toán lớn, phạm vi luận văn tìm hiểu số kỹ thuật phân tích trang văn tiêu biểu với mục đích để so sánh thuật toán chưa đưa đề tài trước Cuối cùng, dựa vào đểxây dựng Demo cho ứng dụng Các kết nghiên cứu dự kiến cần đạt được: • Tìm hiểu tài liệu liên quan đến lĩnh vực quan tâm để nắm bắt chất vấn đề đặt • Báo cáo lý thuyết • Chương trình Demo GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy III Bố cục luận văn Nội dung luận văn trình bày ba chương với nội dung sau Chương 1: Trình bày khái niệm mô hình tổng quát hệ thống nhận dạng chữ viết, với số phần mềm nhận dạng tiêu biểu Chương 2: Trình bày số phương pháp phân tích trang tài liệu, từ đánh giá ưu nhược điểm để lựa chọn phương pháp Fractal Signature cho chương trình thử nghiệm Trình bày thiết kế cho chương trình demo Chương 3: Trình bày chi tiết việc cài đặt chương trình thủ tục sử dụng chương trình với phương pháp phân tích Fractal Signature ảnh đầu vào ảnh đa cấp xám có độ phức tạp cao GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy Chương I TỔNG QUAN VỀ NHẬN DẠNG CHỮ VIẾT VÀ PHÂN TÍCH TRANG TÀI LIỆU Chương đưa khái niệm đối tượng làm việc đề tài ảnh tài liệu, khái niệm cấu trúc vật lý cấu trúc logic Giới thiệu khâu hệ thống nhận dạng chữ viết hoàn chỉnh Đồng thời đưa số phần mềm nhận dạng Việt Nam Thế giới với mẫu kết phân tích nhàm mục đích so sánh xác định phạm vi cho đề tài I.1 Ảnh tài liệu nhận dạng ảnh tài liệu I.1.1 Tổng quan ảnh tài liệu Trang ảnh tài liệu đề cập file ảnh số hoá thu cách quét trang tài liệu dùng máy scanner, máy ảnh số, hay nhận từ máy fax (Hình 1), file ảnh lưu giữ máy tính Ảnh tài liệu có nhiều loại: ảnh đen trắng, ảnh màu, ảnh đa cấp xám với phần mở rộng TIF, BMP, PCX, … (Hình 2) ảnh tài liệu đưa luận văn ảnh đa cấp xám Ảnh số Tài liệu Thiết bị thu nhận ảnh Anh số tài liệu Hình 1: Sơ đồ tổng quan trình tạo ảnh tài liệu GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy Hình 2: Ví dụ ảnh tài liệu I.1.2 Nhận dạng tài liệu vai trò phân tích ảnh tài liệu Ngày nay, máy tính phát triển mạnh mẽ, tốc độ xử lý không ngừng nâng lên Cùng với đời phần mềm thông minh khiến máy tính ngày gần gũi với người Một khả tuyệt vời người mà nhà khoa học máy tính muốn đạt khả nhận dạng lĩnh vực nhận dạng thu nhiều thành công nhận dạng ký tự quang OCR–Optical Character Recognition OCR hiểu trình chuyển đổi tài liệu dạng file ảnh số hoá (là dạng có người đọc được) thành tài liệu dạng file văn (là tài liệu mà người máy đọc được) OCR có nhiều ứng dụng hữu ích sống như: - Sắp xếp thư tín, dựa vào việc nhận dạng mã bưu (Zipcode) hay địa gửi tới - Tự động thu thập liệu từ mẫu đơn/báo biểu hay từ hồ sơ lao động - Hệ thống tự động kiểm tra ngân hàng (tự động xác nhận chữ ký) - Tự động xử lý hóa đơn hay yêu cầu toán - Hệ thống tự động đọc kiểm tra passport - Tự động phục hồi copy tài liệu từ ảnh quét - Máy đọc cho người khiếm thính - Các ứng dụng Datamining - … Sơ đồ hệ thống OCR Hình Trong đó: - Scanner: Thiết bị quét ảnh GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy Phục Lục A Mã nguồn đầy đủ chương trình A.1 Danh mục chương trình chương trình TT Tên chương trình main Topdown Phantich Phantichtrong FSign FSignKV Lienthong Vebien Demo Nhiệm vụ Chương trình chứa giao diện chương trình Module thuật toán topdown Module gọi từ module topdown, thực phân chia trang tài liệu thành block theo lược đồ xám chiếu nghiêng, khoanh vùng tài liệu Module gọi từ module phantich, block chứa cảc đồ họa text module phần tích tiếp Module chương trình cho thuật toán Fractal thực phát text đồ họa (chưa khoanh vùng) Module chương trình cho thuật toán Fractal thực phát khoanh vùng text đồ họa Module tìm vùng liên thông để khoanh vùng Module khoanh vùng vùng liên thông Module chay theo thuật toán Fractal có vẽ demo block tính FS 75 Tên file lưu trữ Main.m Topdown.m Phantich.m Phantichtrong.m FSign.m FSignKV.m Lienthong.m Vebien.m demoFS.m GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy A.2 Sơ khối liên kết thủ tục chương trình Main Phantich (chương trình chính) Topdown Phantichtrong FSign FSignKV DemoFS A.3 Mã nguồn module 1) Main: y=imread(filename); anhgoc=y; %%%%%%%%%%%%% Cac bien phu chuong trinh % bien de tranh pha tich trung lap global letraicu; global lephaicu; global startcu; global limitcu; %%%%%%%%%%%%%%%%%%% % loc nhieu anh goc y=double(y)/255; % chuyen sang kieu double %%%%%%% mat na loc k=[0 0;1 1;0 0]; k=1/8*k; %%%%%%% dung ham loc y=conv2(y,k); y=uint8(round(y*255)); %%%%%%%%%%%%%%%% kich_thuoc_anh=size(y); chieucao=kich_thuoc_anh(1); chieurong=kich_thuoc_anh(2); %%%%%%%%%Phan nguong va tim hinh chieu doc gray_min=min(min(y)); gray_max=max(max(y)); nguongtach=round(((gray_min+gray_max)/2)); 76 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy z=zeros(1,chieucao);% z la hinh chieu doc for i=1:chieucao for j=1:chieurong if (y(i,j)>nguongtach) % vung nen y(i,j)=255; % xoa trang vung nen else z(i)=z(i)+1; % tinh cho bieu xam end end end %%%%%%%%%%%%%%% chieu_cao_hang=timhang(z); %%%%%%%%%%%%%%%%% tach khoi bang cach vao tung khoi van ban ngang tim hinh %%%%%%%%%%%%%%%%% chieu ngang i=1; start=i; limit=i; luocdo=zeros(1,chieurong); while (ichieucao limit=chieucao; % tranh vuot qua vung bien anh end if (limit-start)>=(0.5*chieu_cao_hang) y=phantich(start,limit,y,nguongtach,chieu_cao_hang,1,size(y,2)); end end while (i=(0.5*chieu_cao_hang) y=phantich(start,limit,y,nguongtach,chieu_cao_hang,1,size(y,2)); end end while (idau cuctieu=round(min(luocdo(dau:cuoi))*1.2); else cuctieu=bienphai-bientrai; end %%%%%%%%%%%% if (cuctieu>0)&((limit-start)>= 2*chieu_cao_hang)% vung anh for hang_anh=start:limit for cot_anh=bientrai:bienphai anh(hang_anh,cot_anh)=255-anh(hang_anh,cot_anh); end end else dorong=0; truoc=luocdo(1); letrai=bientrai; lephai=bientrai; i=bientrai; dautien=0; while(i=bienphai)) % khoang canh cho phep if (lephai>letrai) % tien hanh ve vung van ban % dautien=0; if ((limit-start)< 2*chieu_cao_hang) % khung vung van ban if lephai>bienphai lephai=bienphai; 79 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy end for ve_bien_ngang=letrai:lephai anh(start,ve_bien_ngang)=0; anh(limit,ve_bien_ngang)=0; end for ve_bien_doc=start:limit anh(ve_bien_doc,letrai)=0; anh(ve_bien_doc,lephai)=0; end else if (letraicu==letrai) & (lephaicu==lephai)&(startcu==start)&(limitcu==limit) % tranh bi treo % trung khoi phan tich letraicu lephaicu startcu limitcu else letraicu=letrai; lephaicu=lephai; startcu=start; limitcu=limit; anh=phantichtrong(start,limit,letrai,lephai,anh,nguongtach,chieu_cao_hang); end end end letrai=i;% bat dau mot vung van ban dorong=0; else dorong=0; end while (icuctieu) i=i+1; % di qua vung van ban lephai=i; end end end ketqua=anh; 4) Phantichtrong: function ketqua=phantichtrong(start,limit,letrai,lephai,anh,nguongtach,chieu_cao_hang) y=anh; chieucao=limit; chieurong=lephai; %%%%%%%%%Phan nguong va tim hinh chieu doc %z=zeros(1,size(y,1));% z la hinh chieu doc z=zeros(1,limit-start+1);% z la hinh chieu doc for i=start:chieucao for j=letrai:chieurong if (y(i,j)>nguongtach) % vung nen else z(i-start+1)=z(i-start+1)+1; % tinh cho bieu xam end end end %%%%%%%%%%%%%%%%% tach khoi bang cach vao tung khoi van ban ngang tim hinh %%%%%%%%%%%%%%%%% chieu ngang i=start; start_t=i; 80 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy limit_t=i; while (ichieucao limit_t=chieucao; % tranh vuot qua vung bien anh end y=phantich(start_t,limit_t,y,nguongtach,chieu_cao_hang,letrai,lephai); end while (iround(chieurong/N) chieurong=round(chieurong/N)*N+N; else chieurong=round(chieurong/N)*N; end %anh=zeros(1:chieucao,1:chieurong); %%%%%%%%%%%%%%%%%%%% %loc nhieu anh goc %anh = filter2(fspecial('average',3),anh); anh=double(anh)/255; % chuyen sang kieu double %%%%%%% mat na loc loc=[0 0;1 1;0 0]; loc=1/8*loc; 81 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy %%%%%%% dung ham loc anh=conv2(anh,loc); anh=uint8(round(anh*255)); %%%%%%%%%%%%%% for i=1:chieucao for j=1:chieurong if (i>chieucao_goc)|(j>chieurong_goc) % ngoai vung bien anh goc anh(i,j)=0; % dat la vung nen anh else % vung bien anh goc %anh(i,j)=255-anh(i,j); if (anh(i,j)>nguongtach) % vung nen %anh(i,j)=255; % xoa trang vung nen anh(i,j)=0; else %z(i)=z(i)+1; % tinh cho bieu xam anh(i,j)=255-anh(i,j); end end end end %%%%%%%%%%%%%%% tinh FS cho moi block FS=[]; k=0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% u_layer1=zeros(N+2);b_layer1=zeros(N+2);u_layer2=zeros(N+2);b_layer2=zeros(N+2);bloc k_k=zeros(N+2); %%%%%%%%%%%%%%%%%%%%%% for i=2:round(chieucao/N) for(j=2:round(chieurong/N)) %%%%%%%%%% thao tac voi block thu K u_layer1(:,:)=0; b_layer1(:,:)=0; u_layer2(:,:)=0; b_layer2(:,:)=0; vol1=0; vol2=0; block_k(2:N+1,2:N+1)=anh((i-1)*N+1:i*N,(j-1)*N+1:j*N); % tinh gia tri cho lop tren va duoi voi delta1 cho moi vung thu k for ki=2:N+1 for kj=2:N+1 g1_u=block_k(ki,kj)+1; g1_b=block_k(ki,kj)-1; g2=block_k(ki,kj+1); g3=block_k(ki,kj-1); g4=block_k(ki+1,kj); g5=block_k(ki-1,kj); temp=[g1_u g2 g3 g4 g5 g1_b]; u_layer1(ki,kj)=max(temp(1:5)); b_layer1(ki,kj)=min(temp(2:6)); vol1=vol1 + (u_layer1(ki,kj)-b_layer1(ki,kj)); % tinh xong lop tren va duoi voi delta1 % tinh gia tri cho lop tren va duoi voi delta2 g1_u=u_layer1(ki,kj)+1; g1_b=b_layer1(ki,kj)-1; g2=u_layer1(ki,kj+1); g3=u_layer1(ki,kj-1); g4=u_layer1(ki+1,kj); g5=u_layer1(ki-1,kj); temp=[g1_u g2 g3 g4 g5 g1_b]; u_layer2(ki,kj)=max(temp(1:5)); b_layer2(ki,kj)=min(temp(2:6)); vol2=vol2+(u_layer2(ki,kj)-b_layer2(ki,kj)); 82 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy %%%%%%%%%%%%%%%% tinh xong gia tri cua lop tren duoi voi delta2 end end % tinh FS k=k+1; FS(k)=(vol2-vol1)/2; end end %%%%%%%%%%%%%%%% Tach anh va text k=0; %nguong=((min(FS)+max(FS))/2); %nguong=3000; anh=255-anh; anh=cat(3,anh,anh,anh); nguong=min(FS)+50; for i=2:round(chieucao/N) for(j=2:round(chieurong/N)) k=k+1; if (FS(k)>4000) % anh anh((i-1)*N+1:i*N,(j-1)*N+1:j*N,2:3)=20; elseif (FS(k)>nguong) % text anh((i-1)*N+1:i*N,(j-1)*N+1:j*N,1)=150; anh((i-1)*N+1:i*N,(j-1)*N+1:j*N,3)=150; end end end imshow(anh) 6) FSignKV global anh anh=imread(filename); % doc anh tu mot file JPG N=15; % kich thuoc moi block k=1; % so block tren anh co kich thuoc NxN chieucao=size(anh,1); % chieu cao cuar anh vao chieucao_goc=chieucao; chieurong=size(anh,2); % chieu rong cua anh vao chieurong_goc=chieurong; %%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%Phan nguong va tim hinh chieu doc gray_min=min(min(anh)); gray_max=max(max(anh)); nguongtach=round(((gray_min+gray_max)/2)); % chuan hoa kich thuoc anh the nguyen lan cua NxN %chuan chieu cao anh if (chieucao/N)>round(chieucao/N) chieucao=round(chieucao/N)*N+N; else chieucao=round(chieucao/N)*N; end %chuan chieu rong anh if (chieurong/N)>round(chieurong/N) chieurong=round(chieurong/N)*N+N; else chieurong=round(chieurong/N)*N; end %%%%%%%%%%%%%%%%%%%% 83 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy %loc nhieu anh goc %anh = filter2(fspecial('average',3),anh); anh=double(anh)/255; % chuyen sang kieu double %%%%%%% mat na loc loc=[0 0;1 1;0 0]; loc=1/8*loc; %%%%%%% dung ham loc anh=conv2(anh,loc); anh=uint8(round(anh*255)); %%%%%%%%%%%%%% for i=1:chieucao for j=1:chieurong if (i>chieucao_goc)|(j>chieurong_goc) % ngoai vung bien anh goc anh(i,j)=0; % dat la vung nen anh else % vung bien anh goc %anh(i,j)=255-anh(i,j); if (anh(i,j)>nguongtach) % vung nen %anh(i,j)=255; % xoa trang vung nen anh(i,j)=0; else %z(i)=z(i)+1; % tinh cho bieu xam anh(i,j)=255-anh(i,j); end end end end %%%%%%%%%%%%%%% tinh FS cho moi block FS=[]; k=0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% u_layer1=zeros(N+2);b_layer1=zeros(N+2);u_layer2=zeros(N+2);b_layer2=zeros(N+2);bloc k_k=zeros(N+2); %%%%%%%%%%%%%%%%%%%%%% % mang chua FS global AFS AFS=zeros(round(chieucao/N)-1,round(chieurong/N)-1); %%%%%%%%%%%%%%%%%%%%%% for i=2:round(chieucao/N) for(j=2:round(chieurong/N)) %%%%%%%%%% thao tac voi block thu K u_layer1(:,:)=0; b_layer1(:,:)=0; u_layer2(:,:)=0; b_layer2(:,:)=0; vol1=0; vol2=0; block_k(2:N+1,2:N+1)=anh((i-1)*N+1:i*N,(j-1)*N+1:j*N); % tinh gia tri cho lop tren va duoi voi delta1 cho moi vung thu k for ki=2:N+1 for kj=2:N+1 g1_u=block_k(ki,kj)+1; g1_b=block_k(ki,kj)-1; g2=block_k(ki,kj+1); g3=block_k(ki,kj-1); g4=block_k(ki+1,kj); g5=block_k(ki-1,kj); temp=[g1_u g2 g3 g4 g5 g1_b]; u_layer1(ki,kj)=max(temp(1:5)); b_layer1(ki,kj)=min(temp(2:6)); 84 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy vol1=vol1 + (u_layer1(ki,kj)-b_layer1(ki,kj)); % tinh xong lop tren va duoi voi delta1 % tinh gia tri cho lop tren va duoi voi delta2 g1_u=u_layer1(ki,kj)+1; g1_b=b_layer1(ki,kj)-1; g2=u_layer1(ki,kj+1); g3=u_layer1(ki,kj-1); g4=u_layer1(ki+1,kj); g5=u_layer1(ki-1,kj); temp=[g1_u g2 g3 g4 g5 g1_b]; u_layer2(ki,kj)=max(temp(1:5)); b_layer2(ki,kj)=min(temp(2:6)); vol2=vol2+(u_layer2(ki,kj)-b_layer2(ki,kj)); %%%%%%%%%%%%%%%% tinh xong gia tri cua lop tren duoi voi delta2 end end % tinh FS k=k+1; FS(k)=(vol2-vol1)/2; % AFS %AFS(i,j)=(vol2-vol1)/2; end end %%%%%%%%%%%%%%%% Tach anh va text k=0; anh=cat(3,anh,anh,anh); nguong=min(FS)+50; for i=1:round(chieucao/N-1) for(j=1:round(chieurong/N)-1) k=k+1; if ((FS(k)>nguong)&(FS(k)=4000) % vung anh AFS(i,j)=2; % danh dau vung anh end end end %%%%%%%%% khoanh vung global MLT MLT=AFS; MLT=0; % chua khoi cac phan tu lien thong %%%%%%%%%%% set(0,'RecursionLimit',1000) %%%%%%%%%%%% anh=255-anh; for i=1:round(chieucao/N-1) for(j=1:round(chieurong/N)-1) if ((AFS(i,j)~=3)&(AFS(i,j)==1)); % phan tu la text chua xet anh MLT=0; lienthong(i,j,1); if(sum(sum(MLT))>20 ) % bo qua vung lien thong qua nho vebien(MLT,N,1); end elseif ((AFS(i,j)~=3)&(AFS(i,j)==2)); % phan tu la text chua xet anh MLT=0; lienthong(i,j,2); if(sum(sum(MLT))>20 ) % bo qua vung lien thong qua nho vebien(MLT,N,2); end 85 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy end end end imshow(anh) 7) DemFS: anh=imread(filename); % doc anh tu mot file JPG goc=anh; N=15; % kich thuoc moi block k=1; % so block tren anh co kich thuoc NxN chieucao=size(anh,1); % chieu cao cuar anh vao chieucao_goc=chieucao; chieurong=size(anh,2); % chieu rong cua anh vao chieurong_goc=chieurong; %%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%Phan nguong va tim hinh chieu doc gray_min=min(min(anh)); gray_max=max(max(anh)); nguongtach=round(((gray_min+gray_max)/2)); % chuan hoa kich thuoc anh the nguyen lan cua NxN %chuan chieu cao anh if (chieucao/N)>round(chieucao/N) chieucao=round(chieucao/N)*N+N; else chieucao=round(chieucao/N)*N; end %chuan chieu rong anh if (chieurong/N)>round(chieurong/N) chieurong=round(chieurong/N)*N+N; else chieurong=round(chieurong/N)*N; end %%%%%%%%%%%%%%%%%%%% %loc nhieu anh goc anh=double(anh)/255; % chuyen sang kieu double %%%%%%% mat na loc loc=[0 0;1 1;0 0]; loc=1/8*loc; %%%%%%% dung ham loc anh=conv2(anh,loc); anh=uint8(round(anh*255)); %%%%%%%%%%%%%% for i=1:chieucao for j=1:chieurong if (i>chieucao_goc)|(j>chieurong_goc) % ngoai vung bien anh goc anh(i,j)=0; % dat la vung nen anh else % vung bien anh goc %anh(i,j)=255-anh(i,j); if (anh(i,j)>nguongtach) % vung nen %anh(i,j)=255; % xoa trang vung nen anh(i,j)=0; else %z(i)=z(i)+1; % tinh cho bieu xam anh(i,j)=255-anh(i,j); end end end end 86 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy %%%%%%%%%%%%%%% tinh FS cho moi block FS=[]; k=0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% u_layer1=zeros(N+2);b_layer1=zeros(N+2);u_layer2=zeros(N+2);b_layer2=zeros(N+2);bloc k_k=zeros(N+2); %%%%%%%%%%%%%%%%%%%%%% for i=1:round(chieucao/N) for(j=1:round(chieurong/N)) %%%%%%%%%% thao tac voi block thu K u_layer1(:,:)=0; b_layer1(:,:)=0; u_layer2(:,:)=0; b_layer2(:,:)=0; vol1=0; vol2=0; block_k(2:N+1,2:N+1)=anh((i-1)*N+1:i*N,(j-1)*N+1:j*N); % tinh gia tri cho lop tren va duoi voi delta1 cho moi vung thu k for ki=2:N+1 for kj=2:N+1 g1_u=block_k(ki,kj)+1; g1_b=block_k(ki,kj)-1; g2=block_k(ki,kj+1); g3=block_k(ki,kj-1); g4=block_k(ki+1,kj); g5=block_k(ki-1,kj); temp=[g1_u g2 g3 g4 g5 g1_b]; u_layer1(ki,kj)=max(temp(1:5)); b_layer1(ki,kj)=min(temp(2:6)); vol1=vol1 + (u_layer1(ki,kj)-b_layer1(ki,kj)); % tinh xong lop tren va duoi voi delta1 % tinh gia tri cho lop tren va duoi voi delta2 g1_u=u_layer1(ki,kj)+1; g1_b=b_layer1(ki,kj)-1; g2=u_layer1(ki,kj+1); g3=u_layer1(ki,kj-1); g4=u_layer1(ki+1,kj); g5=u_layer1(ki-1,kj); temp=[g1_u g2 g3 g4 g5 g1_b]; u_layer2(ki,kj)=max(temp(1:5)); b_layer2(ki,kj)=min(temp(2:6)); vol2=vol2+(u_layer2(ki,kj)-b_layer2(ki,kj)); %%%%%%%%%%%%%%%% tinh xong gia tri cua lop tren duoi voi delta2 end end % ve he truc toa trucx=[1:N+2]; trucy=[1:N+2]; meshgrid(trucx,trucy); % axes(handles.anhgoc); subplot(2,2,1); anhtem=goc; anhtem((i-1)*N+1:(i-1)*N+N,(j-1)*N+1:(j-1)*N+N)=0; imshow(anhtem); subplot(2,2,2); %axes(handles.uper); % surf(trucx,trucy,b_layer2) surf(trucx,trucy,u_layer2) subplot(2,2,3); %axes(handles.block); imshow(255-anh((i-1)*N+1:(i-1)*N+N,(j-1)*N+1:(j-1)*N+N)); subplot(2,2,4); %axes(handles.surf); 87 GVHD: PGS TS Ngô Quốc Tạo Luận văn tốt nghiệp cao học Học viên: Nguyễn Văn Huy trucx=[1:N]; trucy=[1:N]; meshgrid(trucx,trucy); surf(trucx,trucy,double(anh((i-1)*N+1:(i-1)*N+N,(j-1)*N+1:(j-1)*N+N))); pause(0.3) % tinh FS k=k+1; FS(k)=(vol2-vol1)/2; end end 8) Lienthong function lienthong(i,j,loai) % loai=1 la text, =2 la anh global AFS; global MLT; AFS(i,j)=3; % danh dau la da xet MLT(i,j)=1; % danh dau diem thuoc vung lien thong if (((i-1)>0)&((j-1)>0)& (AFS(i-1,j-1)~=3)&(AFS(i-1,j-1)==loai)) lienthong(i-1,j-1,loai);end if (((j-1)>0)& (AFS(i,j-1)~=3)&(AFS(i,j-1)==loai)) lienthong(i,j-1,loai);end if (((i+1)0)&(AFS(i+1,j-1)~=3)&(AFS(i+1,j-1)==loai))lienthong(i+1,j1,loai);end if (((i-1)>0)& (AFS(i-1,j)~=3)&(AFS(i-1,j)==loai)) lienthong(i-1,j,loai);end if (((i+1)0)&((j+1)

Ngày đăng: 16/04/2017, 17:27

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w