目前的計算機圖像識別,透過現象看本質,主要分為兩大類:
1、基于規則運算的圖像識別,例如顏色形狀等模板匹配方法
2、基于統計的圖像識別。例如機器學習ML,神經網絡等人工智能方法
**區別:**模板匹配方法適合固定的場景或物體識別,機器學習方法適合大量具有共同特征的場景或物體識別。
**對比:**無論從識別率,準確度,還是適應多變場景變換來講,機器學習ML都是優于模板匹配方法的;前提你有大量的數據來訓練分類器。如果是僅僅是識別特定場景、物體或者形狀,使用模板匹配方法更簡單更易于實現。
**目標:**實現在iOS客戶端,通過攝像頭發現并標記目標。
實現效果圖
可能出現的異常:
將從官網下載的opencv2.framework拖入項目后,出現找不到opencv2庫的錯誤:ld: framework not found opencv2 clang:error: linker command failed with...。原因估計是打開項目用的XCode 9,而拖入的opencv2.framework版本為3.2版本;看opencv2.framework的3.3版本更新說明,估計XCode 9與3.2版本不兼容,下載最新3.3版本https://opencv.org/opencv-3-3.html,拖入ThirdFramework文件夾下,編譯即可通過。
拖入opencv2.framework的3.3版本后,編譯出現大量類似警告:
Direct access in function '___cxx_global_var_init' from file ...
Direct access in function '___cxx_global_var_init.2' from file ...
Direct access in function '___cxx_global_var_init.3' from file ...
Google搜索,以及在stackoverflow上發現很多人遇到同樣問題,暫時未找到解決辦法,但不影響功能使用,暫時忽略即可,估計下一版本會修復。
新聞熱點
疑難解答