Thiết kế và chế tạo mô hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh

86 17 0
Thiết kế và chế tạo mô hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh

Đ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

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO MƠ HÌNH HỆ THỐNG PHÂN LOẠI SẢN PHẨM LỖI ỨNG DỤNG CÔNG NGHỆ XỬ LÝ ẢNH Người hướng dẫn: Sinh viên thực hiện: Số thẻ sinh viên : Lớp: TS VÕ NHƯ THÀNH ĐỒN NGỌC HỐN NGUYỄN CHÍ THÀNH 101130162 101130179 13CDT1 Đà Nẵng, 2018 TĨM TẮT ĐỒ ÁN Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh Sinh viên thực : Đồn Ngọc Hốn Nguyễn Chí Thành Lớp MSSV 101130162 101130179 : 13CDT1 Giảng viên hướng dẫn: TS.Võ Như Thành Nội dung đề tài: Đề tài thiết kế chế tạo mơ hình hệ thống kiểm tra đóng gói sản phẩm bánh ứng dụng công nghệ xử lý ảnh Hệ thống gồm camera đặt cố định hướng từ xuống, song song với dây chuyền chạy liên tục để đảm bảo quan sát bề mặt sản phẩm Sản phẩm đưa vào dây chuyền , cảm biến nhận camera thực trình thu xử lý ảnh Sau giai đoạn xử lý ảnh, sản phẩm tiếp tục di chuyển băng tải đến vị trí cố định phát cảm biến, cánh tay Robot loại bỏ bánh có lỗi từ tín hiệu xử lý ảnh trước vào thùng Cịn lại, sản phẩm đạt yêu cầu di chuyển đến thùng chứa dây chuyển thứ hai, trước có cảm biến đếm số lượng bánh vào thùng, đủ số lượng đóng gói thùng vận chuyển Quy trình lặp lại liên tục LỜI NĨI ĐẦU Trong năm gần đây, cơng nghệ xử lý hình ảnh nghiên cứu, áp dụng thực tiễn ngày rộng rãi Xử lý ảnh bước tiến lớn mặt công nghệ, ứng dụng nhiều lĩnh vực khác như: công nghiệp sản xuất đóng gói, chế tạo robot dị đường, xử lý ảnh y tế, ứng dụng nhận diện khuôn mặt, vân tay thực tế đem lại nhiều lợi ích to lớn cải tiến tối ưu hoá lĩnh vực Và xu hướng tất yếu, ứng dụng xử lý ảnh vào đời sống chất lượng sống cải thiện, sản xuất công nghiệp nâng cao suất giảm lao động chân tay, Sau trình học tập trường, bảo hướng dẫn tận tình thầy khoa Cơ khí – Trường Đại Học Bách Khoa Đà Nẵng, chúng tơi tích luỹ kiến thức quý báu Được đồng ý nhà trường thầy cô giáo khoa, mạnh dạn chọn đề tài “Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh” để làm đồ án tốt nghiệp cho Để hồn thành đồ án tốt nghiệp nỗ lực thân suốt thời gian học tập nghiên cứu Việc hoàn thành tốt đồ án nhờ nhiệt huyết tận tình hướng dẫn thầy TS.Võ Như Thành Thầy chúng tơi qua tháng ngày khó khăn, niềm động lực lớn Chúng xin cảm ơn đến người bạn không ngại chia sẻ kiến thức, tài liệu làm đề tài để giúp nhóm chúng tơi hồn thành tốt đồ án i CAM ĐOAN Trong trình thực đề tài, nhóm tác giả nỗ lực hết sức, nhiên không tránh khỏi thiếu sót nội dung trình bày báo cáo hiểu biết, tìm hiểu chúng tơi suốt trình nghiên cứu hướng dẫn nhiệt tình thầy TS.Võ Như Thành Chúng tơi xin cam đoan rằng: nội dung trình bày báo cáo đồ án tốt nghiệp chép từ cơng trình nghiên cứu trước Mọi số liệu, tính tốn, thiết kế thực Các tài liệu tham khảo trích dẫn rõ ràng Nếu khơng thật, xin chịu trách nhiệm trước nhà trường Đà Nẵng, ngày tháng năm 2018 Sinh viên thực ii MỤC LỤC LỜI NÓI ĐẦU i CAM ĐOAN ii MỤC LỤC iii DANH SÁCH CÁC HÌNH VẼ v DANH SÁCH CÁC BẢNG viii Trang MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU 1.1 Tính cấp thiết, lý chọn đề tài 1.2 Mục tiêu đề tài 1.3 Giới hạn đề tài 1.4 Nội dung đề tài 1.5 Hướng giải CHƯƠNG 2: TÍNH TỐN, THIẾT KẾ MƠ HÌNH HỆ THỐNG 2.1 Nguyên lý hoạt động lựa chọn phương án thiết kế 2.1.1 Nguyên lý hoạt động 2.1.2 Lựa chọn phương án thiết kế 2.2 THIẾT KẾ CƠ KHÍ 2.2.1 Hệ thống băng tải 2.2.2 Thiết kế hệ dẫn động băng tải 12 2.2.3 Hệ thống cánh tay Robot khí nén 20 2.3 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 30 2.3.1 Camera 30 iii 2.3.2 Giới thiệu vi điều khiển Arduino 31 2.3.3 Nguồn điện hệ thống 34 2.3.2 Cảm biến 35 2.3.3 Mạch cách ly cảm biến quang 36 2.3.4 Van khí nén 38 2.3.5 Xylanh khí nén 40 2.3.6 Van tiết lưu 41 2.3.7 Modul Buck DC-DC 41 2.3.8 Modul Relay 42 2.3.9 Sơ đồ điện điều khiển hệ thống 43 2.4 PHẦN MÈM ĐIỀU KHIỂN 44 2.4.1 Giới thiệu phần mềm lập trình Arduino 44 2.4.2 Giới thiệu chung phần mềm Matlab 46 2.4.3 Giới thiệu ảnh số 50 2.4.4 Thiết kế phần mềm điều khiển 54 CHƯƠNG III VẬN HÀNH VÀ KIỂM NGHIỆM 62 3.1 Thiết kế mơ hình Soliworks 62 3.2 Thiết kế mơ hình thực tế 64 CHƯƠNG IV KẾT LUẬN 65 4.1 Kết đạt 65 4.2 Hạn chế đề tài 65 4.3 Hướng phát triển đề tài 65 TÀI LIỆU THAM KHẢO 66 PHỤ LỤC 67 iv DANH SÁCH CÁC HÌNH VẼ Hình 1.1 Sơ đồ khối hệ thống phân loại Hình 1.2 Lưu đồ thuật tốn hệ thống Hình 2.1 Sơ đồ nguyên lý hoạt động Hình 2.2 Các thành phần băng tải Hình 2.3 Bạt Hiflex (Nguồn : Internet) Hình 2.4 Sơ đồ kết cấu dẫn động băng tải 10 Hình 2.5 Một số kiểu căng đai phổ biến 11 Hình 2.6 Hệ thống lăn khung đỡ ( Nguồn : Internet) 12 Hình 2.7 Sơ đồ hệ dẫn động 13 Hình 2.8 Robot kiểu tọa độ Đề-các 20 Hình 2.9 Robot kiểu tọa độ trụ 21 Hình 2.10 Robot kiểu tọa độ cầu 21 Hình 2.11 Robot kiểu tọa độ góc 22 Hình 2.12 Robot kiểu SCARA 22 Hình 2.13 Sơ đồ động học cánh tay robot 23 Hình 2.14 Nguyên lý hoạt động cánh tay Robot 23 Hình 2.15 Hệ tọa độ gắn lên khâu 24 Hình 2.16 Cơ cấu chuyển động quay cánh tay robot 27 Hình 2.17 Cơ cấu chuyển động tịnh tiến cánh tay robot 28 Hình 2.18 Trường cơng tác robot 28 Hình 2.19 Cánh tay robot thiết kế Soliworks 29 Hình 2.20 Cánh tay robot góc nhìn cao 29 v Hình 2.21 Camera Logitech C170 (Nguồn: Internet) 31 Hình 2.22 Sơ đồ kết nối camera với máy tính 31 Hình 2.23 Thiết bị Arduino (Nguồn: Internet) 32 Hình 2.24 Nguồn tổ ong (Nguồn: Internet) 34 Hình 2.25 Cảm biến quang E3F-DS30C4 (Nguồn: Internet) 35 Hình 2.26 Bộ cách ly cảm biến 36 Hình 2.27 Opto cách ly PC817 (Nguồn: Internet) 37 Hình 2.28 Mạch cách ly sử dụng Opto 37 Hình 2.29 Van điện từ khí nén 5/2 (Nguồn: Internet) 38 Hình 2.30 Sơ đồ nguyên lý Van 5/2 38 Hình 2.31 Kí hiệu Van 5/2 38 Hình 2.32 Cấu trúc chung Rơle điện từ 39 Hình 2.334 Xylanh khí nén 40 Hình 2.34 Sơ đồ nguyên lý hoạt động 40 Hình 2.35 Van tiết lưu (Nguồn: Internet) 41 Hình 2.36 Modul Buck LM2596 (Nguồn: Internet) 41 Hình 2.37 Modul Relay kênh (Nguồn: Internet) 42 Hình 2.38 Sơ đồ điện điều khiển hệ thống 43 Hình 2.39 Giao diện Arduino IDE 44 Hình 40 Giao diện chọn Board 45 Hình 2.41 Giao diện cổng kết nối 46 Hình 42 Giao diện làm việc Matlab 48 Hình 2.43 Giao diện cửa sổ Command Window 49 Hình 2.44 Giao diện cửa sổ Workspace 49 Hình 2.45 Giao diện cửa sổ m-file editor 50 vi Hình 2.46 Ví dụ ảnh số (Nguồn: Internet) 50 Hình 2.47 Hình ảnh điểm ảnh (Nguồn: Internet) 51 Hình 2.48 Mức xám ảnh (Nguồn: Internet) 52 Hình 2.49 Độ phân giải ảnh (Nguồn: Internet) 52 Hình 2.50 Sơ đồ bước xử lý ảnh 53 Hình 2.51 Sơ đồ khối hệ thống trực quan 55 Hình 2.52 Cửa sổ GUI 59 Hình 2.53 Cửa sổ biên soạn GUI 60 Hình 2.54 Giao diện GUI 61 Hình 3.1 Mơ hình thiết kế Soliworks 62 Hình 3.2 Mơ hình góc nhìn nghiêng 63 Hình 3.3 Mơ hình tổng quát hệ thống 64 Hình 3.4 Sản phẩm mẫu 64 vii DANH SÁCH CÁC BẢNG Bảng 2.1 Thông số ban đầu hệ dẫn động 12 Bảng 2.2 Bảng xác định hệ số ma sát băng tải giá đỡ [3] 13 Bảng 2.3 Bảng chọn hệ số 𝑐3 [3] 14 Bảng 2.4 Thông số bánh đai sau tính tốn 19 Bảng 2.5 Bảng thông số DH 25 Bảng 2.6 Thông số kỹ thuật Arduino Uno [8] 32 viii Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh CHƯƠNG III VẬN HÀNH VÀ KIỂM NGHIỆM 3.1 Thiết kế mô hình Soliworks Sau q trình tính tốn thiết kế, chúng tơi thiết kế mơ hình Soliworks hình: Hình 3.1 Mơ hình thiết kế Soliworks Trong hình vẽ thiết kế, mơ hình bao gồm bơ phận sau: Cảm biến đếm số lượng sản phẩm Băng tải phụ Hộp đựng phôi (sản phẩm đạt yêu cầu) Băng tải Xylanh nhỏ thực chức kẹp, gắp vật Xylanh lớn thực chuyển động tịnh tiến Khung cánh tay robot Khung gắn camera SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 62 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh Khung kết cấu băng tải 10 Xylanh lớn thực chuyển động xoay trục cánh tay robot 11 Cảm biến phát vật cản 12 Hộp đựng phôi (sản phẩm lỗi) 13 Động giảm tốc 14 Khung kết cấu băng tải phụ Hình 3.2 Mơ hình góc nhìn nghiêng SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 63 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh 3.2 Thiết kế mô hình thực tế Hình 3.3 Mơ hình tổng qt hệ thống Hình 3.4 Sản phẩm mẫu SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 64 Tên đề tài: Thiết kế chế tạo mô hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh CHƯƠNG IV KẾT LUẬN Sau q trình nghiên cứu, tính tốn, thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng xử lý ảnh, nhóm tác giả rút số kết luận sau: 4.1 Kết đạt ✓ Nghiên cứu chế tạo thành công hệ thống phân loại sản phẩm lỗi ứng dụng xử lý ảnh ✓ Chế tạo thành cơng cánh tay Robot khí nén ✓ Ứng dụng phần mềm Soliworks tính tốn thiết kế mô 3D ✓ Ứng dụng phần mềm Matlab xử lý ảnh phần mềm Arduino hệ thống điều khiển ✓ Áp dụng tính tốn, thiết kế hệ truyền động khí 4.2 Hạn chế đề tài ❖ Thời gian xử lý tín hiệu hệ thống chưa nhanh cần thời gian để xử lý hình ảnh từ camera thu ❖ Cánh tay robot hoạt động chưa nhanh cần khoảng thời gian để ổn định chờ tín thiệu hệ thống gửi đến 4.3 Hướng phát triển đề tài ➢ Cải thiện thời gian xử lý tín hiệu ➢ Nhận diện nhiều lỗi bánh như: rỗ bề mặt, gẫy phần bánh răng… ➢ Chế tạo cánh tay robot đa hơn, có trường cơng tác rộng hơn, cấu chuyển động linh hoạt để phù hợp với nhiều sản phẩm ➢ Xử lý ảnh lỗi bánh đa dạng SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 65 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh TÀI LIỆU THAM KHẢO [1] PGS.TS Trịnh Chất- TS Lê Văn Uyển – Tính tốn thiết kế hệ dẫn động tập 1- Nhà xuất Giáo dục, 2006 [2] TS Phạm Đăng Phước – Robot công nghiệp - Nhà xuất Xây dựng, 2007 [3] Calculation methods – conveyor belts [4] Conveyor handbook – fenner dunlop [5] ThS Phạm Đức – Máy vận chuyển liên tục – Nhà xuất Giao thông vận tải, 2010 [6] http://html.alldatasheet.com/html-pdf/43372/SHARP/PC817/769/6/PC817.html [7] http://dbmstore.net/xu-ly-anh-trong-cong-nghiep/ [8] https://store.arduino.cc/usa/arduino-uno-rev3 [9] Lập trình Matlab: http://www.matlabthayhai.info/2015/11/bai-1-gioi-thieu-khai-quatve-anh-so.html [10] https://www.stdio.vn/articles/cai-dat-arduino-ide-444 [11] David Young, Circular Hough Transform Demonstration, 2016 [12] https://www.mathworks.com/matlabcentral/fileexchange SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 66 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh PHỤ LỤC Chương trình code hệ thống Arduino IDE #define CB1 A2 //Conveyor 1, detect gear #define CB2 A3 //Conveyor 2, detect tank contains gears boolean detect_fail = 0; //Cylinder const int XL1 = 3; const int XL2 = 4; const int XL3 = 5; //state of sensor int CB1_state = 0; int CB2_state = 0; int detect_gear = 0; //set up value of variable count gear int count = 0; //motor const int DC = 2; //variable from MATLAB const int detect = 7; void setup() { Serial.begin(9600); pinMode(CB1, INPUT); pinMode(CB2, INPUT); pinMode(XL1, OUTPUT); pinMode(XL2, OUTPUT); pinMode(XL3, OUTPUT); pinMode(DC, OUTPUT); SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 67 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh pinMode(detect, INPUT); // put your setup code here, to run once: } void loop() { robotArm_Off(); detect_gear = digitalRead(detect); if (detect_gear == ) { detect_fail = 1;} digitalWrite(DC, HIGH); CB1_state = analogRead(CB1); CB2_state = analogRead(CB2); if (count >= 10) { count = 0;} if (CB2_state > 320 && count < 10 ) { digitalWrite(DC, LOW); } if (CB1_state > 320) { count = count + 1; } if (CB1_state > 320 && detect_fail == 1) { robotArm_On(); count = count - 1; detect_fail = 0; } // put your main code here, to run repeatedly: } // state robot arm when gear passes void robotArm_Off() { SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 68 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh digitalWrite(XL1, LOW); digitalWrite(XL2, LOW); digitalWrite(XL3, LOW); } // sate robot arm when gear fails void robotArm_On() { digitalWrite(XL2, HIGH); delay(250); digitalWrite(XL3, HIGH); delay(250); digitalWrite(XL2, LOW); delay(250); digitalWrite(XL1, HIGH); delay(250); digitalWrite(XL3, LOW); delay(250); digitalWrite(XL1, LOW); } SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 69 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh Chương trình code Matlab nhận diện bánh lỗi function varargout = GUI1_program(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @GUI1_program_OpeningFcn, 'gui_OutputFcn', @GUI1_program_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before GUI1_program is made visible function GUI1_program_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to GUI1_program (see VARARGIN) % Choose default command line output for GUI1_program handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes GUI1_program wait for user response (see UIRESUME) % uiwait(handles.figure1); % - Outputs from this function are returned to the command line function varargout = GUI1_program_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; SVTH: Đoàn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 70 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh % - Executes on button press in pushbutton1 function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % ************************************************* % get data from GUI2 and gearteeth axes(handles.axes3); imshow('templateImg.jpg'); gearteeth = str2double(get(handles.edit1, 'string')); fprintf('gearteeth = %d\n', gearteeth); template_img = imread('templateImg.jpg'); template_img = rgb2gray(template_img); template_img = imadjust(template_img,stretchlim(template_img)); template_img = imsharpen(template_img,'Radius',2,'Amount',1); % ************************************************* % divide angle between peak gears if (gearteeth ~= 0) angle = 360/gearteeth; else angle = 10; end % *************************************************** % set up Arduino board = arduino('COM3', 'uno'); % Fail = 12; % *************************************************** global vid vid = videoinput('winvideo',1, 'YUY2_640x480'); vid.FramesPerTrigger = 1; vid.ReturnedColorspace = 'rgb'; triggerconfig(vid, 'manual'); vidRes = get(vid, 'VideoResolution'); imWidth = vidRes(1); imHeight = vidRes(2); nBands = get(vid, 'NumberOfBands'); hImage = image(zeros(imHeight, imWidth, nBands), 'parent',handles.axes1); preview(id, hImage); % ********************************************* while (get(handles.pushbutton2, 'value') ~= 1) writeDigitalPin(board, 'D12', 0); img = getsnapshot(vid); img_original = rgb2gray(img); k = 0; for i = 50:550 if((img_original(320, i)50) img2 = img; % imwrite(img2, 'imageTest.jpg'); [a, b] = find_circlepeaks(img2); img3 = imcrop(img2, [a b 399 299]); for n = 0:1:angle img_original = imrotate(img3, n, 'bilinear', 'crop'); img_original = rgb2gray(img_original); img_original= imadjust(img_original,stretchlim(img_original)); img_original = imsharpen(img_original,'Radius',2,'Amount',1); c = normxcorr2(template_img, img_original); b = max(c(:)); if b >= 0.9 writeDigitalPin(board, 'D12', 1); fprintf('Pass\n'); break; end end axes(handles.axes2); imshow(img3, 'InitialMagnification', 'fit'); pause(1); end end % - Executes on button press in pushbutton2 function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear all; close; % - Executes on button press in pushbutton3 function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close; run('GUI2_templateImg.m'); function edit1_Callback(hObject, eventdata, handles) function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 72 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh Chương trình code Matlab lấy ảnh gốc function varargout = GUI2_templateImg(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @GUI2_templateImg_OpeningFcn, 'gui_OutputFcn', @GUI2_templateImg_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before GUI2_templateImg is made visible function GUI2_templateImg_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to GUI2_templateImg (see VARARGIN) % Choose default command line output for GUI2_templateImg handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes GUI2_templateImg wait for user response (see UIRESUME) % uiwait(handles.figure1); SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 73 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh % - Outputs from this function are returned to the command line function varargout = GUI2_templateImg_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % - Executes on button press in pushbutton1 function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global vid; axes(handles.axes2);hold on; for n = 1:20 img = getsnapshot(vid); img_gray = rgb2gray(img); k = 0; for i = 50:550 if((img_gray(285, i)50) img2 = imcrop(img, [50 40 539 399]); [a, b] = find_circlepeaks(img2); img3 = imcrop(img2, [a b 399 299]); img3 = imcrop(img3, [50 299 299]); imwrite(img3, 'templateImg.jpg'); imshow(img3); end pause(0.2); end % - Executes on button press in pushbutton2 SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 74 Tên đề tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) clear all; close; run('GUI1_program.m'); % - Executes during object creation, after setting all properties function axes1_CreateFcn(hObject, eventdata, handles) % hObject handle to axes1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate axes1 % - Executes on button press in pushbutton3 function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global vid vid = videoinput('winvideo',2,'YUY2_640x480'); vid.FramesPerTrigger = 1; vid.ReturnedColorspace = 'rgb'; triggerconfig(vid, 'manual'); vidRes = get(vid, 'VideoResolution'); imWidth = vidRes(1); imHeight = vidRes(2); nBands = get(vid, 'NumberOfBands'); hImage = image(zeros(imHeight, imWidth, nBands), 'parent', handles.axes1); preview(vid, hImage); function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 75 Tên đề tài: Thiết kế chế tạo mô hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double % - Executes during object creation, after setting all properties function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (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 SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang 76 ... tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh MỞ ĐẦU • Lý chọn đề tài Hiện nay, ứng dụng công nghệ kĩ thuật vào sản xuất ngày phổ biến, điển hình. .. tài: Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh CHƯƠNG 2: TÍNH TỐN, THIẾT KẾ MƠ HÌNH HỆ THỐNG 2.1 Nguyên lý hoạt động lựa chọn phương án thiết kế 2.1.1... ? ?Thiết kế chế tạo mơ hình hệ thống phân loại sản phẩm lỗi ứng dụng công nghệ xử lý ảnh? ?? SVTH: Đồn Ngọc Hốn - Nguyễn Chí Thành GVHD: TS Võ Như Thành Trang Tên đề tài: Thiết kế chế tạo mơ hình hệ

Ngày đăng: 27/04/2021, 10:47

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan