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

Khóa luận tốt nghiệp: Thiết kế, chế tạo mô hình phân loại táo thông qua kích thước của trái

73 84 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

Đề tài đã thiết kế chế tạo mô hình phân loại táo với ba kích cỡ khác nhau, sử dụng ngôn ngữ lập trình python xây dựng chương trình xử lý ảnh và trích xuất được các đại lượng đặc trưng về kích thước của quả táo, kết hợp được chương trình xử lý ảnh và chương trình điều khiển các bộ phận phân loại trong mô hình. Thiết kế được mạch điều khiển và động lực để vận hành mô hình

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP THIẾT KẾ, CHẾ TẠO MƠ HÌNH PHÂN LOẠI TÁO THƠNG QUA KÍCH THƢỚC CỦA TRÁI Họ tên sinh viên: MAI THẾ KIỆT VÕ ĐỨC BẢY Chuyên Ngành: CƠ ĐIỆN TỬ Niên khóa: 2014-2018 Tháng 06 năm 2018 THIẾT KẾ, CHẾ TẠO MƠ HÌNH PHÂN LOẠI TÁO THƠNG QUA KÍCH THƢỚC CỦA TRÁI Tác giả MAI THẾ KIỆT VÕ ĐỨC BẢY Khóa luận tốt nghiệp đƣợc đệ trình đáp ứng yêu cầu cấp Kỹ sƣ ngành Cơ Điện Tử Giáo viên hƣớng dẫn: Th.S TRẨN THỊ KIM NGÀ Tháng 06 năm 2018 ii LỜI CẢM ƠN Em xin trân trọng cảm ơn tất quý thầy cô trường Đại học Nơng Lâm TP.Hồ Chí Minh q chầy khoa Cơ Khí - Cơng Nghệ trang bị cho em kiến thức quý báu giúp đỡ em suốt trình học tập trường Em xin chân thành cảm ơn thầy cô môn Cơ Điện Tử giúp đỡ chúng em nhiệt tình thời gian thực đề tài Em xin bày tỏ biết ơn chân thành cô Trần Thị Kim Ngà tận tình hướng dẫn em suốt trình làm Luận văn tốt nghiệp Đặc biệt, em xin cảm ơn quý thầy cô hội đồng dành thời gian nhận xét góp ý để luận văn em hoàn thiện Cuối cùng, em xin gửi lời cảm ơn đến người thân bạn bè động viên, ủng hộ tạo cho em điều kiện thuận lợi suốt q trình hồn thành luận văn TPHCM, ngày tháng 06 năm 2012 Sinh viên thực MAI THẾ KIỆT VÕ ĐỨC BẢY iii TÓM TẮT Đề tài nghiên cứu “ Thiết kế, chế tạo mơ hình phân loại táo thơng qua kích thước trái ” thực trường Đại Học Nơng Lâm Thành Phố Hồ Chí Minh, thời gian từ tháng đến tháng năm 2018 Đề tài thiết kế chế tạo mơ hình phân loại táo với ba kích cỡ khác nhau, sử dụng ngơn ngữ lập trình python xây dựng chương trình xử lý ảnh trích xuất đại lượng đặc trưng kích thước táo, kết hợp chương trình xử lý ảnh chương trình điều khiển phận phân loại mơ hình Thiết kế mạch điều khiển động lực để vận hành mơ hình Đề tài sử dụng máy tính nhúng Raspberry Pi3 làm xử lý trung tâm đáp ứng tốc độ xử lý cho trình phân loại, kết hợp với lập trình xử lý ảnh để nhận dạng tách đối tượng tính kích thước Sau đó, kết hợp với hệ thống động cơ, cảm biến để phân loại loại riêng biệt Đây xem kết đề tài Do thời gian thực hạn chế, mức độ rộng lớn đề tài, nên dù cố gắng phương án giải toán chúng em chắn khơng thể tránh khỏi thiếu sót Chúng em mong nhận đóng góp ý kiến quý thầy cô bạn bè để đề tài em hoàn thiện iv MỤC LỤC LỜI CẢM ƠN iii TÓM TẮT iv MỤC LỤC v DANH SÁCH CHỮ TẮT viii DANH SÁCH CÁC BẢNG x DANH SÁCH CÁC HÌNH xi Chương MỞ ĐẦU 1.1 Đặt vấn đề 1.2 Tình hình nghiên cứu nước 1.3 Phạm vi thực đề tài 1.4 Nội dung thực Chương TỔNG QUAN 2.1 Một số khái niệm xử lý ảnh 2.1.1 Ảnh 2.1.1.1 Ảnh nhị phân 2.1.1.2 Ảnh xám 2.1.1.3 Ảnh màu 2.1.4.4 Độ phân giải 2.2 Không gian màu 2.3 Giới thiệu máy tính nhúng Raspberry Pi3 15 2.4 Các thiết bị ngoại vi khác sơ đồ kết nối 16 2.4.1 Camera Pi 16 2.4.2 Màn hình inch HDMI LCD (C), IPS, cảm ứng điện dung Waveshare 17 2.4.3 Mạch cầu H - L298 (H-Bridge Circuit) 18 2.4.4 Cảm biến quang 20 2.4.5 Cơng tắc hành trình 21 v 2.5 Phần mền lập trình python, Opencv ứng dụng xử lý ảnh 23 2.5.1 phần mềm lập trình python: 23 2.5.2 Thư viện xử lý ảnh OpenC 24 2.5.3 Các ứng dụng Opencv 25 Chương 26 VẬT LIỆU VÀ PHƢƠNG PHÁP NGHIÊN CỨU 26 3.1 Thời gian thực đề tài 26 3.2 Đối tượng thiết bị nghiên cứu 26 3.3 Thiết bị nghiên cứu 27 3.3.1 Máy tính nhúng Raspberry Pi 27 3.3.2 Module Camera Pi 27 3.3.3 Màn hình inch HDMI LCD (C), IPS, cảm ứng điện dung Waveshare 27 3.4 Các phần mềm sử dụng 28 3.5 Phương pháp nghiên cứu 28 Chương 29 KẾT QUẢ VÀ THẢO LUẬN 29 4.1 Thiết kế mơ hình ngun lý hoạt động 29 4.1.1 Thiết kế mơ hình 29 4.1.2 ngun lý hoạt động mơ hình 30 4.2 Thiết kế phần khí 31 4.2.1 Bản vẽ khí mơ hình 31 4.3 Thiết kế khối xử lý điều khiển 40 4.3.1 Sơ đồ khối 40 4.3.2 Sơ đồ mạch điện 41 4.4 Xử lý ảnh, nhận dạng phân loại 42 4.4.1 Sơ đồ khối bước xử lý ảnh 42 4.4.2 Giải thuật phân loại táo theo kích thước 46 4.4.3 Giải thích q trình hoạt động hệ thống 47 4.5 Khảo nghiệm thực tế kết 47 vi Chương 52 KẾT LUẬN VÀ ĐỀ NGHỊ 52 5.1 Kết đạt được: 52 5.2 Hướng phát triển đề tài: 52 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC 55 vii DANH SÁCH CHỮ TẮT CGA (Color Graphic Adaptor) MP4 (Moving Picture ) IMG (Image) RGB (Red Green Blue) HSV (Hue Saturation Value) HLS (Hue Lightness Saturation CMYK (Cyan Magenta Yellow Key) CIE (Commission Internationale d’Eclairage) RAM (Random Access Memory) CPU ARM (Central Processing Unit Advanced RISC Machine) LAN (Local Area Network) LPDDR2 memory (Low-power Double Data Rate 2) GNU/ linux (GNU is Not Unix) USB (Universal Serial Bus) HDMI (High-Definition Multimedia Interface) RCA (Radio Corporation of America) GPIO pins (General-purpose input/output) DSI (Display Serial Interface) SD Card (Secure Digital Card) viii IPS ( Instrument Pointing System) LCD (Liquid Crystal Display) DC (Direct Current chiều) PAL / NTSC (Phase Alternative Line/ National Television System Committee) HID (Human Interface Design) Mạch cầu H (H-Bridge Circuit) GND (Ground) BJT (Bipolar Junction Transistor) MOSFET (Metal Oxide Semiconductor Field-Effect Transistor) LED (Light Emitting Diode) ASIC ( Application Specific Integrated Circuit) 3D CAD (Computer-aided design) UNIX (Uniplexed Information and Computing System) GUI (Graphical User Interface) ix DANH SÁCH CÁC BẢNG Bảng 3.1 Thời gian biểu thực đề tài .26 Bảng 4.1 Khảo nghiệm 100 lần với 50 táo lớn 50 Bảng 4.2 Khảo nghiệm 100 lần với 50 táo trung .51 Bảng 4.3 Khảo nghiệm 100 lần với 50 táo nhỏ 52 Bảng 4.4 Khảo nghiệm 100 lần 100 táo loại 53 x 4.4.2 Giải thuật phân loại táo theo kích thƣớc Bắt đầu Sai Kiểm tra cảm biến buồng chụp ảnh thu nhận ảnh Chuyển ảnh xám chuyển nhị phân,tính kích thước Diện tích >= 62000pixel? Loại A Sai Diện tích >= 50000pixel? Loại B Sai Loại C Sai ` cảm biến phận phân loại? Phát lệnh điều khiển phân loại Sai Kiểm tra tín hiệu kết thúc? Kết thúc 46 4.4.3 Giải thích trình hoạt động hệ thống Khi bắt đầu chương trình hệ thống kiểm tra cảm biến buồng chụp ảnh Nếu phát có táo qua, hệ thống tiến hành thu ảnh gốc RGB Sau đó, chương trình xử lý ảnh táo, tách đối tượng để tìm contour táo tính kích thước Tiếp theo, hệ thống so sánh kích thước vừa chụp với kích thước mẫu Nếu kích thước nằm khoảng kích thước loại A gán trái vừa chụp loại A Nếu kích thước nằm khoảng kích thước loại B gán trái vừa chụp B Nếu kích thước nhỏ loại B gán trái vừa chụp loại C Sau đó, cảm biến phận phân loại kiểm tra táo đến điều khiển phân loại phân loại khây chứa tương ứng Quá trình thực liên tục nhận tín hiệu kết thúc hệ thống dừng Hình 4.30 Vận hành thực tế mơ hình 4.5 Khảo nghiệm thực tế kết  Các bước tiến hành đo kích thước lấy mẫu chuẩn cho loại: - Bước : Phân loại táo mắt thường loại: loại A, loại B, loại C - Bước : Kiểm tra lại mẫu vừa phân loại bước thước đo để tính kích thước thực tế Từ phân loại mẫu theo kích thước đo - Bước 3: Dựa vào mẫu phân loại theo kích thước thực tế ta đưa vào chụp ảnh lấy thước theo pixel - Bước 4: Gán giá trị theo pixel loại vào chương trình phân loại xử lý ảnh 47  Sau lấy mẫu loại xong,ta tiến hành khảo sát thực tế có kết sau: Khi tiến hành phân loại 50 trái loại A (quả lớn) với 100 lần mơ hình Tốc độ phân loại 60 (trái / phút) có kết sau: số lần 10 … 90 91 92 93 94 95 96 97 98 99 100 kết tỷ lệ kết máy Trái lớn Trái lớn Trái lớn Trái trung Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn … Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn số lần 99 99% Xác nhận kết Đúng Đúng Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng … Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng số lần sai 1% Bảng 4.1 Khảo nghiệm 100 lần với 50 táo lớn 48 Khi tiến hành phân loại 50 trái loại B (quả trung) với 100 lần mơ hình Tốc độ phân loại 60 (trái / phút) có kết sau: số lần 10 … 90 91 92 93 94 95 96 97 98 99 100 kết tỷ lệ kết máy Trái trung Trái lớn Trái lớn Trái trung Trái trung Trái trung Trái trung Trái trung Trái trung Trái trung … Trái trung Trái trung Trái trung Trái nhỏ Trái trung Trái trung Trái trung Trái trung Trái trung Trái trung Trái trung số lần 98 98% Xác nhận kết Đúng Đúng Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng … Đúng Đúng Đúng Sai Đúng Đúng Đúng Đúng Đúng Đúng Đúng số lần sai 2% Bảng 4.2: Khảo nghiệm 100 lần với 50 táo trung 49 Khi tiến hành phân loại 50 trái loại C (quả nhỏ) với 100 lần mơ hình Tốc độ phân loại 60 (trái / phút) có kết sau: số lần 10 … 90 91 92 93 94 95 96 97 98 99 100 kết tỷ lệ kết máy Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ … Trái nhỏ Trái trung Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ số lần 99 99% Xác nhận kết Đúng Đúng Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng … Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng số lần sai 1% Bảng 4.3 Khảo nghiệm 100 lần với 50 táo nhỏ 50 Khi tiến hành phân loại 100 trái loại A, loại B loại C với 100 lần mơ hình Tốc độ phân loại 60 (trái / phút) có kết sau: số lần 10 … 90 91 92 93 94 95 96 97 98 99 100 kết thực tế Trái to Trái to Trái nhỏ Trái to Trái trung Trái trung Trái trung Trái nhỏ Trái nhỏ Trái trung … Trái nhỏ Trái nhỏ Trái to Trái trung Trái to Trái to Trái to Trái nhỏ Trái nhỏ Trái trung Trái trung kết tỷ lệ kết máy Trái to Trái to Trái nhỏ Trái to Trái trung Trái trung Trái trung Trái nhỏ Trái nhỏ Trái trung … Trái nhỏ Trái nhỏ Trái nhỏ Trái trung Trái to Trái to Trái to Trái nhỏ Trái nhỏ Trái trung Trái trung số lần 98 98% Xác nhận kết Đúng Đúng Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng … Đúng Đúng Sai Đúng Đúng Đúng Đúng Đúng Đúng Đúng số lần sai 2% Bảng 4.4 Hình khảo nghiệm 100 lần 100 táo loại  Kết luận: Độ xác trung bình bốn lần thử nghiệm (99% + 98% + 99% + 98%)/4 = 98.5% Vậy, qua kết khảo nghiệm cho thấy tỷ lệ xác phân loại mơ hình cao 51 Chương KẾT LUẬN VÀ ĐỀ NGHỊ Quá trình thực kết hợp với lý thuyết sở tìm hiểu được, đề tài đạt số kết sau: 5.1 Kết đạt đƣợc - Chương trình xây dựng máy tính nhúng Raspberry pi kết nối với camera USB để thu ảnh - Đã thiết kế chế tạo hồn chỉnh mơ hình khí kết hợp với động cảm biến để phân loại táo - Xây dựng hoàn chỉnh mạch điều khiển kết hợp với mạch công suất để điều khiển cấu cách ổn định - Xây dựng chương trình xử lý ảnh trích xuất đặc trưng kích thước hình dạng táo - Xây dựng thuật toán phân loại táo dựa vào kích thước - Kết khảo nghiệm cho thấy hệ thống hoạt động tương đối nhanh, xác ổn định - Hệ thống điều khiển thiết kế dễ dàng sử dụng, có chức hỗ trợ giúp việc sử dụng dễ dàng 5.2 Hƣớng phát triển đề tài Chất lượng hình ảnh phụ thuộc nhiều vào độ phân giải camera Trong phạm vi đề tài sử dụng camera có độ phân giải 640x480, chọn camera có độ phân giải cao cho độ xác cao Tuy nhiên với độ phân giải cao địi hỏi hệ thống máy tính có tốc độ cao Ngồi để tối ưu hóa phương pháp phân loại xử lí ảnh việc phân loại theo kích thước chưa đủ, chưa phát huy hết lợi ích từ phương pháp xử lí ảnh đối tượng xử lí hình ảnh màu sắc, mà tất phương pháp phân loại khác xử lí ví dụ phân loại theo độ chín trái 52 cây, loại bỏ trái hư hỏng dựa vào màu sắc, phân loại hàng hóa dựa vào mẫu mã hình dáng, tự động nhận dạng vật thể dựa vào hình dáng kích thước…vì tương lai phát triển mơ hình theo hướng phù hợp phát huy hết tối ưu xử lí ảnh Do giới hạn đề tài tốt nghiệp nên dừng lại mơ hình Ta đưa vào ứng dụng thực tế đưa thiết kế, xử dụng thiết bị có độ xử lí độ ổn định cao hơn,thiết kế mạch công suất để điều khiển động có cơng suất lớn.Xây dựng hệ thống có quy mơ lớn để đáp ứng suất thay sức lao động người 53 TÀI LIỆU THAM KHẢO  Tài liệu tiếng Việt [1] Đỗ Năng Tồn, Phạm Việt Bình (2008), Giáo trình xử lý ảnh – ĐH Thái Nguyên, Nxb Khoa học kỹ thuật, 2008 [2] Lương Mạnh Bá, Nguyễn Thanh Thủy (2003), Nhập Môn Xử lý ảnh số, Nxb Khoa học Kỹ thuật, 2003 [3] Nguyễn Kim Sách (1997), Xử lý ảnh Video số, Nxb Khoa học Kỹ thuật, 1997  Tài liệu tiếng Anh [4] John C.Russ (1995), The Image Procesing Handbook CRC Press, Inc [5] Adrian Low (1991), Introductory Computer Vision and Image Processing, Copyright (c) 1991 by McGrow Hill Book Company (UK) Limited [6] Anil K.Jain (1989), Fundamental of Digital Image Processing Prentice Hall, Engwood cliffs 54 PHỤ LỤC import RPi.GPIO as GPIO import numpy as np import cv2 import time start=31 stop=35 pwmm=37 kiemtra=0 kiemtra1=0 cb1=11 cb2=12 ctht3=38 ctht4=40 dc1=26 dc2=29 cb3=19 ctht1=21 ctht2=22 dc3=23 dc4=33 GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) cap = cv2.VideoCapture(0) dem=0 dem1=0 a=0 b=0 list=[0,0,0,0,0,0,0,0,0,0,0,0] if cap.isOpened() == False: 55 print('Unable to open the camera') else: print('Start grabbing, press a key on Live window to terminate') def my_callback(channel): print('chup anh') global dem,list frame1=frame imgray = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(imgray, 60,255, 0) im2,contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnt = contours[0] max1=cv2.contourArea(contours[0]) for i in range(0,len(contours)): cnt= contours[i] area = cv2.contourArea(cnt) if area>max1: max1=area j=i print(max1) x,y,w,h = cv2.boundingRect(contours[j]) cv2.rectangle(frame1,(x,y),(x+w,y+h),(0,255,0),2) ten=str(dem) ten=ten +'.jpg' cv2.imwrite(ten,frame1) if(max1>20000): list[dem]=max1 dem+=1 if dem==10: dem=0 56 def my_callback1(channel): global kiemtra,dem1,list #print ("falling edge detected on 11") if list[dem1]>=62000: list[dem1]=0 dem1+=1; if dem1==10: dem1=0 if ((GPIO.input(dc1)==0)&(GPIO.input(dc2)==0)): if kiemtra==0: GPIO.output(dc1,1) GPIO.output(dc2,0) else: GPIO.output(dc2,1) GPIO.output(dc1,0) def my_callback2(channel): global kiemtra1,dem1,list #print ("falling edge detected on 19") if ((list[dem1]=50000)): if ((GPIO.input(dc3)==0)&(GPIO.input(dc4)==0)): if kiemtra1==0: GPIO.output(dc3,1) GPIO.output(dc4,0) else: GPIO.output(dc3,0) GPIO.output(dc4,1) if(list[dem1]>20000 ): list[dem1]=0 dem1+=1; if dem1==10: 57 dem1=0 GPIO.setup(cb1, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(cb2, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(ctht1, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(ctht2, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(dc1, GPIO.OUT) GPIO.setup(dc2, GPIO.OUT) GPIO.setup(cb3, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(ctht3, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(ctht4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(dc3, GPIO.OUT) GPIO.setup(dc4, GPIO.OUT) GPIO.add_event_detect(cb1, GPIO.FALLING, callback=my_callback1, bouncetime=500) GPIO.add_event_detect(cb2, GPIO.FALLING, callback=my_callback, bouncetime=500) GPIO.add_event_detect(cb3, GPIO.FALLING, callback=my_callback2, bouncetime=500) GPIO.setup(start,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) GPIO.setup(stop,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) GPIO.setup(pwmm,GPIO.OUT) pwm=GPIO.PWM(pwmm,100) pwm.start(0) GPIO.output(dc1,1) GPIO.output(dc2,0) GPIO.output(dc3,1) GPIO.output(dc4,0) while(1): ret,frame = cap.read() imgray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 58 ret, thresh = cv2.threshold(imgray, 60,255, 0) cv2.imshow('dasa',frame) cv2.imshow('dwasa',thresh) if (GPIO.input(stop)==1): if b==1: print ('stop') pwm.ChangeDutyCycle(0) b=0 if (GPIO.input(start)==1): if b==0: print ('start') b=1 for t in range(0,101): pwm.ChangeDutyCycle(t) time.sleep(0.05) if ((GPIO.input(dc1)==1)&(GPIO.input(ctht1)==1)): GPIO.output(dc1,0) kiemtra=1 if ((GPIO.input(dc2)==1)&(GPIO.input(ctht2)==1)): GPIO.output(dc2,0) kiemtra=0 if ((GPIO.input(dc3)==1)&(GPIO.input(ctht3)==1)): GPIO.output(dc3,0) kiemtra1=1 if ((GPIO.input(dc4)==1)&(GPIO.input(ctht4)==1)): GPIO.output(dc4,0) kiemtra1=0 if ret==False: print('Unable to grab from the camera') if cv2.waitKey(1) & 0xFF == ord('q'): 59 cap.release() out.release() cv2.destroyAllWindows() break 60 ... Thiết kế, chế tạo mơ hình phân loại táo thơng qua kích thước trái ” thực trường Đại Học Nơng Lâm Thành Phố Hồ Chí Minh, thời gian từ tháng đến tháng năm 2018 Đề tài thiết kế chế tạo mơ hình phân. .. vẽ 3D mơ hình phân loại táo .39 Hình 4.19 Bản vẽ 2D mơ hình phân loại táo .39 Hình 4.20 Mơ hình phân loại táo thực tế .40 Hình 4.21 Sơ đồ khối mơ hình 40 Hình 4.22...THIẾT KẾ, CHẾ TẠO MƠ HÌNH PHÂN LOẠI TÁO THƠNG QUA KÍCH THƢỚC CỦA TRÁI Tác giả MAI THẾ KIỆT VÕ ĐỨC BẢY Khóa luận tốt nghiệp đƣợc đệ trình đáp ứng yêu cầu

Ngày đăng: 24/07/2020, 20:24

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w