OpenCV学习心得

       时间还是过得那么的快,让我有点措手不及,距离第一次写博客差不多已经过去半个月了,这半个月来总是在学习研究OpenCV方面的知识,让我感受颇深。转载了N篇技术博客,始终不敢自己写一篇属于自己的文章,我在担心自己会不会误人子弟,所以每当自己在网络资源上找到一些解决方法的时候,总是在转载,尽管有些是通过自己的后期努力才完美解决的,但是我仅仅是在转载的时候加上注意事项,并没有写专门的一篇博客,好吧,可能是我没有自信吧。
       过去的半个月,关于OpenCV的知识学的不少。让我知道了Android上对OpenCV的运用,尽管我还是入门,但是至少我知道了OpenCV在Android上的运用主要有3种,可能我的理解有出入吧,我理解是3种,我使用的是OpenCV 2.4.3。第一种是使用OpenCV Java API,即导入OpenCV for Android SDK上的OpenCV Library包,然后使用,比如OpenCV Sample -15 puzzle例子的使用;第二种是利用JNI编写C++ OpenCV代码,通过Android NDK创建动态库(.so),静态库(.so)文件,比如 http://blog.csdn.net/xuyue995277/article/details/8533742中的HaveImgFun例子;还有一种就是混合使用上面的两种方法,比如OpenCV Tutorial 4 -Mix Java + Native OpenCV例子。当然,除了第一种方法不需要编译文件之外,另外两种方法还是需要编译jni文件的,这就涉及到了Makefile文件,该文件和相对应的cpp文件都在Android工程下的JNI文件夹里,文件主要有Android.mk和Application.mk。用第一种方法运行程序的时候还需要到网络上得到OpenCVManager.apk安装中之后才能运行,不然程序不会跑的哦;需要编译JNI文件的前提是要配置好环境,我在我的博客里有转载,方法1中的博客链接里有说明怎么配置环境,用JNI编译的据说在后面开发的时候比较方便,只是还是需要些cpp文件啥的,我暂时还不懂,希望朋友问给我一些指导,哈哈。当然,可能还会遇到一些问题,也都是靠通过网络资源解决的,我就把收集到的资源都转载在博客里了,希望大家看到有用。
      还有一个遇到的问题,是我自己总结的,我在这里说明一下哦,嘿嘿。OpenCV编译比如OpenCV Tutorial 4-Mix Java + Native OpenCV的时候遇到ndk-build.cmd找不到,那么在环境变量里新建一个NDKROOT,把android-ndk的路径加进去重新编译即可。这个方法适用在opencv jni编译出错的时候。错误提示:Error: Cannot run program "ndk-build": Launching failed ,运用刚才的解决方法,基本问题得以解决,对于opencv的samples的运行基本没问题。
      半个月的学习可能效率不是很高,对于OpenCV的深入理解我还是处于探索阶段,最近的半个月更多的是去理解,去实践sdk中给的那些sample,我还没有真正写过属于自己的一个OpenCV的程序,我想,等我继续学习之后我应该会有这个能力的,我很期待那一天的到来。
      因为还是一位实习生,在这周结束之后就回家过年了,可能要中断目前这种高强度的学习状态,好吧,趁此机会好好休息休息,来年有个更好的精神,更好的精力,更好的状态面对更好的人生。提前祝各位博友新年快乐啊!

你可能感兴趣的:(OpenCV,心得,Android学习)