《機器視覺項目實踐與開發(fā)》課件-項目一:視覺成像系統(tǒng)選型與調(diào)試_第1頁
《機器視覺項目實踐與開發(fā)》課件-項目一:視覺成像系統(tǒng)選型與調(diào)試_第2頁
《機器視覺項目實踐與開發(fā)》課件-項目一:視覺成像系統(tǒng)選型與調(diào)試_第3頁
《機器視覺項目實踐與開發(fā)》課件-項目一:視覺成像系統(tǒng)選型與調(diào)試_第4頁
《機器視覺項目實踐與開發(fā)》課件-項目一:視覺成像系統(tǒng)選型與調(diào)試_第5頁
已閱讀5頁,還剩64頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

機器視覺項目實踐與開發(fā)項目一:視覺成像系統(tǒng)選型與調(diào)試日期:2025.1122024年12月,中國DEEPSEEKAI大模型發(fā)布,引起美國股市大幅下跌,OPENAI公司,英偉達公司股市12月份暴跌17%。創(chuàng)新不能被計劃,但他們都在為創(chuàng)新做準備3真正的偉大創(chuàng)新是計劃不出來的,跟著好奇心一步一步走,才是成就非凡的正確路徑為什么偉大不能被計劃?4大家是否想去學習圖像處理,視頻制作,學習人工智能,發(fā)現(xiàn)探索有趣的事情,去尋找自己未來的墊腳石?好玩、興趣、探索、創(chuàng)新項目一:圖像讀寫、繪圖以及幾何變換本章主要內(nèi)容:視覺的應用展示數(shù)字圖像OpenCV簡介配置開發(fā)環(huán)境使用OpenCV文檔和示例項目一51.2計算機視覺的應用展示

本節(jié)主要內(nèi)容:缺陷檢測目標檢測自動駕駛位姿估算61.1.1缺陷檢測

晶圓外觀缺陷檢測1

71.1.1缺陷檢測

晶圓外觀缺陷檢測2

81.1.2目標檢測

91.1.2目標檢測

101.1.2目標檢測

111.1.3自動駕駛

121.1.3自動駕駛

131.1.4位姿估算

141.1.5表面缺陷檢測

151.1.6異常檢測

161.1.4人機交互

171.2數(shù)字圖像

本節(jié)主要內(nèi)容:什么是數(shù)字圖像數(shù)字圖像的分類色彩空間181.2.1什么是數(shù)字圖像

191.2.1什么是數(shù)字圖像

1、數(shù)字圖像是能夠在計算機上顯示和處理的圖像位圖使用數(shù)字列陣表示矢量圖使用矢量數(shù)據(jù)庫表示201.2.1什么是數(shù)字圖像

211.2.2數(shù)字圖像的分類

二值圖像:像素只有黑、白兩種顏色的圖像221.2.2數(shù)字圖像的分類

灰度圖像:不同灰度分辨率231.2.2數(shù)字圖像的分類

灰度圖像:8bit灰度值[0,256)0-黑色255-白色從0到255的每一個值代表一個灰度級241.2.2數(shù)字圖像的分類

RGB圖像:自然界中幾乎所有顏色都由R(red)G(green)B(blue)組合而成

三原色RGB中的每種顏色,同樣可以和灰度圖那樣劃分為256個等級

每個像素信息8bitx3=24bit0-255表示含這種顏色比例為0%-100%251.2.3色彩空間

RGB:R(red)、G(green)、B(blue)-常用于計算機顯示方面CMY:Cyan(青)、Magenta(品紅)、Yellow(黃)相減混色模式-常用于紙張彩色打印方面HSV:Hue(色度)、Saturation(飽和度)、Value(光強)261.2.3色彩空間

HSV:Hue(色調(diào))、Saturation(飽和度)、Value(明度)271.3相機原理

光源選擇成像原理相機與鏡頭選型281.3.1光源選擇

物體表面對光的反射、鏡面反射漫反射291.3.1光源選擇

打光方式明場暗場漫反光照301.3.1光源選擇

31環(huán)形光源條線光源面光源穹頂光源同軸光源1.3.2成像原理

理想相機:小孔成像321.3.2成像原理

透鏡相機:存在畸變331.3.2成像原理341.3.3相機與鏡頭選型

相機選型35分辨率=(視野的寬/精度)*(視野的高/精度)精度=最小缺陷尺寸/31.3.3相機與鏡頭選型

鏡頭選型36

1.3.3相機與鏡頭選型

作業(yè)1相機選型:已知某一視覺檢測項目,拍攝視野為40mmx30mm,最小缺陷為600um,請問如何選擇相機的分辨率?作業(yè)2鏡頭選擇:已知某一視覺檢測項目,拍攝視野為40mmx30mm,工作距離為60mm,請問如何選擇相機鏡頭?371.3.3相機與鏡頭選型

作業(yè)1相機選型:已知某一視覺檢測項目,拍攝視野為40mmx30mm,最小缺陷為0.06mm,請問如何選擇相機的分辨率?

精度=0.06/3

=

0.02

分辨率=40/0.02

X

30/0.02

=

2000

X

1500 MI-SU500M/C?.5”(5.70x4.28)381.3.3相機與鏡頭選型

作業(yè)2鏡頭選擇:已知某一視覺檢測項目,拍攝視野為40mmx30mm,工作距離為60mm,請問如何選擇相機鏡頭?MI-SU500M/C?.5”(5.70x4.28)f=5.7/40*60=8.55

驗證:相機分辨率2592X1944鏡頭焦距8mm視野大小5.7/8

*

60

=

42.75精度42.75/2592

=

0.0165<0.024.28/8*60=32.132.1/1944=0.0165<0.0239

1.3.4實驗室相機的使用

401.3.4實驗室相機的使用

411.4OpenCV簡介本節(jié)主要內(nèi)容:OpenCV主要功能及模塊介紹OpenCV的版本OpenCV-Python421.4.1OpenCV主要功能及模塊介紹

431.4.1OpenCV主要功能及模塊介紹

441.4.1OpenCV主要功能及模塊介紹

451.4.1OpenCV主要功能及模塊介紹

1、內(nèi)置數(shù)據(jù)結(jié)構(gòu)和輸入/輸出OpenCV內(nèi)置了豐富的與圖像處理有關的數(shù)據(jù)結(jié)構(gòu),如Image、Point、Rectangle等。core模塊實現(xiàn)了各種基本的數(shù)據(jù)結(jié)構(gòu)。imgcodecs模塊提供了圖像文件的讀寫功能,用戶使用簡單的命令即可讀寫圖像文件。2、圖像處理操作imgproc模塊提供了圖像處理操作,如圖像過濾、幾何圖像變換、繪圖、色彩空間轉(zhuǎn)換、直方圖等。3、圖形用戶界面操作。highgui模塊提供了圖像的圖形窗口操作功能,如創(chuàng)建窗口顯示圖像或者視頻、令窗口響應鍵盤和鼠標事件、操作窗口中圖像的某個區(qū)域等。461.4.1OpenCV主要功能及模塊介紹

4、視頻分析。video模塊提供了視頻分析功能,如分析視頻中連續(xù)幀之間的運動、跟蹤視頻中的目標。videostab模塊提供了視頻穩(wěn)定處理功能,可解決拍攝視頻時的抖動問題。optflow模塊提供了與光流操作相關的算法。5、3D重建。calib3d模塊提供了3D重建功能,可根據(jù)2D圖像創(chuàng)建3D場景。6、特征提取。features2d模塊提供了特征提取功能,可以從2D圖像中檢測和提取對象的特征。471.4.1OpenCV主要功能及模塊介紹

7、對象檢測。objdetect和xobjdetect模塊提供了對象檢測功能,可在圖像中檢測給定圖像的位置。8、機器學習。ml模塊提供了機器學習功能,包含了多種機器學習算法,如k近鄰(k-NearestNeighbors,kNN)、k均值聚類(k-MeansClustering)、支持向量機(SupportVectorMachines,SVM)、神經(jīng)網(wǎng)絡(NeuralNetwork)等。機器學習算法廣泛應用于目標識別、圖像分類、人臉檢測、視覺搜索等。9、深度學習。深度神經(jīng)網(wǎng)絡(DeepNeuralNetwork,DNN)模塊提供了深度學習功能。深度學習是機器學習中近幾年來快速發(fā)展的一個子領域,廣泛應用于語音識別、圖像識別、自然語言處理、圖像修復、人臉識別等。OpenCV的深度學習支持Caffe、TensorFlow、Torch、Darknet等著名的深度學習框架。481.4.1OpenCV主要功能及模塊介紹

10、計算攝影。計算攝影通過圖像處理技術來改善相機拍攝的圖像,如高動態(tài)范圍成像、全景圖像、圖像補光等。photo和xphoto模塊提供了與計算攝影有關的算法,stitching模塊提供了全景圖像算法。11、形態(tài)分析。shape模塊提供了形態(tài)分析功能,可以識別圖像中對象的形狀、分析形狀之間的相似性、轉(zhuǎn)換對象形狀等。12、人臉檢測和識別。OpenCV已在face模塊中實現(xiàn)了人臉檢測、人臉特征檢測和人臉識別功能。人臉檢測屬于對象檢測,用于找出圖像中人臉的位置和尺寸。人臉特征檢測屬于特征檢測,用于找出圖像中人臉的主要特征。人臉識別屬于對象識別,包括從已知人臉集合中找出與未知人臉最匹配的人臉,以及驗證給定人臉是否為某個已知人臉。OpenCV實現(xiàn)了基于Haar級聯(lián)分類器和基于深度學習的人臉檢測算法,以及EigenFaces、FisherFaces和局部二進制編碼直方圖(LocalBinaryPatternsHistograms,LBPH)等人臉識別算法。491.4.1OpenCV主要功能及模塊介紹

13、表面匹配。surface_matching模塊提供了3D對象識別算法和3D特征的姿態(tài)估計算法,用于根據(jù)圖像的深度和強度信息識別3D對象。14、文本檢測和識別。text模塊提供了文本檢測和識別功能,用于識別和檢測圖像中的文本,實現(xiàn)車牌識別、道路標志識別、內(nèi)容數(shù)字化等相關應用。50OpenCV應用場景OpenCV可以應用但不僅限于以下場景:二維和三維特征提取、街景圖像拼接、人臉識別系統(tǒng)、手勢識別、人機交互、動作識別、物體識別、自動檢查和監(jiān)視51分割與識別、醫(yī)學圖像分析、運動跟蹤、增強現(xiàn)實、視頻/圖像搜索與檢索、機器人與無人駕駛汽車導航與控制、駕駛員疲勞駕駛檢測等。1.4.2OpenCV的版本

521999年Intel創(chuàng)建OpenCV項目2006年10月OpenCV1.02009年10月OpenCV2.02015年6月OpenCV3.02018年11月OpenCV4.02020年10月OpenCV4.5.02021年4月OpenCV4.5.21.4.2OpenCV的版本1999年,加里·布拉德斯基在Intel公司創(chuàng)建了計算機視覺庫(ComputerVisionLibrary,CVL)項目,項目旨在提供通用的計算機視覺接口,接口用C++語言實現(xiàn),以開源方式發(fā)布。2006年10月,OpenCV1.0版本正式發(fā)布。OpenCV1.0的主要更新包括:在Windows安裝軟件包中添加了預編譯的Python模塊;增加了BorlandC++(v5.6+)生成文件;增加了圖像修復功能;添加了增強的樹分類器;在highgui模塊中增加了對JPEG2000和EXR的支持;增加了PNG、JPEG2000和OpenEXR的8位圖像輸入/輸出;更新了CMUcamera包裝器。531.4.2OpenCV的版本

2009年9月,OpenCV2.0版本發(fā)布。OpenCV2.0的主要更新包括:修復了Windows安裝包;將MinGW用于預編譯的二進制文件;增加了新的Python接口。2015年6月,OpenCV3.0版本發(fā)布。OpenCV3.x版本不再向后兼容OpenCV2.x版本。OpenCV3.0的主要更新包括:修復了包括文檔、生成腳本、Python包裝器、core、imgproc、photo、features2d、objdetect、contrib等模塊的200多處錯誤;為cv::parallel_for_()函數(shù)添加了并行后端處理功能,使所有并行處理都能得到兼容操作系統(tǒng)的支持;用Java重寫了Android上的OpenCV管理器,使其可同時支持OpenCV2.4和3.0版本。541.4.2OpenCV的版本

2018年,OpenCV4.0版本發(fā)布。OpenCV4.0的主要更新包括:其已成為C++11庫,兼容C++11的編譯器;刪除了1.x版本中的許多C函數(shù);核心模塊中與XML、YAML、JSON相關的數(shù)據(jù)結(jié)構(gòu)已在C++中全部實現(xiàn);在DNN中增加了對Mask-RCNN模型的支持、集成了ONNX解析器、部分支持YOLO對象檢測、提升了對Intel的DLDT的支持性能;增加了全新的opencv_gapi(G-API)模塊。551.4.2OpenCV的版本

2020年10月,OpenCV4.5.0版本發(fā)布該版本的主要更新內(nèi)容如下。OpenCV許可證已更改為Apache2:從OpenCV4.5.0開始,所有未來的OpenCV4.x和OpenCV5.x版本都將根據(jù)Apache2許可進行分發(fā),OpenCV3.x將繼續(xù)使用BSD許可。GSoC2020已經(jīng)結(jié)束,大多數(shù)成果已合并到OpenCV,并且在OpenCV4.5.0中可用。用OpenJPEG替換分布式Windows軟件包中的Jasper。添加了對OpenCL多個上下文的支持。更新了DNN和G-API模塊的部分內(nèi)容。2021年4月,OpenCV4.5.2版本發(fā)布OpenCV3.X版本也在持續(xù)支持更新561.4.3OpenCV-PythonOpenCV-Python是由原始OpenCVC++實現(xiàn)的Python包裝器,是OpenCV庫的Python接口。Python是吉多·范羅蘇姆(GuidovanRossum)創(chuàng)建的一種面向?qū)ο蟮摹⒔忉屝偷挠嬎銠C高級程序設計語言。Python因具有語法簡潔、易于學習、功能強大、可擴展性強、跨平臺等諸多特點,成為繼Java和C語言之后的又一熱門程序設計語言。與C/C++相比,Python速度較慢。用戶通過OpenCV-Python可獲得兩大好處:首先,代碼運行速度與原始C/C++代碼一樣快(因為它在后臺運行的是實際C++代碼);其次,用Python編寫代碼更容易。OpenCV-Python需要使用NumPy庫,OpenCV在程序中使用NumPy數(shù)組存儲圖像數(shù)據(jù)。571.5配置開發(fā)環(huán)境本節(jié)主要內(nèi)容:安裝AnacondaPython創(chuàng)建python3.8的虛擬環(huán)境安裝spyder集成開發(fā)環(huán)境安裝opencv4.5編寫測試程序檢測安裝正確性581.5.1安裝Anaconda從Anaconda官網(wǎng)下載安裝AnacondaPython/download/591.5.2創(chuàng)建python3.8的虛擬環(huán)境

打開AnacondaPrompt在命令行輸入:

condacreate-nCV45python=3.8

來創(chuàng)建基于python3.8的以‘cv45’命名虛擬環(huán)境創(chuàng)建完成后:condaactivatecv45

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論