AI電腦視覺OpenCV上課心得 ─ 恆逸教育訓練中心 ─ 學員證言網站

 

程式設計

眾多顧客已親身體驗恆逸的好,並成功提升專業競爭力,你也可以!

來看看他們是如何學習、如何努力考取認證的經驗分享多汲取他人的寶貴經驗,將讓您的未來進修之路走得更有效率!快來看看恆逸應援團怎麼說!

陳裕文

  • 文章分類:程式設計
  • 參訓課程:AI電腦視覺OpenCV

AI電腦視覺OpenCV上課心得

第一堂課大多在教學OpenCV、VisuallStudio、Conda、CMAKE安裝。

需要注意的是在安裝OpenCV時環境變數的設定是很重要的,前期若沒設定好,會影響到後續編程。 第一堂老師教我們用C++撰寫OpenCV,透過迴圈畫圓讓我們了解基礎C++語法。

第二堂課就開始使用Python,影響最多大概就是語法,比C++易讀,除錯也會比較快。 後續老師跟我們講解版本控制的重要性,在外面公司,做專案時會使用多個版本去做控制,目的是留下版本紀錄,萬一哪一天程式出錯,還可以找回上一個版本,所以他還蠻強調這塊的。 在OpenCV讀取RGB的方式是相反的(BGR),在前期處理影像時需要做翻轉成RGB。

在網頁上結合影像串流:使用cv2.VideoCapture(0)開啟相機,需要注意參數是0、1否則相機開啟不了,在HTML上使用 img src就可以將相機鏡頭串流在網頁上。

5/4~5 主要是實作在OpenCV中載入模型,去辨識剪刀時頭布,透過resnet這模個模型去訓練照片,並驗證結果,但我覺得與Yolo相比,Yolo的辨識能力會比較好,但Yolo對於不規則的影像處理較佳。

後續老師有補充說明如何在OpevCV作Barcode掃描,內建有一個函式庫cv2.QRCodeDetector().detectAndDecode,但這個效果不是很好,會因為角度光線的影像造成辨識不易。

最後一堂主要介紹Threshold,Threshold分為五種 Binary Thresholding 小於門檻會 大於門檻會設定最大值 Inverse Binary Thresholding 小於門檻會設定最大值 大於門檻會設定為0 Truncate Threshold 如過大於門檻,就設定門檻值 如果小於門檻,就設定原始值 Threshold to zero 如果大於門檻保留原始值 如果小於門檻,設定為0 Inverted Threshold to 0 如果大於門檻值設定為0 如果小於門檻值設定為原始值 以上的門檻值都是全域門檻值,所以碰到不同光源或是不同區域,就不一定適合 Adaptive Threshold 是自適應的門檻值,會依造不同區域做選擇 形態學:侵蝕、擴張 侵蝕:用來縮減物件邊界,假設前景是白的(1),在Kernel掃過影像後1就會是1,否則就被當為0,用來移除小白點,分離兩個物件 擴張:如果Kernel中影一個像素為1就會是1,用來增加白色邊界,一般可用來中和侵蝕的效果 結束五天的課程,讓我更了解OpenCV的技巧及實作,期許自己能夠在影像這塊變得更熟練,或是在產線上能夠實現更多影像辨識的應用
 

相關課程

 

 

看看其他人怎麼說

看更多