版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
?NXROBO20231
1.智能機(jī)器人視覺(jué)應(yīng)用
——人臉檢測(cè)課程介紹課程安排:
1)OpenCV介紹與安裝2)配置人臉檢測(cè)程序
3)運(yùn)行人臉檢測(cè)程序課程目的:實(shí)現(xiàn)通過(guò)人臉檢測(cè)檢測(cè)出視野范圍內(nèi)的人臉?NXROBO2023實(shí)現(xiàn)效果?NXROBO2023人臉檢測(cè)效果OpenCV安裝4?NXROBO2023OpenCV(OpenSourceComputerVisionLibrary)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù)。它提供了豐富的圖像處理和計(jì)算機(jī)視覺(jué)算法,可以用于開(kāi)發(fā)各種應(yīng)用程序,包括圖像和視頻處理、目標(biāo)檢測(cè)和識(shí)別、人臉識(shí)別、圖像分割、運(yùn)動(dòng)跟蹤等。ROS中已經(jīng)集成了OpenCV庫(kù)和相關(guān)的接口功能包,使用以下命令即可安裝:$sudoaptinstallros-noetic-vision-opencvlibopencv-devpython3-opencv配置人臉檢測(cè)程序新建spark_vision文件夾
拷貝face_detector功能包為python文件添加可執(zhí)行權(quán)限?NXROBO2023運(yùn)行程序啟動(dòng)攝像頭
?NXROBO2023運(yùn)行人臉檢測(cè)程序$roslaunchcamera_driver_transferd435.launch$cdspark_noetic/$sourcedevel/setup.bash$rosrunface_detectorfacedetect.py檢測(cè)程序講解?NXROBO2023#!/usr/bin/envpython3#-*-coding:utf-8-*-importosimportnumpyasnpimportcv2importrospyfromstd_msgs.msgimportStringfromsensor_msgs.msgimportImagefromcv_bridgeimportCvBridge,CvBridgeError#localmodulesfromcommonimportclock,draw_strclassFacedetect():
def__init__(self):#創(chuàng)建訂閱圖像信息的訂閱者,回調(diào)函數(shù)callbackself.image_sub=rospy.Subscriber("/camera/color/image_raw",Image,self.callback)#檢測(cè)函數(shù)defdetect(self,img,cascade):'''使用級(jí)聯(lián)分類器(CascadeClassifier)對(duì)圖像進(jìn)行目標(biāo)檢測(cè),返回的結(jié)果rects是一個(gè)包含檢測(cè)到目標(biāo)的矩形框(ROI)的列表,每個(gè)矩形框表示一個(gè)檢測(cè)到的目標(biāo)。每個(gè)矩形框由四個(gè)值組成:(x,y,width,height),表示矩形框的左上角坐標(biāo)和寬度、高度。'''rects=cascade.detectMultiScale(img,scaleFactor=1.3,minNeighbors=4,minSize=(30,30),flags=cv2.CASCADE_SCALE_IMAGE)iflen(rects)==0:return[]#將檢測(cè)到的人臉矩形框的坐標(biāo)轉(zhuǎn)換為左上角坐標(biāo)和右下角坐標(biāo)的形式。rects[:,2:]+=rects[:,:2]returnrectsdefdraw_rects(self,img,rects,color):forx1,y1,x2,y2inrects:cv2.rectangle(img,(x1,y1),(x2,y2),color,2)#回調(diào)函數(shù)defcallback(self,data):try:#ROS圖像與OpenCV圖像格式之間進(jìn)行轉(zhuǎn)換image=CvBridge().imgmsg_to_cv2(data,"bgr8")exceptCvBridgeErrorase:print(e)
#獲取當(dāng)前腳本的目錄路徑script_dir=os.path.dirname(os.path.abspath(__file__))
#構(gòu)建級(jí)聯(lián)分類器文件的相對(duì)路徑cascade_path=os.path.join(script_dir,"../data/haarcascades/haarcascade_frontalface_alt.xml")nested_path=os.path.join(script_dir,"../data/haarcascades/haarcascade_eye.xml")#創(chuàng)建級(jí)聯(lián)分類器對(duì)象cascade=cv2.CascadeClassifier(cascade_path)nested=cv2.CascadeClassifier(nested_path)gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)#圖像灰度化gray=cv2.equalizeHist(gray)#直方圖均衡化t=clock()rects=self.detect(gray,cascade)#檢測(cè)圖像中的人臉vis=image.copy()self.draw_rects(vis,rects,(0,255,0))#在圖像上繪制人臉矩形框ifnotnested.empty():forx1,y1,x2,y2inrects:roi=gray[y1:y2,x1:x2]vis_roi=vis[y1:y2,x1:x2]subrects=self.detect(roi.copy(),nested)#檢測(cè)人臉區(qū)域中的眼睛self.draw_rects(vis_roi,subrects,(255,0,0))#在眼睛區(qū)域繪制矩形框dt=clock()-tdraw_str(vis,(20,20),'time:%.1fms'%(dt*1000))#在圖像上繪制處理時(shí)間cv2.imshow('facedetect',vis)#顯示帶有檢測(cè)結(jié)果的圖像cv2.waitKey(1)defmain():rospy.init_node('facedetector',anonymous=True)Facedetect()try:rospy.spin()exceptKeyboardInterrupt:print("Shuttingdown")cv2.destroyAllWindows()if__name__=='__main__':main()?NXROBO20238
2.智能機(jī)器人視覺(jué)應(yīng)用
——人臉識(shí)別課程介紹課程安排:
1)人臉識(shí)別介紹2)人臉識(shí)別訓(xùn)練3)人臉識(shí)別
課程目的:實(shí)現(xiàn)通過(guò)人臉識(shí)別識(shí)別出訓(xùn)練過(guò)的人臉,并將人臉信息打印到圖片上?NXROBO2023實(shí)現(xiàn)效果?NXROBO2023人臉識(shí)別效果OpenCV安裝11?NXROBO2023OpenCV提供了用于人臉識(shí)別的功能和算法,使開(kāi)發(fā)者能夠?qū)崿F(xiàn)各種人臉識(shí)別應(yīng)用。人臉識(shí)別是一種計(jì)算機(jī)視覺(jué)技術(shù),旨在檢測(cè)和識(shí)別圖像或視頻中的人臉,并將其與預(yù)先存儲(chǔ)的人臉進(jìn)行比較和匹配。ROS中已經(jīng)集成了OpenCV庫(kù)和相關(guān)的接口功能包,使用以下命令即可安裝:(已安裝請(qǐng)忽略)$sudoaptinstallros-noetic-vision-opencvlibopencv-devpython3-opencv配置程序拷貝face_recognizer功能包為python文件添加可執(zhí)行權(quán)限?NXROBO2023將課程代碼中的face_recognizer功能包復(fù)制到spark_vision中(/home/spark/spark_noetic/src/spark_app/spark_vision/face_recognizer)準(zhǔn)備人臉識(shí)別圖像13?NXROBO2023圖片命名格式為:id.姓名準(zhǔn)備了三張人臉信息圖像,放置在/spark_vision/face_recognizer/faces路徑下訓(xùn)練人臉圖像14?NXROBO2023運(yùn)行人臉識(shí)別訓(xùn)練程序train_date.py(/spark_vision/face_recognizer/script)$cd/home/spark/spark_noetic/src/spark_app/spark_vision/face_recognizer/script$python3train_date.py訓(xùn)練程序講解(頭文件與main函數(shù))?NXROBO2023importcv2importosfromPILimportImageimportnumpyasnpif__name__=='__main__':#獲取當(dāng)前腳本的目錄路徑script_dir=os.path.dirname(os.path.abspath(__file__))#圖片路徑path=os.path.join(script_dir,"../faces")#獲取圖象數(shù)組id標(biāo)簽和姓名faces,ids,names=getImageAndLables(path)#加載識(shí)別源recognizer=cv2.face.LBPHFaceRecognizer_create()#訓(xùn)練recognizer.train(faces,np.array(ids))#保存文件recognizer.write(os.path.join(path,"../data/haarcasades"))訓(xùn)練程序講解(getImageAndLables函數(shù))?NXROBO2023defgetImageAndLables(path):#存儲(chǔ)人臉數(shù)據(jù)faceSamples=[]#存儲(chǔ)id數(shù)據(jù)ids=[]#存儲(chǔ)姓名數(shù)據(jù)names=[]#存儲(chǔ)圖片信息imagePaths=[os.path.join(path,f)forfinos.listdir(path)]#打印數(shù)組imagePathsprint('數(shù)據(jù)排列:',imagePaths)#分類器地址cascade_path=os.path.join(path,"../data/haarcascades/haarcascade_frontalface_default.xml")#加載分類器face_detector=cv2.CascadeClassifier(cascade_path)
#遍歷列表中的圖片forimagePathinimagePaths:#打開(kāi)圖片,并且灰度化PIL有九種不同的模式:1,L,P,RGB,RGBA,CMYK,YCbCr,I,F.PIL_img=Image.open(imagePath).convert('L')#將圖片轉(zhuǎn)換為數(shù)組,以黑白深淺img_numpy=np.array(PIL_img,'uint8')#獲取人臉特征faces=face_detector.detectMultiScale(img_numpy)#獲取每張有圖片的的ID和姓名id=int(os.path.split(imagePath)[1].split('.')[0])name=str(os.path.split(imagePath)[1].split('.')[1])#預(yù)防無(wú)面容圖片forx,y,w,hinfaces:ids.append(id)names.append(name)faceSamples.append(img_numpy[y:y+h,x:x+w])#打印臉部特征和IDprint('name:',name)print('fs:',faceSamples)returnfaceSamples,ids,names運(yùn)行程序啟動(dòng)攝像頭
?NXROBO2023運(yùn)行人臉識(shí)別程序$roslaunchcamera_driver_transferd435.launch$cdspark_noetic/$sourcedevel/setup.bash$rosrunface_recognizerface_recognition.py識(shí)別程序講解?NXROBO2023defface_detect_demo(self,img):try:#ROS圖像與OpenCV圖像格式之間進(jìn)行轉(zhuǎn)換img=CvBridge().imgmsg_to_cv2(img,"bgr8")exceptCvBridgeErrorase:print(e)#設(shè)置成灰度圖片gary=cv.cvtColor(img,cv.COLOR_BGR2GRAY)#導(dǎo)入人臉檢測(cè)訓(xùn)練好的模型--分類器face_detect=cv.CascadeClassifier(self.cascade_path)#開(kāi)始檢測(cè)face=face_detect.detectMultiScale(gary,1.15,cv.CASCADE_SCALE_IMAGE)
forx,y,w,hinface:cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)#獲取人臉id與置信度ids,confidence=self.recogizer.predict(gary[y:y+h,x:x+w])print('id:',ids,'confidence:',confidence)#如果置信度超過(guò)閾值80,則將人臉標(biāo)記為"unknow",否則將顯示對(duì)應(yīng)的ID。ifconfidence>80:self.warningtime+=1ifself.warningtime>90:self.warningtime=0print("unknowpeople")cv.putText(img,'unknow',(x+10,y-10),cv.FONT_HERSHEY_SIMPLEX,0.75,(0,255,0),1)else:cv.putText(img,str(s[ids-1]),(x+10,y-10),cv.FONT_HERSHEY_SIMPLEX,0.75,(0,255,0),1)cv.imshow('result',img)cv.waitKey(1)?NXROBO202319
3.智能機(jī)器人視覺(jué)應(yīng)用
——顏色識(shí)別課程介紹課程安排:
1)hsv顏色空間介紹2)顏色識(shí)別程序配置3)運(yùn)行顏色識(shí)別課程目的:實(shí)現(xiàn)識(shí)別并圈出視野范圍內(nèi)的目標(biāo)顏色?NXROBO2023實(shí)現(xiàn)效果?NXROBO2023顏色識(shí)別效果hsv顏色空間介紹22?NXROBO2023HSV顏色空間比RGB更接近人們對(duì)彩色的感知經(jīng)驗(yàn)。非常直觀地表達(dá)顏色的色調(diào)、鮮艷程度和明暗程度,方便進(jìn)行顏色的對(duì)比。HSV表達(dá)彩色圖像的方式由三個(gè)部分組成:Hue(色調(diào)、色相),色相是顏色的基本屬性,用角度度量,取值范圍為0°~360°,從紅色開(kāi)始按逆時(shí)針?lè)较蛴?jì)算;Saturation(飽和度、色彩純凈度),飽和度是指顏色的純度,越高顏色越純,低則逐漸變灰,取0-100%的數(shù)值;Value(明度),明度是指顏色的亮暗程度,越高顏色越亮,越低顏色越暗,取0-100%的數(shù)值。HSV顏色空間可以用一個(gè)圓錐體或一個(gè)圓柱體來(lái)表示配置程序拷貝color_detection功能包為python文件添加可執(zhí)行權(quán)限?NXROBO2023將課程代碼中的color_detection功能包復(fù)制到spark_vision中(/home/spark/spark_noetic/src/spark_app/spark_vision/color_detection)運(yùn)行程序啟動(dòng)攝像頭
?NXROBO2023運(yùn)行顏色識(shí)別程序$roslaunchcamera_driver_transferd435.launch$cdspark_noetic/$sourcedevel/setup.bash$rosruncolor_detectioncolor_detection.py識(shí)別程序講解?NXROBO2023defcallback(self,data):try:image=CvBridge().imgmsg_to_cv2(data,"bgr8")#將ROS圖像格式轉(zhuǎn)換為OpenCV圖像格式exceptCvBridgeErrorase:print(e)hsv=cv.cvtColor(image,cv.COLOR_BGR2HSV)#將圖像轉(zhuǎn)換為HSV顏色空間mask=cv.inRange(hsv,(71,120,120),(100,255,255))#根據(jù)顏色閾值范圍創(chuàng)建掩膜line=cv.getStructuringElement(cv.MORPH_RECT,(15,15),(-1,-1))#創(chuàng)建用于形態(tài)學(xué)操作的線狀結(jié)構(gòu)元素mask=cv.morphologyEx(mask,cv.MORPH_OPEN,line)#進(jìn)行形態(tài)學(xué)開(kāi)運(yùn)算contours,hierarchy=cv.findContours(mask,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE)#查找輪廓index=-1max_area=0forcinrange(len(contours)):area=cv.contourArea(contours[c])#計(jì)算輪廓的面積ifarea>max_area:#找到最大面積的輪廓max_area=areaindex=cifindex>=0:rect=cv.minAreaRect(contours[index])#擬合最小外接矩形cv.ellipse(image,rect,(0,255,0),2,8)#繪制橢圓cv.circle(image,(32(rect[0][0]),32(rect[0][1])),2,(255,0,0),2,8,0)#繪制圓點(diǎn)cv.imshow("output",image)#顯示圖像cv.waitKey(1)?NXROBO202326
4.智能機(jī)器人視覺(jué)應(yīng)用
——行人檢測(cè)課程介紹課程安排: 1)HOG算法 2)行人檢測(cè)程序配置 3)運(yùn)行行人檢測(cè)程序
課程目的:實(shí)現(xiàn)spark通過(guò)攝像頭識(shí)別行人。?NXROBO2023實(shí)現(xiàn)效果?NXROBO2023行人檢測(cè)效果配置程序拷貝spark_target_following工作空間?NXROBO2023將課程代碼中的spark_target_following工作空間復(fù)制到spark中(/home/spark/)實(shí)操部分編譯更新環(huán)境運(yùn)行程序$cd~/spark_target_following$catkin_make$source~/spark_target_following/devel/setup.bash?NXROBO2022$roslaunchspark_followerbringup.launch識(shí)別程序講解?NXROBO2023defface_detect_demo(self,img):try:#ROS圖像與OpenCV圖像格式之間進(jìn)行轉(zhuǎn)換img=CvBridge().imgmsg_to_cv2(img,"bgr8")exceptCvBridgeErrorase:print(e)#設(shè)置成灰度圖片gary=cv.cvtColor(img,cv.COLOR_BGR2GRAY)#導(dǎo)入人臉檢測(cè)訓(xùn)練好的模型--分類器face_detect=cv.CascadeClassifier(self.cascade_path)#開(kāi)始檢測(cè)face=face_detect.detectMultiScale(gary,1.15,cv.CASCADE_SCALE_IMAGE)
forx,y,w,hinface:cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)#獲取人臉id與置信度ids,confidence=self.recogizer.predict(gary[y:y+h,x:x+w])print('id:',ids,'confidence:',confidence)#如果置信度超過(guò)閾值80,則將人臉標(biāo)記為"unknow",否則將顯示對(duì)應(yīng)的ID。ifconfidence>80:self.warningtime+=1ifself.warningtime>90:self.warningtime=0print("unknowpeople")cv.putText(img,'unknow',(x+10,y-10),cv.FONT_HERSHEY_SIMPLEX,0.75,(0,255,0),1)else:cv.putText(img,str(s[ids-1]),(x+10,y-10),cv.FONT_HERSHEY_SIMPLEX,0.75,(0,255,0),1)cv.imshow('result',img)cv.waitKey(1)5.通過(guò)深度圖信息處理讓機(jī)器人跟著你走?NXROBO202232實(shí)現(xiàn)效果33?NXROBO2022課程介紹課程安排: 1)深度攝像頭D435介紹 2)點(diǎn)云與PCL概述 3)nodelet的簡(jiǎn)單使用說(shuō)明 4)實(shí)現(xiàn)跟蹤的代碼講解相關(guān)知識(shí)點(diǎn):D435深度攝像頭,nodelet,機(jī)器視覺(jué),運(yùn)動(dòng)控制課程目的:實(shí)現(xiàn)spark通過(guò)深度圖信息處理進(jìn)行跟蹤?NXROBO2022深度攝像頭D435介紹35?NXROBO2022深度攝像頭D435深度攝像頭D435介紹36?NXROBO2022深度攝像頭D435深度攝像頭D435技術(shù)規(guī)格介紹37?NXROBO2022深度攝像頭D435點(diǎn)云概述38?NXROBO2022人的側(cè)臉3D點(diǎn)云圖點(diǎn)云PointCloud是三維空間中,表達(dá)目標(biāo)空間分布和目標(biāo)表面特性的點(diǎn)的集合,點(diǎn)云通??梢詮纳疃认鄼C(jī)中直接獲取,也可以從CAD等軟件中生成。點(diǎn)云是在同一空間參考系下表達(dá)目標(biāo)空間分布和目標(biāo)表面特性的海量點(diǎn)集合,在獲取物體表面每個(gè)采樣點(diǎn)的空間坐標(biāo)后,得到的是點(diǎn)的集合,稱之為“點(diǎn)云”(PointCloud)。點(diǎn)云是用于表示多維點(diǎn)集合的數(shù)據(jù)結(jié)構(gòu),通常用于表示三維數(shù)據(jù)。在3D點(diǎn)云中,這些點(diǎn)通常代表采樣表面的X,Y和Z幾何坐標(biāo)。參考網(wǎng)址:/documentation/tutorials/PCL概述39?NXROBO2022PCLPCL(PointCloudLibrary)是用于2D/3D圖像和點(diǎn)云處理的大型開(kāi)源跨平臺(tái)的C++編程庫(kù)。PCL框架實(shí)現(xiàn)了大量點(diǎn)云相關(guān)的通用算法和高效的數(shù)據(jù)結(jié)構(gòu)。內(nèi)容涉及了點(diǎn)云的獲取、濾波、分割、配準(zhǔn)、檢索、特征提取、特征估計(jì),表面重建、識(shí)別、模型擬合、追蹤、曲面重建、可視化等等,這些算法可用于從嘈雜的數(shù)據(jù)中過(guò)濾出異常值,將3D點(diǎn)云縫合在一起,分割場(chǎng)景的部分區(qū)域,提取關(guān)鍵點(diǎn)并計(jì)算描述符,根據(jù)物體的幾何外觀識(shí)別實(shí)際物體,創(chuàng)建表面點(diǎn)云并將其可視化。支持多種操作系統(tǒng),可以在Windows、Linux、MacOSX、Android、部分嵌入式實(shí)時(shí)系統(tǒng)上運(yùn)行?;绢愋蚉ointCloud40?NXROBO2022PCL的基本數(shù)據(jù)類型是PointCloud,一個(gè)PointCloud是一個(gè)C++的模板類,它包含了以下字段:width(int):指定點(diǎn)云數(shù)據(jù)集的寬度對(duì)于無(wú)組織格式的數(shù)據(jù)集,width代表了所有點(diǎn)的總數(shù)對(duì)于有組織格式的數(shù)據(jù)集,width代表了一行中的總點(diǎn)數(shù)height(int):制定點(diǎn)云數(shù)據(jù)集的高度對(duì)于無(wú)組織格式的數(shù)據(jù)集,值為1對(duì)于有組織格式的數(shù)據(jù)集,表示總行數(shù)points(std::vector<PointT>):包含所有PointT類型的點(diǎn)的數(shù)據(jù)列表衍生類型PointXYZ-floatx,y,z
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康教育在公共衛(wèi)生領(lǐng)域的重要性
- 2025中國(guó)聯(lián)通江蘇省分公司招聘19人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)移動(dòng)福建公司春季校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)電信河北衡水分公司校園招聘6人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)煙草總公司海南省公司海口雪茄研究所招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)交建軌道交通事業(yè)部招聘14人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年重慶渝中區(qū)事業(yè)單位歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年山東煙臺(tái)市棲霞市事業(yè)單位招聘本科及以上學(xué)歷畢業(yè)生入伍9人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川瀘州市龍馬潭區(qū)事業(yè)單位招聘工作人員19人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上海市生物醫(yī)藥科技發(fā)展中心公開(kāi)招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 國(guó)家開(kāi)放大學(xué)《MySQL數(shù)據(jù)庫(kù)應(yīng)用》章節(jié)測(cè)試參考答案
- 機(jī)械設(shè)計(jì)外文文獻(xiàn)翻譯、中英文翻譯、外文翻譯
- 復(fù)方氨基酸雙肽產(chǎn)品知識(shí)講義
- 奇門遁甲在現(xiàn)代商業(yè)競(jìng)爭(zhēng)中的應(yīng)用
- 績(jī)效考核評(píng)分標(biāo)準(zhǔn)
- 電力建設(shè)施工技術(shù)管理
- 股權(quán)投資郵箱
- 江蘇省全日制勞動(dòng)合同書(shū)模板
- (完整版)八年級(jí)下冊(cè)所有古詩(shī)及文言文(人教版)
- 鋁合金攪拌摩擦焊的工藝研究
- JGP9L-6(10)(Y)(ZNCK-4A)-霍工090608結(jié)構(gòu)圖電子版的
評(píng)論
0/150
提交評(píng)論