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

Ứng dụng xử lý ảnh trong nhận dạng và phân loại chất lượng bóng đèn,luận văn thạc sỹ kỹ thuật điện tử

123 4 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 123
Dung lượng 1,62 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI NGÔ THANH TUẤN ỨNG DỤNG XỬ LÝ ẢNH TRONG NHẬN DẠNG VÀ PHÂN LOẠI CHẤT LƯỢNG BÓNG ĐÈN LUẬN VĂN THẠC SĨ KỸ THUẬT TP HỒ CHÍ MINH, NĂM 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI NGÔ THANH TUẤN ỨNG DỤNG XỬ LÝ ẢNH TRONG NHẬN DẠNG VÀ PHÂN LOẠI CHẤT LƯỢNG BÓNG ĐÈN Chuyên ngành: Kỹ thuật điện tử Mã số: 60.52.70 LUẬN VĂN THẠC SĨ KỸ THUẬT GIẢNG VIÊN HƯỚNG DẪN: TS TRỊNH QUANG KHẢI TP HỒ CHÍ MINH, NĂM 2013 I TRÍCH YẾU LUẬN VĂN CAO HỌC Họ tên học viên: Ngô Thanh Tuấn Năm sinh: 1981 Cơ quan công tác: Trường Đại học Giao thơng vận tải TP Hồ Chí Minh Khóa: 19 Chuyên ngành: Kỹ thuật điện tử Mã số: 60.52.70 Cán hướng dẫn: TS Trịnh Quang Khải Bộ môn: Kỹ thuật viễn thông Tên đề tài luận văn: Ứng dụng xử lý ảnh nhận dạng phân loại chất lượng bóng đèn Mục đích nghiên cứu đề tài: Nhằm nâng cao hiệu sản xuất, đại hóa quy trình phân loại chất lượng bóng đèn Phương pháp nghiên cứu kết đạt được: Nghiên cứu lý thuyết liên quan, thu thập số liệu, viết chương trình nhận dạng phân loại chất lượng bóng đèn Kết nhận dạng phân loại chất lượng bóng đèn: nhận dạng phân loại sản phẩm: bóng đèn tốt, bóng đèn bị lỗi gãy pin trái, phải, gãy pin, không cắt dây đồng với xác suất gần 100% Điểm bình qn mơn học: 6.89 Điểm bảo vệ luận văn: Ngày 07 tháng 05 năm 2013 Học viên Xác nhận cán hướng dẫn: Ngô Thanh Tuấn Xác nhận Bộ mơn: II LỜI NĨI ĐẦU Ngày công nghiệp sản xuất việc ứng dụng công nghệ thông tin để phân loại chất lượng sản phẩm mà cụ thể ứng dụng xử lý ảnh vào lĩnh vực sản xuất công nghiệp làm cho tăng suất, giảm chi phí quản lý, nâng cao chất lượng sản phẩm giảm giá thành sản phẩm yêu cầu thiết yếu thương hiệu Cơng ty cổ phần bóng đèn Điện Quang có dây chuyền sản xuất, dây chuyền sản xuất khoảng triệu bóng đèn/năm, chất lượng bóng đèn thương hiệu Điện Quang ngày nâng cao, sản phẩm tiêu thụ rộng rãi nước mà vươn giới, cạnh tranh với thương hiệu tiếng Philips, Toshiba, Megaman, GE, OSRAM Trong trình sản xuất máy móc tương đối đại nhiên khơng thể tránh khỏi tình trạng sản phẩm bị lỗi như: gãy chân (pin), không cắt dây đồng,… tỉ lệ sản phẩm lỗi ước tính khoảng 0.025% Với mục đích nâng cao hiệu sản xuất, đại hóa quy trình phân loại sản phẩm, đề tài: “Ứng dụng xử lý ảnh nhận dạng phân loại chất lượng bóng đèn” em chọn làm luận văn với mong muốn mang lại sản phẩm khoa học có tính ứng dụng thực tế cao III MỤC LỤC Trang TỜ BÌA TRÍCH YẾU LUẬN VĂN CAO HỌC I LỜI NÓI ĐẦU II MỤC LỤC III DANH MỤC CÁC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT .IX DANH MỤC CÁC HÌNH VẼ X Chương - TỔNG QUAN VỀ QUY TRÌNH SẢN XUẤT BĨNG ĐÈN .1 1.1 Các loại kích thước đèn huỳnh quang 1.1.1 Phân loại theo chiều dài ống đèn 1.1.2 Phân loại theo đường kính ống đèn .1 1.2 Quy trình sản xuất đèn huỳnh quang 1.3 Thu thập liệu 1.4 Kết luận chương Chương - CƠ SỞ LÝ THUYẾT XỬ LÝ ẢNH 2.1 Khái niệm xử lý ảnh 2.1.1 Thu nhận ảnh 2.1.2 Tiền xử lý 2.1.3 Phân đoạn ảnh .9 2.1.4 Biểu diễn ảnh 2.1.5 Nhận dạng nội suy ảnh 10 2.1.6 Cơ sở tri thức 11 2.1.7 Biểu diễn ảnh 11 2.1.7.1 Biểu diễn mã chạy .11 2.1.7.2 Biểu diễn mã xích 12 2.1.7.3 Biểu diễn mã tứ phân 12 2.2 Những vấn đề xử lý ảnh 12 2.2.1 Điểm ảnh 12 IV 2.2.2 Độ phân giải ảnh 13 2.2.3 Mức xám ảnh 13 2.2.4 Ảnh số 13 2.2.5 Quan hệ điểm ảnh 14 2.2.5.1 Các lân cận điểm ảnh 14 2.2.5.2 Các mối liên kết điểm ảnh 14 2.2.5.3 Đo khoảng cách điểm ảnh .15 2.2.6 Các thành phần hệ thống xử lý ảnh 15 2.2.7 Biến đổi ảnh 16 2.2.8 Hệ tọa độ màu .16 2.2.8.1 Khái niệm 16 2.2.8.2 Biến đổi hệ tọa độ màu 17 2.2.9 Lấy mẫu lượng tử hóa 18 2.2.9.1 Giới thiệu 18 2.2.9.2 Lấy mẫu 18 2.2.9.3 Lượng tử hóa 19 2.2.10 Các định dạng ảnh 20 2.2.10.1 Khái niệm chung 20 2.2.10.2 Quy trình đọc tệp ảnh 21 2.2.10.3 Ảnh đen trắng ảnh màu 21 2.2.11 Nâng cao chất lượng ảnh 22 2.2.11.1 Khái niệm toán tử điểm 23 2.2.11.2 Tăng độ tương phản 23 2.2.11.3 Tách nhiễu phân ngưỡng .24 2.2.12 Phân vùng ảnh 25 2.2.12.1 Phân vùng ảnh theo ngưỡng biên độ 25 2.2.12.2 Phân vùng ảnh dựa theo miền đồng 26 2.2.12.3 Phân vùng ảnh dựa theo kết cấu bề mặt 28 V 2.3 Nhận dạng ảnh 31 2.3.1 Khái niệm nhận dạng 31 2.3.2 Không gian biểu diễn đối tượng, không gian diễn dịch .32 2.3.2.1 Không gian biểu diễn đối tượng 32 2.3.2.2 Không gian diễn dịch 32 2.3.3 Mơ hình chất q trình nhận dạng 33 2.3.3.1 Mơ hình 33 2.3.3.2 Bản chất 34 2.3.4 Nhận dạng dựa theo miền không gian 35 2.3.4.1 Phân hoạch không gian 35 2.3.4.2 Hàm phân lớp hay hàm định 35 2.3.4.3 Nhận dạng theo phương pháp thống kê .36 2.3.5 Nhận dạng dựa theo cấu trúc 37 2.3.5.1 Biểu diễn định tính .37 2.3.5.2 Các bước nhận dạng 38 2.3.6 Nhận dạng dựa theo mạng nơ ron 39 2.3.6.1 Cấu trúc nơron sinh học .39 2.3.6.2 Cấu trúc nơron nhân tạo .40 2.3.6.3 Mạng nơ ron nhân tạo luật học 42 2.3.6.4 Một số cấu trúc, luật học mạng nơ ron điển hình 44 2.3.7 Khả ứng dụng mạng nơ ron để nhận dạng ảnh 48 2.4 Kết luận chương .49 Chương - MATLAB VÀ ỨNG DỤNG TRONG VẤN ĐỀ XỬ LÝ ẢNH 50 3.1 Giới thiệu 50 3.2 Matlab xử lý ảnh 50 3.2.1 Các khái niệm ảnh Matlab 50 3.2.1.1 Điểm ảnh 51 VI 3.2.1.2 Mức xám ảnh 51 3.2.1.3 Độ phân giải ảnh 51 3.2.2 Các cách phân loại ảnh 51 3.2.3 Lược đồ ảnh 52 3.3 Các hàm xử lý ảnh Matlab .52 3.3.1 Đọc ghi liệu ảnh 52 3.3.1.1 Đọc ảnh đồ hoạ .52 3.3.1.2 Đọc nhiều ảnh từ file đồ họa .53 3.3.1.3 Ghi ảnh đồ hoạ 53 3.3.1.4 Chỉ định dạng phụ - Tham số đặc biệt .53 3.3.1.5 Đọc ghi ảnh nhị phân theo định dạng bit 54 3.3.1.6 Xem lớp lưu trữ file .54 3.3.1.7 Truy vấn tệp đồ hoạ 54 3.3.2 Hiển thị ảnh 55 3.3.2.1 Dùng hàm imview 55 3.3.2.2 Xem nhiều ảnh 55 3.3.2.3 Dùng hàm imshow .56 3.3.3 Các hàm chuyển đổi kiểu ảnh .56 3.3.4 Chuyển đổi định dạng file ảnh .58 3.3.5 Số học ảnh 58 3.3.5.1 Luật cắt bỏ số học ảnh 59 3.3.5.2 Lời gọi lồng tới hàm số học ảnh 59 3.3.6 Biến đổi không gian ảnh 60 3.3.6.1 Thuật ngữ .60 3.3.6.2 Nội suy 60 3.3.7 Thay đổi kích thước ảnh .62 3.3.7.1 Chỉ kích thước cho ảnh kết .62 3.3.7.2 Chỉ định phương pháp nội suy sử dụng 62 VII 3.3.7.3 Sử dụng lọc để ngăn chặn tượng cưa 63 3.3.8 Xén ảnh 63 3.3.9 Xử lý ảnh mờ 65 3.3.9.1 Nguyên nhân mờ ảnh 65 3.3.9.2 Các chế độ chống mờ ảnh 65 3.3.9.3 Sử dụng hàm khôi phục ảnh mờ 66 3.3.9.4 Khử mờ với lọc Wiener 66 3.3.9.5 Khử mờ với lọc quy tắc hoá 67 3.3.9.6 Khử mờ với giải thuật Lucy- Richardson 67 3.3.9.7 Tính khơng đồng chất lượng ảnh 68 3.3.9.8 Điều khiển camera đọc hết nhiễu .68 3.3.9.9 Sử dụng giải thuật trộn Deconvolution 68 3.3.9.10 Khử mờ ảnh tạo ước lượng ban đầu .69 3.3.9.11 Tạo mảng Weight 69 3.4 Một số yếu tố ảnh hưởng trình xử lý ảnh .69 3.5 Kết luận chương .70 Chương – XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG VÀ PHÂN LOẠI CHẤT LƯỢNG BÓNG ĐÈN 71 4.1 Kỹ thuật nhận dạng bóng đèn .71 4.1.1 Thiết bị chụp ảnh 71 4.1.2 Cách lấy ảnh 72 4.2 Tiền xử lý 73 4.2.1 Trích chọn đặc trưng 74 4.2.2 Đưa ảnh vừa xử lý vào chương trình nhận dạng 76 4.2.3 Thông báo kết nhận dạng .78 4.2.4 Lưu nhận dạng 79 4.3 Chương trình nhận dạng phân loại chất lượng bóng đèn .80 4.3.1 Giao diện chương trình .81 VIII 4.3.2 Các hình làm việc chương trình 83 4.3.2.1 Chọn ảnh để nhận dạng 83 4.3.2.2 Ảnh chờ nhận dạng 84 4.3.2.3 Kết nhận dạng 85 4.3.2.4 Lưu kết nhận dạng .89 Kết luận chương .90 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 91 PHỤ LỤC .92 LỜI CÁM ƠN 109 TÀI LIỆU THAM KHẢO 110 96 function time_Callback(hObject, eventdata, handles) % hObject handle to time (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,'String') returns contents of time as text % str2double(get(hObject,'String')) returns contents of time as a double % - Executes during object creation, after setting all properties function time_CreateFcn(hObject, eventdata, handles) % hObject handle to time (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in after function after_Callback(hObject, eventdata, handles) % hObject handle to after (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of after global status; global var; set(handles.com,'value',0); set(handles.auto,'value',0); set(handles.time,'enable','on'); set(handles.run_button,'enable','on'); status=1; set(hObject,'value',1); % - Executes on button press in com function com_Callback(hObject, eventdata, handles) % hObject handle to com (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of com 97 set(handles.after,'value',0); set(handles.auto,'value',0); set(handles.time,'enable','off'); global status; status=2; set(handles.run_button,'enable','on'); set(hObject,'Value',1); COM('maingui',handles.figure1); % - Executes on button press in auto function auto_Callback(hObject, eventdata, handles) % hObject handle to auto (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of auto set(handles.com,'value',0); set(handles.after,'value',0); set(handles.time,'enable','off'); global status; status=3; set(handles.run_button,'enable','on'); set(hObject,'Value',1); % - Executes on button press in run_button function run_button_Callback(hObject, eventdata, handles) % hObject handle to run_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global status; global var; if strcmp('Run',get(hObject,'string')) set(hObject,'string','Stop'); switch status case start(var.timer1); case case end else set(hObject,'string','Run'); stop(var.timer1); 98 set(handles.count_time,'string','0'); end % - Executes on button press in select_image_button function select_image_button_Callback(hObject, eventdata, handles) % hObject handle to select_image_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global rgb; set(gcf,'CurrentAxes',handles.axes1); oldFolder=cd; [fName dirName] = uigetfile('*.jpg'); cd(dirName); rgb=imread(fName); imshow(rgb); cd(oldFolder); set(gcf,'Currentaxes',handles.axes2); imshow(ones(101,161)); set(gcf,'Currentaxes',handles.axes3); imshow(ones(101,161)); set(handles.out_str,'String','waiting'); % - Executes on button press in analysic_button function analysic_button_Callback(hObject, eventdata, handles) % hObject handle to analysic_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global rgb; global net; global var; rgb=i_imselect(rgb,800); set(gcf,'CurrentAxes',handles.axes2); imshow(rgb); gray=rgb2gray(rgb); %gray=imadjust(gray); [row col]=size(gray); y=i_cut(gray,400); gray=imcrop(gray,[1 y col row-y ]); bw=im2bw(gray); se=strel('rectangle',[8 3]); bw=imclose(bw,se); bw=imclearborder(bw); 99 bw=IResize(bw,[80 50]); bw=imresize(bw,[101 161]); se90 = strel('line', 3, 90); se0 = strel('line', 3, 0); bw=imdilate(bw,[se90 se0]); set(gcf,'CurrentAxes',handles.axes3); imshow(bw); [hang, cot]=size(bw); im=bw2mat(bw,hang,cot); d=round(net(im)); if d==1; set(handles.out_str,'ForegroundColor',[0 1]); set(handles.out_str,'String','Sản phẩm đạt chất lượng'); s='Sản phẩm đạt chất lượng'; var.good=var.good+1; else set(handles.out_str,'ForegroundColor',[1 0]); set(handles.out_str,'String','Sản phẩm lỗi'); s='Sản phẩm lỗi'; var.bad=var.bad+1; sound(var.audio); end a=clock; var.amount=var.amount+1; var.datas{var.amount,1}=s; var.datas{var.amount,2}=sprintf('%d/%d/%d',a(3),a(2),a(1)); var.datas{var.amount,3}=sprintf('%d:%d:%d',a(4),a(5),round(a(6))); var.datas{2,4}=var.good; var.datas{2,5}=var.bad; set(handles.table,'Data',var.datas); function out = i_imselect( rgb,num ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here % rgb: anh mau % x: gia tri gioi han % y: anh mau sau cat y=[0,0]; gray=rgb2gray(rgb); [row,col]=size(gray); tem1=zeros(1,col); for i=1:col 100 tem1(i)=sum(gray(:,i)); end tem2=diff(tem1); len=length(tem2); status=0; count=1; count2=0; while status=1000; status=1; count=1; end if count+7=num) status=1; else count=count+8; end else status=1; end end y(1)=count; status=0; count=len; count2=0; while status=1000; status=1; count=len; end if count-7>1 ma=max(tem2(count:-1:count-7)); mi=min(tem2(count:-1:count-7)); if (abs(ma-mi)>=num) status=1; else count=count-8; 101 end else staus=1; end end y(2)=count; le=abs(y(2)-y(1)); if le round(a/2) len=round(a/2); else 107 len=sizes(1); end if sizes(2)>round(b/2) hig=round(b/2); else hig=sizes(2); end out=imcrop(image,[xmean-len ymean-hig 2*len 2*hig]); function pic_num_Callback(hObject, eventdata, handles) % hObject handle to pic_num (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,'String') returns contents of pic_num as text % str2double(get(hObject,'String')) returns contents of pic_num as a double % - Executes during object creation, after setting all properties function pic_num_CreateFcn(hObject, eventdata, handles) % hObject handle to pic_num (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in auto_radio function auto_radio_Callback(hObject, eventdata, handles) % hObject handle to auto_radio (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of auto_radio if get(hObject,'value') set(handles.pic_num,'enable','on'); else set(handles.pic_num,'enable','off'); end % - Executes on button press in pushbutton11 function pushbutton11_Callback(hObject, eventdata, handles) 108 % hObject handle to pushbutton11 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) winopen('huongdan.doc') % - Executes on button press in pushbutton12 function pushbutton12_Callback(hObject, eventdata, handles) % hObject handle to pushbutton12 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) quit 109 LỜI CÁM ƠN Trước tiên em xin gởi lời cảm ơn chân thành đến quý thầy, cô trường Đại học Giao thông vận tải tận tình truyền đạt kiến thức cho em năm em học tập trường Em xin gởi lời cảm ơn chân thành đến TS Trịnh Quang Khải, thầy nhiệt tình hướng dẫn cho em hồn thành luận văn Xin bày tỏ lòng biết ơn đến Ban Giám đốc cơng ty Cổ phần bóng đèn Điện Quang tạo điều kiện cho em hoàn thành luận văn TP HỒ CHÍ MINH Ngơ Thanh Tuấn 110 TÀI LIỆU THAM KHẢO TIẾNG VIỆT ThS Võ Đức Khánh (2008), Giáo trình xử lý ảnh, NXB Đại học Quốc gia TP Hồ Chí Minh Lương Bá Mạnh (1999), Nguyễn Thanh Thủy, Nhập môn xử lý ảnh, NXB Khoa học Kỹ thuật Nguyễn Văn Ngọ (2001), Xử lý ảnh, NXB Đại học Quốc gia Tp Hồ Chí Minh TS Hồ Văn Sung (2009), Xử lý ảnh số Lý thuyết thực hành với Matlab, NXB Khoa học kỹ thuật Ngô Diên Tập (1997), Xỷ lý ảnh máy tính , NXB Khoa học kỹ thuật Nguyễn Đức Thành (2004), Matlab ứng dụng điều khiển, NXB Đại học Quốc gia Tp Hồ Chí Minh TIẾNG ANH Alasdair McAndrew (2004), An introduction to Digital Image Processing with Matlab, School of Computer Science and Mathematics Victoria University of Technology Rafael C.Gonzales, Richard E.Wood, Steven L.Eddins (1993), Digital image processing using Matlab

Ngày đăng: 31/05/2023, 10:42

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

TÀI LIỆU LIÊN QUAN