(Đồ án tốt nghiệp) ứng dụng camera 3d trong việc phân loại sản phẩm theo hình dạng và kích thước

91 10 0
(Đồ án tốt nghiệp) ứng dụng camera 3d trong việc phân loại sản phẩm theo hình dạng và kích thước

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ỨNG DỤNG CAMERA 3D TRONG VIỆC PHÂN LOẠI SẢN PHẨM THEO HÌNH DẠNG VÀ KÍCH THƯỚC GVHD: Ngơ Bá Việt SVTH: Lê Văn Thái MSSV: 14141289 SKL006093 Tp Hồ Chí Minh, tháng 7/2019 BỘ GIÁO DỤC & ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ỨNG DỤNG CAMERA 3D TRONG VIỆC PHÂN LOẠI SẢN PHẨM THEO HÌNH DẠNG VÀ KÍCH THƢỚC GVHD: ThS Ngơ Bá Việt SVTH: Lê Văn Thái MSSV: 14141289 Tp Hồ Chí Minh - 07/2019 BỘ GIÁO DỤC & ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ỨNG DỤNG CAMERA 3D TRONG VIỆC PHÂN LOẠI SẢN PHẨM THEO HÌNH DẠNG VÀ KÍCH THƢỚC GVHD: ThS Ngô Bá Việt SVTH: Lê Văn Thái MSSV: 14141289 Tp Hồ Chí Minh - 07/2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: I TÊN ĐỀ TÀI: ỨNG DỤNG CAMERA 3D TRONG VIỆC PHÂN LOẠI SẢN PHẨM THEO HÌNH DẠNG VÀ KÍCH THƢỚC II NHIỆM VỤ Các số liệu ban đầu: Các tài liệu Python thƣ viện OpenCV, Giáo trình Xử lý ảnh Các ví dụ nhận dạng hình học Nội dung thực hiện: Tìm hiểu phƣơng pháp nhận dạng phân loại sản phẩm Tổng quan xử lý ảnh Tìm hiểu Camera 3D Module liên quan Viết chƣơng trình Python Hồn thành mơ hình Đánh giá kết thực III NGÀY GIAO NHIỆM VỤ: 26/03/2019 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 05/06/2019 V HỌ VÀ TÊN CÁN BỘ HƢỚNG DẪN: ThS Ngô Bá Việt CÁN BỘ HƢỚNG DẪN BM ĐIỆN TỬ CƠNG NGHIỆP – Y SINH LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Lê Văn Thái Lớp: 14141DT1A - MSSV: 14141289 Tên đề tài: Ứng dụng camera 3D việc phân loại sản phẩm theo hình dạng kích thƣớc Tuần/ngày 16-20/3 21-25/3 26/3-05/4 06/-09/4 10-17/4 18-21/4 22-28/4 29/5-04/5 05-06/5 07-08/5 13-20/5 Hoàn thành mơ hình 21-29/5 Viết báo cáo GV HƢỚNG DẪN ThS Ngô Bá Việt LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trƣớc khơng chép từ tài liệu hay cơng trình có trƣớc Ngƣời thực đề tài Lê Văn Thái LỜI CẢM ƠN Đầu tiên xin đƣợc cám ơn chân thành tới Thầy Ngô Bá Việt, Thầy tận tình hƣớng dẫn tơi để hồn thành tốt đề tài Tơi xin gửi lời chân thành cảm ơn thầy cô Khoa Điện-Điện Tử tạo điều kiện tốt cho tơi hồn thành đề tài Những kiến thức bổ ích mà Thầy Cơ dạy, đƣợc áp dụng vào đề tài Đồ Án Tốt Nghiệp nhiều, từ kiến thức nhỏ nhặt học lớn Một lần xin đƣợc gửi lời cám ơn đến tất Thầy Cơ, khơng có Thầy Cơ tơi khó hồn thành đề tài Tiếp theo xin cảm ơn tới Anh, Chị khóa bạn sinh viên tạo điều kiện giúp đỡ, từ tài liệu liên quan tới đề tài kinh nghiệm sống thực tế Nhờ họ mà phát triển đƣợc Tơi gửi lời đồng cảm ơn đến bạn lớp 14141DT1A chia sẻ trao đổi kiến thức nhƣ kinh nghiệm quý báu thời gian thực đề tài, lớp học có nhiều kí ức thời sinh viên Cuối gửi lời cảm ơn đến Cha, Mẹ khơng có hai đấng sinh thành ngày hơm khơng có diện để thực việc muốn, họ tạo điều kiện để giúp hƣớng tới tƣơng lai tốt đẹp Một lần cuối xin chân thành cảm ơn! Ngƣời thực đề tài Lê Văn Thái MỤC Trang bìa Nhiệm vụ đồ án Lịch trình Cam đoan Lời cảm ơn Mục lục Liệt kê hình vẽ Liệt kê bảng vẽ Tóm tắt CHƢƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC CHƢƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ CÁC THƢ 2.1.1 Giới thi 2.1.2 Những v 2.2 PHƢƠNG PHÁP PHÂN LOẠI SẢN PHẨM TH 2.2.1 Các hìn 2.2.2 Phƣơng 2.2.3 Các bƣớ CHƢƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Bảng 5.4: Kết khảo sát nhận dạng tính kích thƣớc hình tam giác Lần thực thứ 10 Vẫn số lỗi xảy mà nhóm chƣa khắc phục đƣợc, nhƣ sản phẩm bị dính vào chồng lên khơng phát đƣợc Để ba sản phẩm vào lúc nhận dạng tính kích thƣớc sản phẩm khơng nhận dạng sản phẩm nhƣ hình dƣới: Hình 5.6: Camera chƣa thể nhận dạng lúc nhiều sản phẩm BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 CHƢƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Nhóm chƣa nhận diện đƣợc hình trịn nhƣ tính kích thƣớc sản phẩm hình trịn Thuật tốn nhóm tìm hiểu đƣa phƣơng pháp phải nhiều thời gian hồn thành Thuật tốn áp dụng vào việc phân loại, nhận diện tìm kích thƣớc sản phẩm có hình dạng mà nhóm tìm hiểu 5.4 PHÂN LOẠI SẢN PHẨM Kết thu đƣợc sản phẩm hình chữ nhật đạt kích thƣớc u cầu sản phẩm hình chữ nhật khơng đạt kích thƣớc u cầu: Hình 5.7: Phân loại theo kích sản phẩm hình chữ nhật Kết thu đƣợc sản phẩm hình tam giác đạt kích thƣớc u cầu sản phẩm hình tam giác khơng đạt kích thƣớc u cầu: Hình 5.8: Phân loại theo kích thƣớc sản phẩm hình tam giác Kết thu đƣợc sản phẩm hình vng đạt kích thƣớc u cầu sản phẩm hình vng khơng đạt kích thƣớc u cầu: BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 CHƢƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.9: Phân loại theo kích thƣớc sản phẩm hình tam giác Chƣơng trình phân loại đƣợc hầu hết tất sản phẩm theo kích thƣớc chúng với thời gian đáp ứng nhanh điều kiện lý tƣởng làm khảo sát Tuy nhiên vấn cịn số trƣờng hợp phân loại chƣa xác nhiễu BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 59 CHƢƠNG 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CHƢƠNG 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 6.1 KẾT LUẬN 6.1.1 Kết đạt đƣợc Hệ thống đáp ứng tƣơng đối đầy đủ mục tiêu đề tài đặt với độ xác phân loại tính tốn cao, tốc độ xử lý nhanh Mơ hình phần cứng hoạt động tốt, thiết bị nhỏ gọn, lắp đặt dễ dàng, có tính kinh tế, thuận tiện cho việc học tập nhƣng phát triển thành dây chuyền sản xuất Chƣơng trình xử lý ảnh hoạt động ổn định, nhận dạng đƣợc màu sắc, hình dạng hầu hết sản phẩm Đo đƣợc xác khoảng cách thực tế nhƣ chu vi, độ dài cạnh phân loại đƣợc hầu hết sản phẩm 6.1.2 Những mặt hạn chế Ngoài kết đạt đƣợc hệ thống cịn hạn chế nhƣ khả nhận dạng bị ảnh hƣởng bới yếu tố môi trƣờng nhƣ ánh sáng, nhiễu; nhận dạng biết đƣợc sản phẩm hình vng, chữ nhật, tam giác, kích thƣớc sản phẩm nhƣ khoảng cách sản phẩm tới camera mà chƣa nhận dạng đƣợc sản phẩm hình trịn, sản phẩm bị lỗi nhƣ móp, méo; chƣa nhận dạng tất sản phẩm có lúc khung hình Chƣa xây dựng đƣợc mơ hình phân loại hồn chỉnh, mang tính nghiên cứu phân loại máy tính 6.2 HƢỚNG PHÁT TRIỂN Từ mặt hạn chế đề tài, để đề tài hoạt động tốt áp dụng vào thực tế sau nhóm đề hƣớng phát triển nhƣ sau:  Thiết kế thêm băng tải cho mơ hình thêm đẹp thuận tiện  Làm thành dây truyền sản xuất với cấu hình hệ thống mạnh  Tìm hiểu thuật tốn phát tất sản phẩm đƣa vào khung hình  Tìm hiểu phát triển thêm chức đếm tất sản phẩm đƣợc đƣa vơ khung hình BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] Nguyễn Tiến San, Nguyễn Thái Bảo Hùng, Báo cáo tìm hiểu cảm biến Kinect (RGB –D), Đồ án mơn học, trƣờng Đại học cơng nghệ, Tp.HCM, 2016 [2] Trí thức trẻ, Camera 3D hoạt động thê nào, https://fptshop.com.vn/tin- tuc/danh-gia/camera-intel-realsense-3d-hoat-dong-nhu-the-nao-35667, 05/01/2016 [3] Nguyễn Văn Sơn, Hà Duy Khánh, Phân loại sản phẩm dùng Kit Raspberry, Đồ án tốt nghiệp, trƣờng ĐHSPKT, Tp.HCM, 2018 [4] Nguyễn Thanh Hải, Giáo Trình Xử lý ảnh, Xuất ĐH Quốc Gia, Tp.HCM, 2014 [5] Richard Blum, Christine Bresnahan, Sams teach yourself python in 24 Hours, Sams, 2014 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61 PHỤ LỤC PHỤ LỤC Thƣ viện chƣơng trình #!/usr/bin/env python2 import cv2 import numpy as np from scipy.spatial import distance as dist import math Chƣơng trình count_tmp = center_l = None center_r = None r = None base = ar = None f = 174.618040#219.337321 var_tmp_l = var_tmp_r = img_counter = img_width = 640 img_height = 720 rect = np.zeros((4, 2), dtype = "float32") maxW = img_width/2 maxH = img_height/2 dst = np.array([ [0, 0], [maxW - 1, 0], [maxW - 1, maxH - 1], [0, maxH - 1]], dtype = "float32") counter_rec = counter_tri = cvi_rec = cvi_tri = cvi_cir = lowerBound = np.array([169, 100, 100], dtype=np.uint8) upperBound = np.array([189, 255, 255], dtype=np.uint8) #lowerBound=np.array([33,80,40]) #upperBound=np.array([102,255,255]) def color_pre_process(frame): blurred = cv2.GaussianBlur(frame, (11, 11), 0) hsv = cv2.cvtColor(blurred, cv2.COLOR_BGR2HSV) return hsv BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62 CHƢƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ def correct_perspective(frame, pts): # Sort the contour points in Top Left, Top Right, Bottom Left & Bottom Right Manner s = pts.sum(axis = 1) rect[0] = pts[np.argmin(s)] rect[2] = pts[np.argmax(s)] diff = np.diff(pts, axis = 1) rect[1] = pts[np.argmin(diff)] rect[3] = pts[np.argmax(diff)] # Compute the perspective transform matrix and then apply it M = cv2.getPerspectiveTransform(rect, dst) warped = cv2.warpPerspective(frame, M, (img_width/2,img_height/2)) warped = cv2.cvtColor(warped, cv2.COLOR_BGR2GRAY) # Calculate the maximum pixel and minimum pixel value & compute threshold min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(warped) threshold = (min_val + max_val)/2 # Threshold the image ret, warped = cv2.threshold(warped, threshold, 255,cv2.THRESH_BINARY) # Return the warped image return warped cam= cv2.VideoCapture(2) def draw_tri(img,pt1,pt2,pt3): # Three vertices(tuples) of the triangle p1 = tuple(pt1.reshape(1, -1)[0])#tuple(pt1) # print(type(p1)) p2 = tuple(pt2.reshape(1, -1)[0])#tuple(pt2) # print(type(p2)) p3 = tuple(pt3.reshape(1, -1)[0])#tuple(pt3) # print(type(p3)) # p1 = (100, 200) # print(type(p1)) # p2 = (50, 50) # p3 = (300, 100) #Drawing the triangle with the help of lines # on the black window With given points # cv2.line is the inbuilt function in opencv library #print(p1,p2,p3) cv2.line(img, p1, p2, (255, 0, 0), 3) cv2.line(img, p2, p3, (255, 0, 0), 3) cv2.line(img, p1, p3, (255, 0, 0), 3) #cv2.imshow("image_triangle", img) def centroid(pt1,pt2,pt3): p1 = tuple(pt1.reshape(1, -1)[0])#tuple(pt1) # print(type(p1)) p2 = tuple(pt2.reshape(1, -1)[0])#tuple(pt2) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 CHƢƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ # print(type(p2)) p3 = tuple(pt3.reshape(1, -1)[0])#tuple(pt3) return ((p1[0]+p2[0]+p3[0])//3, (p1[1]+p2[1]+p3[1])//3) while True: ret, frame = cam.read() frame = cv2.flip(frame,0) left_img = frame[0:int(img_height/2),0:int(img_width/2)] left_img = np.asarray(left_img) left_hsv = color_pre_process(left_img) left_gray = cv2.cvtColor(left_img, cv2.COLOR_BGR2GRAY) right_gray = cv2.cvtColor(left_img, cv2.COLOR_BGR2GRAY) right_img = frame[0:int(img_height/2),int(img_width/2):img_width] right_img = np.asarray(right_img) right_hsv = color_pre_process(right_img) # left_blurred = cv2.GaussianBlur(left_hsv, (5, 5), 0) # right_blurred = cv2.GaussianBlur(right_hsv, (5, 5), 0) red_l = cv2.inRange(left_hsv, lowerBound, upperBound) red_r = cv2.inRange(right_hsv, lowerBound, upperBound) # h,s,gray_r = cv2.split(red_r) # # #Morphological transformation, Dilation kernal = np.ones((5 ,5), "uint8") # blue_l=cv2.dilate(red_l, kernal) blue_r=cv2.dilate(red_r, kernal) # res_l=cv2.bitwise_and(left_img, left_img, mask = red_l) res_r=cv2.bitwise_and(right_img, right_img, mask = red_l) #if red_r is not None: #cv2.imshow("gray_r",red_r ) #Tracking Colour (Yellow) (_,contours_l,hierarchy_l)=cv2.findContours(red_l,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) for cnt_l in (contours_l): approx_l = cv2.approxPolyDP(cnt_l,0.04*cv2.arcLength(cnt_l,True),True) if len(approx_l) == 4: var_tmp_l = area_l = cv2.contourArea(approx_l) if(area_l>300): x_l,y_l,w_l,h_l = cv2.boundingRect(approx_l) left_img = cv2.rectangle(left_img,(x_l,y_l),(x_l+w_l,y_l+h_l),(255,0,0),3) center_l = int(x_l + 0.5 * (w_l - 1)) elif len(approx_l) == 3: var_tmp_l = #print(type(approx_l)) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 CHƢƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ # draw_tri(left_img,approx_l[0],approx_l[1],approx_l[2]) # dist_1 = dist.euclidean(tuple(approx_l[0].reshape(1, -1)[0]), tuple(approx_l[1].reshape(1, -1)[0])) # dist_2 = dist.euclidean(tuple(approx_l[1].reshape(1, -1)[0]), tuple(approx_l[2].reshape(1, -1)[0])) # dist_3 = dist.euclidean(tuple(approx_l[0].reshape(1, -1)[0]), tuple(approx_l[2].reshape(1, -1)[0])) center_l_3 = centroid(approx_l[0],approx_l[1],approx_l[2]) else: # area_l = cv2.contourArea(approx_l) # if(area_l>300): # circles_l = cv2.HoughCircles(res_l, cv2.HOUGH_GRADIENT, 1.2, 100) pass (_,contours_r,hierarchy_r)=cv2.findContours(red_r,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) for cnt_r in (contours_r): approx_r = cv2.approxPolyDP(cnt_r,0.04*cv2.arcLength(cnt_r,True),True) print("len(approx_r)",len(approx_r)) if len(approx_r) == 4: var_tmp_r = area_r = cv2.contourArea(approx_r) if(area_r>300): x_r,y_r,w_r,h_r = cv2.boundingRect(approx_r) right_img = cv2.rectangle(right_img,(x_r,y_r),(x_r+w_r,y_r+h_r),(255,0,0),3) center_r = int(x_r + 0.5 * (w_r - 1)) elif len(approx_r) == 3: var_tmp_r = draw_tri(right_img,approx_r[0],approx_r[1],approx_r[2]) dist_1 = dist.euclidean(tuple(approx_r[0].reshape(1, -1)[0]), tuple(approx_r[1].reshape(1, -1)[0])) dist_2 = dist.euclidean(tuple(approx_r[1].reshape(1, -1)[0]), tuple(approx_r[2].reshape(1, -1)[0])) dist_3 = dist.euclidean(tuple(approx_r[0].reshape(1, -1)[0]), tuple(approx_r[2].reshape(1, -1)[0])) center_r_3 = centroid(approx_r[0],approx_r[1],approx_r[2]) else: area_r = cv2.contourArea(approx_r) if(area_r>300): # circles_r = cv2.HoughCircles(right_gray, cv2.HOUGH_GRADIENT, 1.2, 100) circles_r = cv2.HoughCircles(right_gray, cv2.HOUGH_GRADIENT, 1, 200, param1=30, param2=45, minRadius=0, maxRadius=0) if circles_r is not None: circles_r = np.round(circles_r[0, :]).astype("int") for (x_r, y_r, r_r) in circles_r: r = r_r # print("r_r",r_r) # cv2.circle(right_img, (x_r, y_r), r_r, (255, 0, 0), 3) if var_tmp_l == and var_tmp_r == and area_l>300 : counter_rec += # count_tmp += # if count_tmp >= 3: if center_l == None or center_r == None: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 CHƢƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ pass else: #print("center_r",center_r,"center_l",center_l) disparity = center_l - center_r if disparity == 0: pass else: Dis = int((base * f)/disparity) #print("distance = ",Dis)#,"disparity = ",disparity) width_ = int((Dis*w_l)/f) height = int((Dis*h_l)/f) ar = w_l / float(h_l) print(ar) if ar >= 0.85 and ar = 22 and cvi_rec = 20 and cvi_rec = 3: if center_l == None or center_r == None: pass else: #print("center_r_3",center_r,"center_l_3",center_l) disparity = center_l_3[0] - center_r_3[0] if disparity == 0: pass else: Dis = int((base * f)/disparity) tmp_1 = [] tmp_2 = [] tmp_3 = [] line_1 = int((Dis*dist_1)/f) line_2 = int((Dis*dist_2)/f) line_3 = int((Dis*dist_3)/f) for i in range(5): tmp_1.append(line_1) for i in range(5): tmp_2.append(line_2) for i in range(5): tmp_3.append(line_3) cvi_tri = np.mean(tmp_1) + np.mean(tmp_2) +np.mean(tmp_3) cv2.putText(right_img, "chu vi hinh tam giac: %d" % cvi_tri, (x_l - (int(w_l)), y_l - int(h_l / 2)), cv2.FONT_HERSHEY_COMPLEX_SMALL, 0.5, 255) cv2.putText(right_img, "Khoang cach den vat: %d" % Dis, (x_l - (int(w_l)), y_l - int(h_l / 15)), cv2.FONT_HERSHEY_COMPLEX_SMALL, 0.5, 255) cv2.putText(right_img, "chieu dai ba canh: %d , %d ,%d" %(line_1, line_2, line_3),(x_l (int(w_l)), y_l - int(h_l / - 25)), cv2.FONT_HERSHEY_COMPLEX_SMALL,0.5,255) if cvi_tri >= 13 and cvi_tri 10: # cvi_cir = 2*math.pi*r # cv2.putText(right_img, "chu vi hinh tron: %d" % cvi_cir, ( r,r), # cv2.FONT_HERSHEY_COMPLEX_SMALL, 0.5, 255) #else: # r=0 # #count_tmp = #cv2.imshow("frame",frame) #cv2.imshow("left_img",left_img) # print("counter_rec",counter_rec,"counter_tri",counte r_tri) cv2.imshow("right_img",right_img) counter_rec = counter_tri = cvi_rec = cvi_tri = if cv2.waitKey(10) & 0xFF == 27: cv2.destroyAllWindows() break BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 ... PHƢƠNG PHÁP PHÂN LOẠI SẢN PHẨM THEO HÌNH DẠNG Với để tài ? ?Ứng dụng camera 3D việc phân loại sản phẩm theo hình dạng kích thƣớc.” Thiết kế mơ hình phân loại sản phẩm theo hình dạng (hình vng, hình chữ... theo hình dạng kích thƣớc” Đề tài ? ?Ứng dụng camera 3D việc phân loại sản phẩm theo hình dạng kích thước? ?? phân loại sản phẩm theo hình dạng (hình trịn, hình vng, hình chữ nhật, hình tam giác) kích. .. dụng camera 3D việc phân loại sản phẩm theo hình dạng kích thƣớc” đƣơc lựa chọn thực để phân loại theo hình dạng sản phẩm phân loại theo kích thƣớc sản phẩm dựa thông tin từ camera 3D 1.2 MỤC

Ngày đăng: 20/12/2021, 06:14

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

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

Tài liệu liên quan