Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
4,17 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TÀO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Nguyễn Ngọc Khánh NGHIÊN CỨU PHƢƠNG PHÁP NÂNG CAO ĐỘ PHÂN GIẢI THƢỚC ĐO QUANG HỌC Chuyên ngành: Cơ khí xác quang học LUẬN VĂN THẠC SĨ KHOA HỌC CƠ KHÍ CHÍNH XÁC VÀ QUANG HỌC NGƢỜI HƢỚNG DẪN KHOA HỌC: TS NGUYỄN VĂN VINH Hà Nội - 2013 MỤC LỤC LỜI CAM ĐOAN .1 DANH MỤC CÁC BẢNG BIỂU .2 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .2 PHẦN MỞ ĐẦU CHƢƠNG 1: PHƢƠNG PHÁP VÀ THIẾT BỊ ĐO DỊCH CHUYỂN BẰNG THƢỚC KHẮC VẠCH 1.1 Các loại thƣớc khắc vạch ứng dụng 1.2 Phƣơng pháp đo dịch chuyển thƣớc khắc vạch .9 1.2.1 Nguyên lý đo dịch chuyển thƣớc khắc vạch 1.2.2 Các loại thƣớc khắc vạch 10 1.3 Các phƣơng pháp nâng cao độ phân giải 18 1.3.1 Phƣơng pháp du xích .18 1.3.2 Phƣơng pháp nội suy .20 1.4 Kết luận chƣơng 24 CHƢƠNG 2: PHƢƠNG PHÁP NÂNG CAO ĐỘ PHÂN GIẢI BẰNG XỬ LÝ ẢNH 25 2.1 Sơ đồ biến đổi tín hiệu phƣơng pháp 25 2.2 Hệ thống đọc vạch .25 2.2.1 Kính hiển vi quang học 25 2.2.2 Cảm biến hình ảnh 31 2.3 Cơ sở lý thuyết xử lý ảnh 34 2.3.1 Quá trình thu nhận ảnh .34 2.3.2 Quá trình xử lý ảnh 38 2.3.3 Phân vùng hình ảnh 46 2.3.4 Phát biên 55 2.4 Xây dựng thuật toán 64 2.4.1 Thuật tốn tìm vết vạch .64 2.4.2 Thuật toán xử lý trực tiếp 65 2.4.3 Thuật toán pixel .67 2.5 Xây dựng chƣơng trình phần mềm thực nghiệm 68 2.6 Kết luận chƣơng .70 CHƢƠNG 3: THỰC NGHIỆM 71 3.1 Xây dựng mơ hình thực nghiệm 71 3.1.1 Nội dung thực nghiệm: 71 3.1.2 Mơ hình thực nghiệm .71 3.1.4 Điều kiện thực nghiệm .72 3.1.5 Thiết bị sử dụng thực nghiệm: 72 3.1.6 Mơ hình sau xây dựng: .75 3.2 Kết thực nghiệm 75 3.2.1 Đánh giá kết thực nghiệm thay đổi độ phóng đại .75 3.2.2 Đánh giá kết thực nghiệm thay đổi cƣờng độ chiếu sáng 77 3.2.4 Đánh giá kết thực nghiệm thƣớc có bề rộng vạch khác 80 3.2.5 Đánh giá độ xác 81 KẾT LUẬN VÀ KIẾN NGHỊ 83 Về lý thuyết 83 Về thực nghiệm .83 Hƣớng phát triển 83 TÀI LIỆU THAM KHẢO 85 PHẦN PHỤ LỤC 86 Chƣơng trình phần mềm dùng thuật tốn tìm vết 86 Chƣơng trình phần mềm dùng thuật toán xử lý trực tiếp 88 Chƣơng trình phần mềm dùng thuật tốn pixel 90 Luận văn thạc sĩ khoa học LỜI CAM ĐOAN Tên Nguyễn Ngọc Khánh, học viên cao học ngành Chế tạo máy khóa 2011-2013 Giáo viên hƣớng dẫn khoa học TS Nguyễn Văn Vinh Tôi xin cam đoan luận văn với đề tài “Nghiên cứu phương pháp nâng cao độ phân giải thước đo quang học” cơng trình nghiên cứu riêng chƣa đƣợc công bố cơng trình khác Các số liệu nêu luận văn trung thực Nguyễn Ngọc Khánh Khóa 2011B Luận văn thạc sĩ khoa học DANH MỤC CÁC BẢNG BIỂU ảng 1- Thuộc tính tốn tử biên 58 ảng - Độ phóng đại quang kính hiển vi VHX-100 74 ảng - Kết thực nghiệm với bƣớc dịch chuyển µm .81 ảng - Kết thực nghiệm với bƣớc dịch chuyển µm .82 ảng - Kết thực nghiệm với bƣớc dịch chuyển µm .82 ảng - Kết thực nghiệm với bƣớc dịch chuyển µm .82 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình - Một số ứng dụng thƣớc khắc vạch dạng thẳng Hình - Thƣớc khắc vạch dạng góc số ứng dụng Hình - Nguyên lý đọc vạch thƣớc vạch khắc Hình - Thƣớc khắc vạch quang học .10 Hình - Các dạng vạch khắc quang học 11 Hình - Đầu đọc theo nguyên lý quét a) - Đầu đọc theo nguyên lý giao thoa b) 12 Hình - Nguyên lý chiếu phản xạ thân thƣớc 13 Hình - Nguyên lý chiếu xuyên qua thân thƣớc 13 Hình 10 - Nguyên lý chuyển đổi điện dung 14 Hình - Một số thƣớc kiểu điện dung 14 Hình 12 - Cấu tạo thƣớc vạch kiểu điện từ 15 Hình 11 Thƣớc vạch kiểu điện từ .15 Hình 13 - Nguyên lý hoạt động thƣớc kiểu điện từ 16 Hình 14 - Thƣớc vạch kiểu điện từ 17 Hình 15 - Cấu tạo thƣớc phụ 19 Hình 16 - Cấu tạo thƣớc phụ dạng tang chia 19 Hình 17 - Cấu tạo thƣớc du xích xoắn 20 Hình 18 - Sơ đồ mạch điện chia dùng mạng điện trở 22 Hình 19 - Trạng thái tín hiệu sử dụng mạch điện chia 22 Nguyễn Ngọc Khánh Khóa 2011B Luận văn thạc sĩ khoa học Hình 20 - Mã hóa pha với ADC bit 23 Hình 21 - Sơ đồ biến đổi tín hiệu phƣơng pháp nâng cao độ phân giải .25 Hình 22 - Kính hiển vi quang học .26 Hình 23 - Nguyên lý tạo ảnh qua hệ hiển vi .27 Hình 24 - Sự sai lệch góc tới thực góc tới cận trục 28 Hình 25 - Chùm sáng qua hệ thống quang học có cầu sai 29 Hình 26 - Sự tạo ảnh hệ thống quang học có coma 29 Hình 27 - Ảnh điểm qua hệ thống quang học có loạn thị .30 Hình 28 - Cong trƣờng Petzval gây mặt cầu khúc xạ 30 Hình 29 - Sự biến dạng ảnh hệ thống quang học có méo ảnh 31 Hình 30 - Cảm biến CCD 31 Hình 31 - Sự tạo thành điện tích photon .32 Hình 32 - Q trình truyền điện tích CCD "ba pha" 33 Hình 33 - Cấu hình truyền điện tích đến cổng 33 Hình 34 - Đồng hóa ngang 34 Hình 35 - Các bƣớc để xử lý hình ảnh 35 Hình 36 - Sự tán xạ phụ thuộc điều kiện bề mặt 36 Hình 37 - Các mơ hình hình thành hình ảnh .37 Hình 38 - Cấu trúc thu ảnh .38 Hình 39 - Ảnh tỉ lệ xám ảnh nhị phân 39 Hình 40 - Các hình dạng khác biểu đồ mức sáng 40 Hình 41 - Điều chỉnh tăng độ tƣơng phản 41 Hình 42 - Điều chỉnh cân biểu đồ .41 Hình 43 - Mặt nạ tích chập 43 Hình 44 - Q trình mặt nạ tích chập thực 43 Hình 45 - Lọc trung vị .45 Hình 46 - Hình ảnh qua lọc trung vị .46 Hình 47 - Biểu đồ mức xám lý tƣởng .47 Hình 48 - Quá trình tạo ngƣỡng sử dụng giá trị ngƣỡng 48 Nguyễn Ngọc Khánh Khóa 2011B Luận văn thạc sĩ khoa học Hình 49 - Chuyển đổi ảnh xám sang nhị phân .49 Hình 50 - Phân ngƣỡng ảnh linh kiện điện tử có đặc điểm ảnh khác 49 Hình 51 - Quá trình tạo ngƣỡng lặp 51 Hình 52 - Bảy khu vực hình ảnh đƣợc phân chia khác 53 Hình 53 - Phân đoạn thuật toán tách hợp .54 Hình 54 - Minh họa phân đoạn khu vực sở 55 Hình 55 - Các đặc điểm biên .56 Hình 56 - Tốn tử Sobel áp dụng cho hình ảnh khảm 59 Hình 57 - Các ảnh tác động toán tử Sobel LoG 61 Hình 58 - Tốn tử Laplacian tìm điểm qua “0” f'' (x, y) 62 Hình 59 - Sơ đồ thuật tốn tìm vêt 65 Hình 60 - Thuật tốn xử lý trực tiếp 66 Hình 61 - Thuật tốn pixel 67 Hình 62 - Ngun lý thuật tốn pixel 68 Hình 63 - Menu chƣơng trình tìm vết .69 Hình 64 - Menu chƣơng trình xử lý trực tiếp 69 Hình 65 - Chƣơng trình pixel 70 Hình 66 - Mơ hình thực nghiệm 71 Hình 67 - Kính hiển vi kỹ thuật số VHX-100 72 Hình 68 - Mơ hình thực nghiệm sau lắp ráp .75 Hình 69 - Đồ gá thực nghiệm 75 Hình 70 - Đồ thị độ phân giải phụ thuộc độ phóng đại theo thuật tốn tìm vết 76 Hình 71 - Đồ thị độ phân giải phụ thuộc độ phóng đại theo thuật tốn xử lý trực tiếp 76 Hình 72 - Đồ thị thực nghiệm thay đổi cƣờng độ sáng sử dụng thuật tốn tìm vết 77 Hình 73 - Đồ thị thực nghiệm thay đổi cƣờng độ sáng sử dụng thuật toán xử lý trực tiếp .78 Hình 74 - Đồ thị thực nghiệm ngƣỡng phân thay đổi dùng thuật tốn tìm vết 79 Nguyễn Ngọc Khánh Khóa 2011B Luận văn thạc sĩ khoa học Hình 75 - Đồ thị thực nghiệm ngƣỡng thay đổi dùng thuật tốn xử lý trực tiếp 79 Hình 76 - Đồ thị thực nghiệm khoảng cách vạch thay đổi dùng thuật tốn tìm vết 80 Hình 77 - Đồ thị thực nghiệm khoảng cách vạch thay đổi dùng thuật toán xử lý trực tiếp .80 Nguyễn Ngọc Khánh Khóa 2011B Luận văn thạc sĩ khoa học PHẦN MỞ ĐẦU Tính cấp thiết đề tài Ngày với phát triển không ngừng khoa học kỹ thuật, việc ứng dụng tiến khoa học kỹ thuật vào lĩnh vực đo lƣờng lĩnh vực công nghiệp địi hỏi tất yếu Các thiết bị gia cơng CNC có độ xác cao địi hỏi xác định xác vị trí dao hay chi tiết, điều khiển gia cơng xác Điều đƣợc đảm bảo nhờ ứng dụng thƣớc dịch chuyển có độ xác cao gắn thiết bị Thiết bị gia công thông qua thƣớc dịch chuyển để xác định vị trí dao, vị trí bệ máy, từ phản hồi thiết bị để xử lý đƣa chuyển động xác dao chi tiết đƣợc kẹp bệ máy Các thƣớc đo dịch chuyển thƣờng sử dụng nguyên lý khắc vạch để xác định vị trí đầu đo dựa nguyên lý chuyển đổi nhƣ quang điện, điện từ, điện cảm, điện dung … Tín hiệu điện sau chuyển đổi đƣợc xử lý hiển thị hiển thị Các thƣớc sử dụng phƣơng pháp nâng cao độ phân giải chủ yếu kiểu điện tử, xử lý tín hiệu điện thu đƣợc Tuy nhiên theo phƣơng pháp nâng cao độ phân giải gặp khó khăn muốn khắc vạch nhỏ khó chế tạo tín hiệu điện phụ thuộc vào tốc độ dịch chuyển đầu đọc, nâng cao độ phân giải dễ bị tác động nhiễu Trong thực tế có nhiều thiết bị sử dụng camera phƣơng pháp xử lý ảnh để đo lƣờng, chƣa thấy có nghiên cứu nâng cao độ phân giải sử dụng phƣơng pháp xử lý ảnh Đề tài “Nghiên cứu nâng cao độ phân giải thước đo quang học” đề tài có khả thực cấp thiết Hƣớng nghiên cứu nâng cao độ phân giải thƣớc khắc vạch sử dụng phƣơng pháp xử lý ảnh Đề tài nghiên cứu nội dung phƣơng pháp xử lý ảnh, từ có phân tích cụ thể để có lựa chọn hợp lý ứng dụng trực tiếp thiết bị cụ thể nhằm nâng cao độ phân giải thƣớc vạch quang học Ý nghĩa khoa học thực tiễn đề tài a Ý nghĩa khoa học Nguyễn Ngọc Khánh Khóa 2011B Luận văn thạc sĩ khoa học Nghiên cứu, khảo sát tổng quan loại thƣớc khắc vạch, nguyên lý hoạt động, phƣơng pháp nâng cao độ phân giải áp dụng Nghiên cứu xử lý ảnh, từ ứng dụng để nâng cao độ phân giải thƣớc khắc vạch quang học b Ý nghĩa thực tiễn Đề tài mang tính ứng dụng cao, kết nghiên cứu đề tài góp phần nâng cao độ phân giải thƣớc khắc vạch quang học theo hƣớng xử lý ảnh, tạo tiền đề cho nghiên cứu thiết bị đo ứng dụng phƣơng pháp nâng cao độ phân giải xử lý ảnh Phƣơng pháp nghiên cứu Nghiên cứu lý thuyết kết hợp nghiên cứu thực nghiệm Đối tƣợng nghiên cứu phạm vi nghiên cứu 4.1 Đối tƣợng nghiên cứu - Kính hiển vi kỹ thuật số VHX-100 - Thƣớc khắc vạch quang học 4.2 Phạm vi nghiên cứu Chỉ hạn chế phạm vi nghiên cứu phƣơng pháp nâng cao độ phân giải thƣớc khắc vạch quang học xử lý ảnh Nội dung nghiên cứu Nội dung nghiên cứu đề tài tập trung vào phần sau: - Phƣơng pháp nâng cao độ phân giải loại thƣớc khắc vạch - Nghiên cứu, lựa chọn phƣơng pháp nâng cao độ phân giải thƣớc khắc vạch quang học xử lý ảnh - Nghiên cứu, đánh giá ảnh hƣởng yếu tố đến độ phân giải sử dụng phƣơng pháp xử lý ảnh Nguyễn Ngọc Khánh Khóa 2011B Luận văn thạc sĩ khoa học 0.500 0.450 Độ phân giải, µm 0.400 0.350 450x 0.300 1000x 0.250 1500x 0.200 2000x 0.150 2500x 0.100 3000x 0.050 0.000 100 lux 250 lux 500 lux 1000 lux 1500 lux Cƣờng độ chiếu sáng Hình 73 - Đồ thị thực nghiệm thay đổi cƣờng độ sáng sử dụng thuật toán xử lý trực tiếp Trên hai đồ thị Hình 72 Hình 73 nhận thấy điểm 100 lux cƣờng độ chiếu sáng thấp nên cƣờng độ sáng ảnh thu đƣợc thấp, vạch khắc khó phân biệt với Chính xác định độ phân giải khó thực Tuy nhiên độ phóng đại 1000X xác định đƣợc độ phân giải độ phóng đại tăng làm tăng khả phân biệt vạch khắc Tại dải từ 250 lux đến 1000 lux thu đƣợc độ phân giải tƣơng đối tốt, tốt cƣờng độ chiếu sáng 500 lux Từ 1000 lux trở lên, cƣờng độ chiếu sáng mạnh làm cho vạch khắc đối tƣợng có cƣờng độ sáng lớn tƣơng đối nhau, khả phân biệt dẫn đến khó thu đƣợc độ phân giải 3.2.3 Đánh giá độ phân giải giá trị ngƣỡng thay đổi Quá trình thực nghiệm tiến hành chụp ảnh vạch thƣớc có giá trị độ chia 0,01 mm độ phóng đại 450x, 1000x, 1500x, 2000x, 3000x kính hiển vi kỹ thuật số VHX-100 với cƣờng độ sáng 500 lux Ảnh sau thu nhận đƣợc xử lý chƣơng trình phần mềm trình bày chƣơng phần phụ lục Khi tiến hành xử lý, ngƣỡng phân đƣợc thay đổi từ thấp đến cao Kết đạt đƣợc trình bày hình Hình 74và Hình 75 Nguyễn Ngọc Khánh 78 Khóa 2011B Luận văn thạc sĩ khoa học 0.500 0.450 Độ phân giải, μm 0.400 0.350 450x 0.300 1000x 0.250 1500x 0.200 2000x 0.150 2500x 0.100 3000x 0.050 0.000 90 100 110 120 130 140 150 160 170 180 190 200 210 Ngưỡng nhị phân (mức/256) Hình 74 - Đồ thị thực nghiệm ngƣỡng thay đổi dùng thuật tốn tìm vết 0.500 0.450 Độ phân giải, μm 0.400 0.350 450x 0.300 1000x 0.250 1500x 0.200 2000x 0.150 2500x 0.100 3000x 0.050 90 95 100 105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180 185 190 195 200 205 210 0.000 Ngưỡng nhị phân (mức/256) Hình 75 - Đồ thị thực nghiệm ngƣỡng thay đổi dùng thuật toán xử lý trực tiếp Nhận xét: từ hai đồ thị Hình 74 Hình 75 thấy ngƣỡng phân thay đổi theo chiều tăng dần giá trị độ phân giải thay đổi tƣơng ứng tăng dần Khi độ phóng đại tăng lên cƣờng độ sáng giảm dẫn đến dải ngƣỡng phân áp dụng để Nguyễn Ngọc Khánh 79 Khóa 2011B Luận văn thạc sĩ khoa học thu đƣợc độ phân giải giảm 3.2.4 Đánh giá kết thực nghiệm thƣớc có bề rộng vạch khác Q trình thực nghiệm tiến hành chụp ảnh vạch thƣớc có giá trị độ chia 0,01 mm 0,002 mm độ phóng đại 450x, 1000x, 1500x, 2000x, 3000x kính hiển vi kỹ thuật số VHX-100 0.45 0.4 Độ phân giải, µm 0.35 0.3 0.25 0.2 Vạch 0,01 mm 0.15 Vạch 0,002 mm 0.1 0.05 450x 1000x 1500x 2000x 2500x 3000x Độ phóng đại Hình 76 - Đồ thị thực nghiệm khoảng cách vạch thay đổi dùng thuật toán tìm vết 0.45 0.4 Độ phân giải, µm 0.35 0.3 0.25 0.2 Vạch 0,01 mm 0.15 Vạch 0,002 mm 0.1 0.05 450x 1000x 1500x 2000x 2500x 3000x Độ phóng đại Hình 77 - Đồ thị thực nghiệm khoảng cách vạch thay đổi dùng thuật toán xử lý trực tiếp Nguyễn Ngọc Khánh 80 Khóa 2011B Luận văn thạc sĩ khoa học Nhận xét: từ đồ thị Hình 76,Hình 77 nhận thấy độ phóng đại 1000X, 1500X, 2000X với giá trị vạch chia nhỏ 0,002 mm đạt đƣợc độ phân giải vạch thƣớc giá trị vạch chia 0,01 mm Tại độ phóng đại 450X giá trị vạch chia 0,002 mm nhỏ nên chịu ảnh hƣởng tƣợng tán xạ làm cho khả phân biệt vạch khắc khó khăn Tại độ phóng đại 2500X 3000X độ phân giải đạt đƣợc hai loại thƣớc khắc vạch nhƣ 3.2.5 Đánh giá độ xác Thực nghiệm đánh giá độ xác phƣơng pháp nâng cao độ phân giải xử lý ảnh tiến hành dùng đồ gá dịch chuyển Hình 69 để dịch chuyển thƣớc khắc vạch Khoảng dịch chuyển lần lƣớt µm, μm, µm, μm Thu nhận ảnh với độ phóng đại 450X Sử dụng chƣơng trình phần mềm theo thuật tốn pixel tính tốn khoảng dịch chuyển Khoảng dịch đo đƣợc đƣợc so sánh với giá trị thị đồng hồ so giá trị độ chia 0,001 mm ảng - Kết thực nghiệm với bƣớc dịch chuyển µm Khoảng dịch chuyển Khoảng dịch chuyển đo Sai số, chuẩn, m đƣợc, m m 1 1,7 0,7 2,0 1,0 0,2 - 0,8 1,6 0,6 0,9 - 0,1 1,6 0,6 1,2 0,2 0,8 - 0,2 1,2 0,2 10 1,4 0,4 STT Nhận xét: Kết thực nghiệm với bƣớc dịch chuyển μm cho sai số lớn nhƣ ảng Nguyên nhân cấu đồ gá dịch chuyển thô dẫn đến sai số lớn Nguyễn Ngọc Khánh 81 Khóa 2011B Luận văn thạc sĩ khoa học STT ảng - Kết thực nghiệm với bƣớc dịch chuyển µm Khoảng dịch chuyển Khoảng dịch chuyển đo Sai số, chuẩn, m đƣợc, m m 2,1 0,1 2 2,0 0,0 2,4 0,4 2,3 0,3 2,5 0,5 STT ảng - Kết thực nghiệm với bƣớc dịch chuyển µm Khoảng dịch chuyển Khoảng dịch chuyển đo Sai số, chuẩn, m đƣợc, m m 2,6 - 0,4 3,4 0,4 3 2,6 - 0,4 3,3 0,3 3,4 0,4 STT ảng - Kết thực nghiệm với bƣớc dịch chuyển µm Khoảng dịch chuyển Khoảng dịch chuyển đo Sai số, chuẩn, m đƣợc, m m 4,0 0,0 4,4 0,4 3,8 - 0,2 4 4,4 0,4 3,6 - 0,4 Nhận xét: Kết thu đƣợc đƣợc trình bày ảng 4, ảng ảng cho thấy sai số đạt đƣợc nhỏ giá trị độ phân giải 0,4 µm Kết chấp nhận đƣợc phƣơng tiện thực nghiệm có, cho thấy phƣơng pháp nâng cao độ phân giải có hiệu Nguyễn Ngọc Khánh 82 Khóa 2011B Luận văn thạc sĩ khoa học KẾT LUẬN VÀ KIẾN NGHỊ Sau trình học tập, nghiên cứu thử nghiệm thực tế với giúp đỡ tận tình giáo viên hƣớng dẫn TS Nguyễn Văn Vinh, đến luận văn hoàn thành với nội dung nghiên cứu cụ thể nhƣ sau: Về lý thuyết Nghiên cứu sở lý thuyết loại thƣớc khắc vạch thực tế Nghiên cứu sở lý thuyết phƣơng pháp nâng cao độ phân giải thƣớc khắc vạch, lựa chọn phƣơng pháp nâng cao độ phân giải xử lý ảnh Nghiên cứu lý thuyết xử lý ảnh Về thực nghiệm Sau thời gian nghiên cứu sở lý thuyết tiến hành thực nghiệm đề tài giải đƣợc nhiệm vụ luận văn: Xây dựng đƣợc thuật toán xử lý ảnh để nâng cao độ phân giải thƣớc khắc vạch nhƣ thuật tốn tìm vết, thuật tốn xử lý trực tiếp, thuật tốn pixel Xây dựng đƣợc chƣơng trình phần mềm xử lý áp dụng thuật toán Tiến hành thực nghiệm đánh giá đƣợc số yếu tố ảnh hƣởng đến phƣơng pháp nâng cao độ phân giải xử lý ảnh, đánh giá độ xác phƣơng pháp xử lý ảnh Hƣớng phát triển Để đáp ứng đƣợc yêu cầu cụ thể tốn, tiếp tục nghiên cứu để hồn thiện phƣơng pháp nâng cao độ phân giải thƣớc đo quang học Các kết đạt đƣợc dùng làm sở ban đầu cho khả sâu vào nghiên cứu tính tốn, thiết kế thiết bị đo sử dụng xử lý ảnh, đặc biệt phƣơng pháp để nâng cao độ phân giải thƣớc khắc vạch quang học Sản phẩm luận văn thuật toán xử lý nâng cao độ phân giải xử lý ảnh, chƣơng trình phần mềm xử lý xây dựng phần mềm matlab Luận văn tổng hợp kiến thức nhiều lĩnh vực nhƣ khí, kỹ thuật điện tử, cơng nghệ thơng tin, kết thực nghiệm sở thiết bị có khơng thể Nguyễn Ngọc Khánh 83 Khóa 2011B Luận văn thạc sĩ khoa học tránh khỏi sai sót Rất mong đƣợc ý kiến đóng góp quý báu thày giáo đồng nghiệp để đề tài hồn thiện Cuối cho phép tơi đƣợc chân thành cảm ơn TS Nguyễn Văn Vinh tận tình hƣớng dẫn tơi q trình làm luận văn Cảm ơn thầy cô giáo Viện Cơ khí - Trƣờng đại học BKHN mơn Cơ khí xác Quang học, cộng tác viên phịng Thí nghiệm Quang Cơ Điện tử mơn Cơ khí xác Quang học nhiệt tình giúp đỡ tơi hồn thành nội dung luận văn Nguyễn Ngọc Khánh 84 Khóa 2011B Luận văn thạc sĩ khoa học TÀI LIỆU THAM KHẢO Lê Hoàng Hải Quang sai hệ thống quang học Hà Nội : Học viện Kỹ thuật Quân sự, 2010 Hyungsuck Cho Fusion of Optical and Mechatronic Engineering United States of America : Taylor & Francis Group, 2006 Hồng Cơng Minh Giáo trình cảm biến cơng nghiệp Đà Nẵng : Đại học Bách Khoa Đà Năng, 2004 Adam Hilger Abberations of Optical Systems Bristol, Philadelphia and New York : W T Welford FRS, Imperial College of Science and Technology, University of London, 1986 John G.Webster Measurement, Instrumentation, and Sensors Handbook CRCnetBase 1999 s.l : CRC Press, 1999 Dr Johanes Heidenhain Linear Encoders for Numerically Controlled Machine Tools Germany : Heidenhain, August 2012 Nguyễn Thị Xuân Bảy, Nguyễn Tiến Thọ, Nguyễn Thị Cẩm Tú Cơ sở kỹ thuật đo lường chế tạo Cơ khí Hà Nội : Nhà xuất Khoa học kỹ thuật, 2005 Nguyễn Ngọc Khánh 85 Khóa 2011B Luận văn thạc sĩ khoa học PHẦN PHỤ LỤC Chƣơng trình phần mềm dùng thuật tốn tìm vết % -function chonvung_Callback(hObject, eventdata, handles) % hObject handle to chonvung (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global pic1 pic1 = imcrop(handles.axes1); p=0; k=0; v=0; axes(handles.axes2); cla(handles.axes2); axis equal; axis on; [p k v] = size(pic1); %Kích thư?c c?a ?nh c?t imshow(pic1) % -function mucnhiphan_Callback(hObject, eventdata, handles) % hObject handle to mucnhiphan (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global bw I1 I pic1 m n I = pic1; m = 0; n = 0; I1=ycbcr2rgb(I); set(handles.txtDPG,'string',145); bw=rgb2nhiphan(I1,100/255); [m n] = size(bw) %Kích thư?c c?a bw axes(handles.axes2); cla(handles.axes2); axis equal; axis on; imshow(bw); % -function xuly_Callback(hObject, eventdata, handles) % hObject handle to xuly (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global bw line1 p1; d1=[]; d2=[]; DoPG=[]; h=0; k=0; tb=0; [b,l,n1]=bwboundaries(bw);% Tim vet cua bien anh vs n la so vet , b la mang chua cac toa bien anh for j=1:1:n1 c=b{j,:}; % lay ma tran c la ma tran thu j mang b ( nghia la c la ma tran toa cua vet thu j) d=size(c); % d la kich thuoc cua ma tran c if(d(1)>50) h=h+1; Nguyễn Ngọc Khánh 86 Khóa 2011B Luận văn thạc sĩ khoa học k=max(c(:,2))-min(c(:,2)); % k= gia tri trung binh cua cot of ma tran c - gia tri be nhat cua cot d1=cat(1,d1,k); % noi gia tri 2*k vao ma tran d1 d2=cat(1,d2,max(c(:,2))); % noi gia tri trung binh cua cot of ma tran c vao ma tran d2 end end [m,n]=size(d1); for i=2:1:(m-1) DoPG=cat(1,DoPG,d1(i,1)); tb=tb+d1(i,1); end DPG=0.01/(tb/(m-2)); DPG1=num2str(DPG); DPG2{2}=strcat(DPG1,' mm'); set(handles.txtDPG,'String',DPG2); set(handles.tblKQ,'data',DoPG); % -function open_Callback(hObject, eventdata, handles) % hObject handle to open (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global I FileName PathName path path=cd; [FileName,PathName] = uigetfile({'*.jpg;*.tif;*.png;*.gif;*.bmp','All Image Files'}); cd(PathName); I=imread(FileName); cd(path); axes(handles.axes1); cla(handles.axes1); axis equal; axis on; imshow(I); % - Executes on slider movement function slider1_Callback(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine range of slider global I1 bw I pic1 value=100; value=get(handles.slider1,'value'); htNPhan=num2str(value); htNPhan =strcat('( ',htNPhan,' )'); set(handles.txtNhiPhan,'string',htNPhan); I = pic1; % pic1 bi?n toàn c?c nên g?i gán l?i đư?c (ph?i khai báo) I1=ycbcr2rgb(I); bw=rgb2nhiphan(I1,value/255); axes(handles.axes2); cla(handles.axes2); axis equal; axis on; imshow(bw); Nguyễn Ngọc Khánh 87 Khóa 2011B Luận văn thạc sĩ khoa học Chƣơng trình phần mềm dùng thuật tốn xử lý trực tiếp % -function chonvung_Callback(hObject, eventdata, handles) % hObject handle to chonvung (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global pic1 pic1 = imcrop(handles.axes1); p=0; k=0; v=0; axes(handles.axes2); cla(handles.axes2); axis equal; axis on; [p k v] = size(pic1); %Kích thư?c c?a ?nh c?t imshow(pic1) % -function mucnhiphan_Callback(hObject, eventdata, handles) % hObject handle to mucnhiphan (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global bw I1 I pic1 m n I = pic1; m = 0; n = 0; I1=ycbcr2rgb(I); set(handles.txtDPG,'string',100); bw=rgb2nhiphan(I1,100/255); [m n] = size(bw) %Kích thư?c c?a bw axes(handles.axes2); cla(handles.axes2); axis equal; axis on; imshow(bw); % -function xuly_Callback(hObject, eventdata, handles) % hObject handle to xuly (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global bw p1; ktrang=[]; kden=[]; DoPG=[]; DoPGT=[]; data=[]; u=0; v=0; tbt=0; tbd=0; w = bw(p1(2),:,1); t = length(bw(p1(2),:,1))-1; for i=1:1:t if (bw(p1(2),i)==0) if (bw(p1(2),i)== bw(p1(2),i+1)) u=u+1; else Nguyễn Ngọc Khánh 88 Khóa 2011B Luận văn thạc sĩ khoa học kden=cat(1,kden,u+1); % noi gia tri khoang trang u=0; end else if(bw(p1(2),i)== bw(p1(2),i+1)) v=v+1; else ktrang=cat(1,ktrang,v+1); % noi gia tri khoang trang v=0; end end end if (bw(p1(2),t)==0) % Cong phan cuoi vao ma tran kden=cat(1,kden,u+1); else ktrang=cat(1,ktrang,v+1); end [m,n]=size(kden); for i=2:1:(m-1) DoPG=cat(1,DoPG,kden(i,1)); tbd=tbd+kden(i,1); end DPG=0.01/(tbd/(m-2)); DPG1=num2str(DPG); DPG2{2}=strcat('Độ phân giải đen:',DPG1,' mm'); [mp,nk]=size(ktrang); for i=2:1:(mp-1) DoPGT=cat(1,DoPGT,ktrang(i,1)); tbt=tbt+ktrang(i,1); end DPGT=0.01/(tbt/(mp-2)); DPGT1=num2str(DPGT); DPG2{3}=strcat('Độ phân giải trắng:',DPGT1,' mm'); set(handles.txtDPG,'String',DPG2); set(handles.tblKQ,'data',DoPGT); set(handles.tblKQden,'data',DoPG); % -function open_Callback(hObject, eventdata, handles) % hObject handle to open (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global I FileName PathName path path=cd; [FileName,PathName] = uigetfile({'*.jpg;*.tif;*.png;*.gif;*.bmp','All Image Files'}); cd(PathName); I=imread(FileName); cd(path); axes(handles.axes1); cla(handles.axes1); axis equal; axis on; imshow(I); % - Executes on slider movement function slider1_Callback(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider Nguyễn Ngọc Khánh 89 Khóa 2011B Luận văn thạc sĩ khoa học % get(hObject,'Min') and get(hObject,'Max') to determine range of slider global I1 bw I pic1 value=100; value=get(handles.slider1,'value'); htNPhan=num2str(value); htNPhan =strcat('( ',htNPhan,' )'); set(handles.txtNhiPhan,'string',htNPhan); I = pic1; % pic1 bi?n toàn c?c nên g?i gán l?i đư?c (ph?i khai báo) I1=ycbcr2rgb(I); bw=rgb2nhiphan(I1,value/255); axes(handles.axes2); cla(handles.axes2); axis equal; axis on; imshow(bw); % -function ChonDuong_Callback(hObject, eventdata, handles) % hObject handle to ChonDuong (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global bw line1 p1; p1=impoint(gca,[]);% Chon diem ve duong nam ngang p1=wait(p1); p1=round(p1); line1=1:1:length(bw(1,:,1)); li1=p1(2)*ones(1,length(bw(1,:,1))); hold on; axes(handles.axes2); plot(line1,li1,'.r'); Chƣơng trình phần mềm dùng thuật toán pixel % - Executes on slider movement function slider1_Callback(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine range of slider global I1 bw I m n value=get(handles.slider1,'value'); set(handles.text3,'string',value); I1=ycbcr2rgb(I); bw=rgb2nhiphan(I1,value/255); [m n]=size(bw) axes(handles.axes1); cla(handles.axes1); axis equal; axis on; imshow(bw); % -function chonduong_Callback(hObject, eventdata, handles) % hObject handle to chonduong (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Nguyễn Ngọc Khánh 90 Khóa 2011B Luận văn thạc sĩ khoa học global bw line1 p1 m n; p1=[m/2 n/2] p1=round(p1); line1=1:1:length(bw(1,:,1)); li1=p1(2)*ones(1,length(bw(1,:,1))); hold on; axes(handles.axes1); plot(line1,li1,'.r'); % -function xuly_Callback(hObject, eventdata, handles) % hObject handle to xuly (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global bw p1; ktrai=0; kphai=0; u=0; v=0; w = bw(p1(2),:,1); t = length(bw(p1(2),:,1)); for i=t/2:-1:1 if (bw(p1(2),i)==0) if (bw(p1(2),i)== bw(p1(2),i-1)) u=u+1; else ktrai=u+1; % kich thuoc trai break end else if(bw(p1(2),i)== bw(p1(2),i-1)) v=v+1; else ktrai=v+1; % kich thuoc trai break end end end u=0; v=0; for i=t/2:1:t-1 if (bw(p1(2),i)==0) if (bw(p1(2),i)== bw(p1(2),i+1)) u=u+1; else kphai=u+1; % kich thuoc phai break end else if(bw(p1(2),i)== bw(p1(2),i+1)) v=v+1; else kphai=v+1; % kich thuoc phai break end end end ktrai=num2str(ktrai); kphai=num2str(kphai); set(handles.KCT,'string',ktrai); set(handles.KCP,'string',kphai); Nguyễn Ngọc Khánh 91 Khóa 2011B Luận văn thạc sĩ khoa học % -function open_Callback(hObject, eventdata, handles) % hObject handle to open (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global I FileName PathName path path=cd; [FileName,PathName] = uigetfile({'*.jpg;*.tif;*.png;*.gif;*.bmp','All Image Files'}); cd(PathName); I=imread(FileName); cd(path); axes(handles.axes1); cla(handles.axes1); axis equal; axis on; imshow(I); Nguyễn Ngọc Khánh 92 Khóa 2011B ... dụng phƣơng pháp xử lý ảnh Đề tài ? ?Nghiên cứu nâng cao độ phân giải thước đo quang học? ?? đề tài có khả thực cấp thiết Hƣớng nghiên cứu nâng cao độ phân giải thƣớc khắc vạch sử dụng phƣơng pháp xử... cho nghiên cứu thiết bị đo ứng dụng phƣơng pháp nâng cao độ phân giải xử lý ảnh Phƣơng pháp nghiên cứu Nghiên cứu lý thuyết kết hợp nghiên cứu thực nghiệm Đối tƣợng nghiên cứu phạm vi nghiên cứu. .. ảnh Nội dung nghiên cứu Nội dung nghiên cứu đề tài tập trung vào phần sau: - Phƣơng pháp nâng cao độ phân giải loại thƣớc khắc vạch - Nghiên cứu, lựa chọn phƣơng pháp nâng cao độ phân giải thƣớc