本篇文章给大家详细讲述了让IOS开发中通过摄像头进行图像识别的相关技术,对此有兴趣的朋友参考学习下吧。
目前的计算机图像识别,透过现象看本质,主要分为两大类:
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上发现很多人遇到同样问题,暂时未找到解决办法,但不影响功能使用,暂时忽略即可,估计下一版本会修复。
本文标题为:iOS通过摄像头图像识别技术分享
基础教程推荐
- android studio按钮监听的5种方法实例详解 2023-01-12
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- Flutter手势密码的实现示例(附demo) 2023-04-11
- Android中的webview监听每次URL变化实例 2023-01-23
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
- Android多返回栈技术 2023-04-15
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
