Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
1,84 MB
Nội dung
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA ĐIỆN – ĐIỆN TỬ BÁO CÁO CUỐI KỲ MÔN XỬ LÝ ẢNH ĐỀ TÀI: Nhận dạng cơng thức tốn giấy chuyển thành mã LaTex Giảng viên hướng dẫn: TS TRẦN THANH PHƯƠNG Nhóm sinh viên thực hiện: NGUYỄN THANH PHÚ - 41801041 TRẦN LONG CÁT - 41800075 PHẠM TRUNG KIÊN - 41800684 NGÔ DUY THỊNH - 41801242 Khóa: 2018 – 2022 THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021 0 LỜI CẢM ƠN Để hoàn thành đồ án này, phần lớn nhờ em có giúp đỡ đóng góp ý kiến từ thầy cơ, gia đình bạn bè Đặc biệt, em xin chân thành cảm ơn TS Trần Thanh Phương khoa Điện – Điện tử thuộc trường Đại học Tơn Đức Thắng hướng dẫn tận tình cho em suốt trình thực Em xin chân thành cảm ơn thầy, cô trường Đại học Tơn Đức Thắng nói chung thầy, Bộ mơn Kĩ thuật điện tử viễn thơng nói riêng dạy dỗ cho em kiến thức môn đại cương môn chuyên ngành Nhờ đó, em có tảng kiến thức sở lý thuyết tốt giúp em hoàn thành đồ án TP Hồ Chí Minh, ngày 28 tháng 11 năm 2021 Tác giả (ký tên ghi rõ họ tên) 0 PHẦN MỤC LỤC CHƯƠNG TỔNG QUAN .6 1.1 Tính cấp thiết đề tài 1.2 Yêu cầu đề tài 1.3 Nội dung nghiên cứu .6 CHƯƠNG 2: TỔNG QUANG MÃ LATEX 2.1 Latex gì? .7 2.2 Soạn thảo công thức với mã Latex 2.2.1 Soạn đoạn văn 2.2.2 Soạn cơng thức tốn học với mã Latex CHƯƠNG TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ 10 3.1 CÁC VẤN ĐỀ TRONG XỬ LÝ ẢNH SỐ 10 3.1.1 Xử lý ảnh gì? 10 3.1.2 Điểm ảnh (Picture element hay pixel) .11 3.1.3 Độ phân giải ảnh (Resolution) 12 3.1.4 Mức xám ảnh 12 3.1.5 Quan hệ điểm ảnh .13 3.1.6 Các ứng dụng thực tế xử lý ảnh 15 CHƯƠNG GIẢI THUẬT CỦA CHƯƠNG TRÌNH 20 4.1 Sơ đồ khối 20 4.2 Giải thuật .21 Chương KẾT QUẢ MÔ PHỎNG VÀ KẾT LUẬN 27 5.1 KIỂM TRA CÁC KẾT QUẢ MÔ PHỎNG 27 5.2 Kết luận đánh giá .33 5.2.1 Kết luật chương trình mơ 33 5.2.2 Đánh giá chương trình .33 0 DANH MỤC HÌNH ẢNH Hình 2.1 Trang làm việc dùng để code đoạn văn .8 Hình 2.2 Nhấn recompile để biên dịch đoạn code thành văn .8 Hình 2.3 Đoạn code cần thực để tạo phương trình “a2 = b2 + c2 - 2bccosA” Hình 2.4 Sau recompile ta phương trình mong muốn Hình 3.1 Quá trình xử lý ảnh 10 Hình 3.2 Các bước hệ thống xử lý ảnh 10 Hình 3.3 Từ ma trận điểm ảnh, ta tạo nên ảnh liên tục 11 Hình 3.4 Độ phân giải mà thường thấy máy ảnh kỹ thuật số 12 Hình 3.5 Các mức xám thường thấy ảnh trắng đen .13 Hình 3.6 Các điểm ảnh lân cận theo hàng cột tọa độ (x, y) 14 Hình 3.7 Các điểm ảnh lân cận theo đường chéo tọa độ (x, y) 14 Hình 3.9 Ảnh chụp X-Quang não 16 Hình 3.10 Ảnh minh họa hệ thống phân loại theo màu sắc 16 Hình 3.11 Ảnh minh họa nén ảnh 17 Hình 3.12 Ảnh thu từ camera hồng ngoại 17 Hình 3.13 Ảnh minh họa phục chế ảnh 18 Hình 3.14 Ảnh minh họa nhận diện khuôn mặt 18 Hình 3.15 Ảnh minh họa nhận diện biển số xe .19 Hình 3.16 Ảnh minh họa nhận diện phương tiện di chuyển 19 Hình 4.1 Sơ đồ giải thuật .20 Hình 4.2 Ảnh trước sau chuyển sang ảnh nhị phân 22 Hình 4.3 Ảnh trước sau loại nhiễu 23 Hình 4.4 Ảnh trước sau xoay ảnh .24 Hình 4.6 Tách kí tự có cơng thức 25 Hình 4.7 Thư viện kí tự mẫu 26 Hình 5.1 Hình ảnh gốc ảnh nhị phân cơng thức đơn giản 27 Hình 5.3 Hình ảnh gốc ảnh nhị phân công thức phức tạp 28 Hình 5.4 Kết thu từ chương trình 28 Hình 5.5 Hình ảnh gốc ảnh màu cơng thức đơn giản có nhiễu 29 0 Hình 5.6 Kết thu từ chương trình 29 Hình 5.7 Hình ảnh gốc ảnh màu cơng thức phức tạp có nhiễu 30 Hình 5.8 Kết thu từ chương trình 30 Hình 5.9 Hình ảnh gốc cơng thức viết tay 31 Hình 5.10 Kết thư từ chương trình 31 Hình 5.11 Hìn ảnh gốc ảnh có cơng thức 32 Hình 5.12 Kết thu từ chương trình 32 Hình 5.13 Kết sử dụng mã Latex từ kết mô để tạo công thức ban đầu 33 0 CHƯƠNG TỔNG QUAN 1.1 Tính cấp thiết đề tài Hiện nay, xã hội ngày chuyển sang thời đại 4.0 với xử lý ảnh phân ngành khoa học phát triển năm gần Xử lý ảnh phân ngành xử lý số tín hiệu với tín hiệu xử lý ảnh Hiện nay, công nghệ xử lý ảnh áp dụng nhiều đời sống như: công nghệ photoshop, nén ảnh, nén video, nhận dạng biển số xe, nhận dạng khuôn mặt cảm xúc, nhận dạng chữ viết, ảnh y tế, Ngoài ra, xử lý ảnh lĩnh vực quan tâm trở thành môn học chuyên ngành ngành điện tử viễn thông hay công nghệ thông tin Ngày nay, khái nhiệm xử lý ảnh dần trở nên quen thuộc với hầu hết người xã hội việc thu nhận ảnh số thiết bị cá nhân hay chun dụng sau đưa vào máy tính xử lý trở nên đơn giản hết 1.2 Yêu cầu đề tài Từ hình ảnh chụp phương trình viết giấy, ta đưa vào xử lý phần mềm Matlab Từ phép biến đổi, tính tốn ta xây dựng sau kết xuất mã Latex tương ứng với phương trình đọc vào xử lý Kết xuất cần đảm bảo xác số, chữ, ký tự đồng thời hiển thị mã Latex tương ứng với ký tự đặc biệt phương trình ɤ, Ɵ, α, β, … Cuối cùng, ta kiểm chứng mã Latex cho với kết phương trình ban đầu 1.3 Nội dung nghiên cứu Chương trình thực phần mềm Matlab Bước đầu, ta chuyển đổi ảnh từ phương trình viết tay trở thành ảnh có phần mở rộng jpg sử dụng chúng ngõ vào chương trình nhận dạng Tiếp đến, chúng tơi tìm hiểu phép biến đổi nhị phân hóa, lọc ảnh, điều chỉnh độ nghiêng để lọc ký tự Sau đó, chúng tơi tiến hành biến đổi chúng thành mã Latex theo thư viện mã Latex Bước cuối cùng, kiểm tra mã Latex công cụ web Overleaf 0 CHƯƠNG 2: TỔNG QUANG MÃ LATEX 2.1 Latex gì? Latex hệ soạn thảo văn giống Microsoft Office Word có điểm ưu việt soạn văn khoa học cần nhiều công thức Tại trường Đại học hàng đầu Latex sử dụng trình soạn thảo bắt buộc viết báo cáo định kỳ hay báo cáo nghiên cứu khoa học cho nhiều lĩnh vực toán học, thống kê, kĩ thuật, khoa học máy tính, kinh tế học, ngơn ngữ học, triết học hay khoa học trị Một số ưu điểm Latex sau minh chứng cho việc sử dụng phổ biến phòng nghiên cứu Thứ nhất, Latex miễn phí nhẹ nên chạy nhiều hệ điều hành khác Thứ hai, Latex hỗ trợ việc soạn công thức tốn trích dẫn tài liệu tham khảo, hình vẽ, bảng biểu đánh số cách tự động LaTeX ban đầu viết vào đầu năm 1980 Leslie Lamport phát hành vào năm 1984 SRI International Phiên LaTeX2e phân phối theo Giấy phép Công cộng Dự án LaTeX (LPPL) 2.2 Soạn thảo công thức với mã Latex 2.2.1 Soạn đoạn văn Để tìm hiểu cách hoạt động mã Latex, ta tiến hành số ví dụ Ta bắt đầu với ví dụ soạn văn ngắn Ta sử dụng địa web có tên Overleaf để soạn thảo Overleaf trang dùng để soạn thảo văn Latex trực tuyến mà không cần cài đặt Overleaf tạo John Hammersley John Lees-Miller, người bắt đầu phát triển vào năm 2011 với tên WriteLaTeX, thông qua công ty WriteLaTeX Limited họ Chúng ta lấy ví dụ đoạn văn ngắn “TON DUC THANG University” Đầu tiên, ta vào địa web Overleaf sau tiến hành tạo project với tên tự đặt Sau đó, trang làm việc ta đặt sẵn format ta cần code để soạn thảo văn Vùng làm việc để code nằm lệnh \begin{document} \end{document} Từ dịng lệnh \begin{document}, trang tính hiểu văn tạo 0 Đối với văn chữ thông thường, ta cần gõ đoạn văn “TON DUC THANG University”, sau nhấn chọn nút recompile trang tính để biên soạn đoạn văn mong muốn trang bên cạnh Hình 2.1 Trang làm việc dùng để code đoạn văn Hình 2.2 Nhấn recompile để biên dịch đoạn code thành văn 0 2.2.2 Soạn công thức tốn học với mã Latex Đối với cơng thức toán học, ta thực tương tự các bước soạn văn chữ Tuy nhiên, việc code cơng thức tốn cần thêm số bước Đầu tiên, ta phải tạo cặp lệnh \begin{equation} \end{equation} Đây lệnh để trang tính biết viết cơng thức hay phương trình viết phương trình cặp lệnh Đối với cơng thức tốn học, ta cần phải biết thêm mã kí tự đặc biệt để viết kí hiệu alpha, beta, gamma, … Ngồi số lệnh \frac (tạo phân số), \int (tạo hàm tích phân), … Ta lấy ví dụ cơng thức tốn đơn giản “a2 = b2 + c2 - 2bccosA” Hình 2.3 Đoạn code cần thực để tạo phương trình “a2 = b2 + c2 - 2bccosA” Hình 2.4 Sau recompile ta phương trình mong muốn 0 CHƯƠNG TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ 3.1 CÁC VẤN ĐỀ TRONG XỬ LÝ ẢNH SỐ 3.1.1 Xử lý ảnh gì? Xử lý ảnh số kỹ thuật sử dụng máy tính kỹ thuật số để xử lý hình ảnh kỹ thuật số thơng qua thuật tốn Các thuật toán áp dụng cho liệu nhằm mục đích làm giảm nhiễu hay biến dạng suốt q trình xử lý Ngồi ra, cịn nhiều thuật tốn khác áp dụng cho dự liệu đầu vào nhằm tạo ảnh theo ý muốn phép xoay, nén, điều chỉnh màu, điều chỉnh độ tương phản, … Nói đơn giản, trình xử lý ảnh xem trình thao tác ảnh đầu vào nhằm cho kết mong muốn Quá trình xử lý ảnh Ảnh đầầu vào Hình ảnh mong muốốn Hình 3.1 Quá trình xử lý ảnh Một ảnh xem tập hợp nhiều điểm ảnh đứng kề Các điểm ảnh xem đặc trưng cường độ sáng hay dấu hiệu vị trí đối tượng khơng gian xem hàm n biến P (c1, c2, , cn) Do đó, ảnh xử lý ảnh xem ảnh n chiều H ệquyếốt định Thu nhận ảnh Tiếần xử lý Trích lọc đặc điểm Hình 3.2 Các bước hệ thống xử lý ảnh So sánh kếốt luận Hậu xử lý Lưu trữ CHƯƠNG GIẢI THUẬT CỦA CHƯƠNG TRÌNH 4.1 Sơ đồ khối Chuyển thành ảnh xám Thu nhận ảnh từ thư mục Ảnh nhị phân Kiểm tra ảnh nhị phân Loại nhiễu, xoay ảnh Thêm thư viện kí tự mẫu So sánh tương quan kí tự Tách kí tự cơng thức Xác định vùng chứa cơng thức Chuyển kí tự sang mã Latex Xuất kết Hình 4.1 Sơ đồ giải thuật Thu nhận ảnh từ thư mục: ảnh đầu vào ảnh lưu sẵn thư mục Kiểm tra ảnh nhị phân: xác định ảnh đầu vào xem phải ảnh nhị phân hay không Nếu ảnh đầu vào ảnh nhị phân đưa qua khối loại nhiễu xoay ảnh Nếu ảnh đầu vào ảnh nhị phân đưa qua khối ảnh xám chuyển ảnh nhị phân Sau chuyển đổi, ảnh trả khối kiểm tra để tiếp tục quy trình 0 Loai nhiễu xoay ảnh: ảnh nhị phân loại bỏ nhiễu ánh sáng tác động đưa phương ngang Xác định vùng chứa công thức: tách lấy vùng chứa cơng thức Tách kí tự cơng thức: kí tự tách biệt thành đối tượng để so sánh với thư viện kí tự mẫu Thêm thư viện kí tự mẫu: xây dựng thư viện cách kí tự mẫu So sánh tương quan kí tự: so sánh mức độ tương quan kí tự mẫu kí tự văn xác định Chuyển kí tự sang mã Latex: kí tự mẫu biểu diễn mã Latex tương ứng Xuất kết quả: hiển thị kết nhận diện dạng chuỗi 4.2 Giải thuật Đầu tiên ta chọn ảnh từ thư mục cách sử dụng lệnh uigetfile imread Với hai lệnh ta chọn ảnh cần xử lí Ảnh đầu vào trước đưa vào xử lí chuyển đổi sang ảnh nhị phân để thuận tiện cho việc tính tốn Nếu ảnh đầu vào khơng phải ảnh nhị phân chuyển đổi theo hàm sau: Hàm rgb2gray: chuyển đổi ảnh RGB thành ảnh xám Hàm im2bw: tạo ảnh nhị phân từ ảnh RGB ảnh xám 0 a) Trước chuyển đổi b) Sau chuyển đổi Hình 4.2 Ảnh trước sau chuyển sang ảnh nhị phân Tiếp theo ảnh đưa đến lọc để loại bỏ nhiễu Nhiễu ánh sáng Ta sử dụng lọc trung bình với lệnh bwareaopen để loại bỏ nhiễu Dưới lệnh code dùng lọc để loai nhiễu win_size = round(min(height/60,width/60)); window_means=imfilter(gray_img,fspecial('average',win_size),'replicate'); demeaned=window_means-gray_img-10; bw_img=im2bw(demeaned,0); noise_size = round(0.0001*height*width); bw_img = bwareaopen(bw_img, noise_size); se = strel('square',4); bw_img = imclose(bw_img,se); small_hole_thresh = round(0.0001*height*width); filled = imfill(bw_img,'holes'); holes = filled & ~bw_img; lg_holes = bwareaopen(holes,small_hole_thresh); sm_holes = holes &~lg_holes; bw_img = bw_img | sm_holes; bw_img = ~bw_img; 0 a) Trước chuyển đổi b) Sau chuyển đổi Hình 4.3 Ảnh trước sau loại nhiễu Đối với ảnh nghiêng góc chụp ta phải điều chỉnh góc quay Để tính tốn định hướng góc quay, ta sử dụng phương pháp biến đổi Hough Sau đưa ảnh vị trí chuẩn (theo phương ngang) Dưới lệnh code dùng lọc để xoay ảnh edges = edge(bw_img); [H,T,~] = hough(edges,'RhoResolution',1,'ThetaResolution', 0.1 ); P = houghpeaks(H,1); deskewing_angle = T(P(1,2))-90; while(-deskewing_angle > 40) deskewing_angle = deskewing_angle + 180; end P = houghpeaks(H,4); orientations = P(:,2); if length(unique(orientations)) == dominant_orientation = orientations(1); else dominant_orientation = mode(P(:,2)); end deskewing_angle = T(dominant_orientation)-90; while(abs(deskewing_angle) > 45) deskewing_angle = deskewing_angle - sign(deskewing_angle)*90; end deskew_img = imrotate(bw_img,deskewing_angle,'bilinear'); 0 a) Trước chuyển đổi b) Sau chuyển đổi Hình 4.4 Ảnh trước sau xoay ảnh Sau chuyển thành ảnh nhị phân loại bỏ nhiễu có phương ngang Ta xác định vùng chứa công thức lệnh sau: propied=regionprops(L,'BoundingBox'); %Tạo vùng chứa cho ký tự có cơng thức Cùng với vịng lặp for for n=1:size(propied,1) rectangle('Position',propied(n).BoundingBox,'EdgeColor','g','LineWidth',2) end Ta kết hình 4.5 Hình 4.5 Xác định vừng có chứa cơng thức 0 Sau ta xác định xong vùng chứa công thức ảnh, ta tiến tách nhằm xác định ký tự có cơng thức tách chúng thành ký tự riêng lẻ để tiến hành so sánh với bảng ký tự mẫu Ở ta sử dụng hàm find để làm việc dựa sở xét tất điểm lân cận điểm ảnh Tất điểm ảnh lân cận có giá trị điểm ảnh xác định thành đối tượng dán nhãn để phân biệt với đối tượng lại Trong trường hợp này, đối tượng kí tự văn xác định Hình 4.6 Tách kí tự có cơng thức Ta tạo sở liệu mẫu bảng bên Trong đó, kí tự biểu diễn mã Latex tương ứng 0 Hình 4.7 Thư viện kí tự mẫu Sau có thư viện kí tự mẫu ta sử dụng phương pháp Template Matching vòng lặp để so sánh tương quan kí tự xét với kí tự mẫu Cuối kết nối theo mã kí tự theo thứ tự trái sang phải ký tự xác định Kết cuối dạng chuỗi 0 Chương KẾT QUẢ MÔ PHỎNG VÀ KẾT LUẬN 5.1 KIỂM TRA CÁC KẾT QUẢ MÔ PHỎNG Ta kiểm tra loại ảnh khác so sánh kết thu để kết luận a/ Kiểm tra ảnh nhị phân cơng thức đơn giản Hình 5.1 Hình ảnh gốc ảnh nhị phân cơng thức đơn giản Hình 5.2 Kết thu từ chương trình 0 b/ Kiểm tra ảnh nhị phân cơng thức phức tạp Hình 5.3 Hình ảnh gốc ảnh nhị phân cơng thức phức tạp Hình 5.4 Kết thu từ chương trình 0 c/ Kiểm tra ảnh màu cơng thức đơn giản có nhiễu Chúng ta lấy tiếp tục ảnh tương tự câu a ảnh màu có nhiễu để so sánh Hình 5.5 Hình ảnh gốc ảnh màu cơng thức đơn giản có nhiễu Hình 5.6 Kết thu từ chương trình 0 d/ Kiểm tra ảnh màu công thức phức tạp có nhiễu Tương tự lấy ảnh với cơng thức tương tự câu b ảnh có màu để so sánh kết Hình 5.7 Hình ảnh gốc ảnh màu cơng thức phức tạp có nhiễu Hình 5.8 Kết thu từ chương trình 0 e/ Kiểm tra ảnh từ cơng thức viết tay Hình 5.9 Hình ảnh gốc cơng thức viết tay Hình 5.10 Kết thư từ chương trình 0 f/ Kiểm tra ảnh có cơng thức Hình 5.11 Hìn ảnh gốc ảnh có cơng thức Hình 5.12 Kết thu từ chương trình 0 5.2 Kết luận đánh giá 5.2.1 Kết luật chương trình mơ Từ kết trên, ta nhận thấy kết a b c d điều chương trình cho kết rõ ràng Trong đó, kết e f khơng chương trình cho kết rõ ràng Hay nói cách khác, chương trình chưa đọc công thức viết tay ảnh chưa nhiều công thức Đối với kết câu a b c d, ta cần kiểm tra lần địa web Overleaf để kiểm tra mã Latex có tạo cơng thức ảnh hay khơng Hình 5.13 Kết sử dụng mã Latex từ kết mô để tạo công thức ban đầu Sau kiểm tra Overleaf, ta thấy sử dụng mã Latex từ câu a b tạo cơng thức xác Điều chứng tỏ sử dụng công thức từ ảnh nhị phân lọc nhiễu trình mơ diễn thuận lợi hơn, đem lại kết xác ta sử dụng ảnh màu gốc có nhiễu 5.2.2 Đánh giá chương trình Ưu điểm: Sau tiến hành thử nghiệm khác nhau, ta thấy chương trình nhận dạng công thức từ ảnh mà thêm vào Qúa trình mơ diễn nhanh, khơng nhiều thời gian Kết nhận với yêu cầu, cho mã Latex chuẩn Từ đó, ta kiểm tra lại Overleaf 0 Nhược điểm: Chương trình có cho kết sai sử dụng ảnh màu có nhiễu với cơng thức q phức tạp Ngồi ra, chương trình cịn thiếu sót thư viện mã Latex Hướng phát triển: Để có kết mô mong muốn, ta nên sử dụng ảnh lọc nhiễu hay ảnh có nhiễu có cơng thức đơn giản Tuy nhiên, tương lai cần cải thiện nhược điểm Ngoài ra, ta cần phải cập nhật thêm thư viện mã Latex với hàm quan trọng 0 ... tơi tiến hành biến đổi chúng thành mã Latex theo thư viện mã Latex Bước cuối cùng, kiểm tra mã Latex công cụ web Overleaf 0 CHƯƠNG 2: TỔNG QUANG MÃ LATEX 2.1 Latex gì? Latex hệ soạn thảo văn giống... CHƯƠNG 2: TỔNG QUANG MÃ LATEX 2.1 Latex gì? .7 2.2 Soạn thảo công thức với mã Latex 2.2.1 Soạn đoạn văn 2.2.2 Soạn cơng thức tốn học với mã Latex CHƯƠNG... động LaTeX ban đầu viết vào đầu năm 1980 Leslie Lamport phát hành vào năm 1984 SRI International Phiên LaTeX2 e phân phối theo Giấy phép Công cộng Dự án LaTeX (LPPL) 2.2 Soạn thảo công thức với mã