本人刚开始学图像识别一个星期,现在在学习使用OpenCV,发现OpenCV已经把很多图像识别所需要的算法都写好成函数了,比如边缘检测,轮廓检测这些。那既然这样,我们只需要这些算法是干嘛的,然后使用的时候直接调用不就行了吗?
那要看你的目的是什么了。举例,汽车现在那么先进和易用了,还需要了解变速箱的原理吗?那得看你的目的是什么了,如果只是普通的开车,不需要了解。如果是修车师傅,那得了解。如果是汽车厂家工程师,那得非常了解。简单来说,看具体需求。
如何利用opencv完成手势识别算法?
opencv是图像识别算法。其底层是通过对图像像素点的获取与计算,理论上讲可以通过获取特定特征的像素在图像轨迹上的移动数据来判断手势的上下左右移动。从而完成相关逻辑开发。但如果刚刚入门的话估计很难,可以直接购买一个手势识别传感器,通过手势识别传感器的API来在应用层直接获取和使用。目前比较便宜的传感器大约10几块钱
有哪些学习OpenCV的建议?
1.首先确定自己要应用方向。OpenCV可应用于很多领域,比如OCR,人脸识别,图像拼接等,每个应用领域的算法集合是有一定差异的。
2.确定了应用方向后,需要去查找相关的理论论文,毕竟OpenCV只是工具,要解决实际问题,还是需要有理论的基础支撑的。建议用google查询外文文献,整体上来说外文文献在理论研究的细致性上还是更好。
3.有了理论基础后可以构思自己的算法处理模型,建议用OpenCV python版本来快速验证算法原型,算法原型确认后再根据应用的平台使用C++或java的版本去转化。
4.在github上查找相关算法的开源工程,跟着开源工程做一遍,甚至对其代码进行调优,可以更深刻的掌握算法。
总的来说,OpenCV是很好的工具,但要转化成真正有竞争力的解决方案,需要有扎实的理论基础和编程能力。本人也是自学OpenCV做了仪表图像识别,望与题主共勉!