Android / 互联网 / 移动互联网 · 2014年5月9日 0

实现android图像识别的几种方法

点击这里下载第一种代码

最近完成了毕业设计,论文名为基于图像识别的移动人口管理系统。编写过程中学到了几种图像识别的技术,先写下来与大家分享。

第一种,直接使用免费得图像识别web服务器 地址为http://maggie.ocrgrid.org/

实现代码:1.为了提高图像的识别率,首先要灰度化

  1. private Bitmap convertToGrayscale(Bitmap bitmap) {  
  2.         ColorMatrix colorMatrix = new ColorMatrix();  
  3.         colorMatrix.setSaturation(0);  
  4.         Paint paint = new Paint();  
  5.         ColorMatrixColorFilter cmcf = new ColorMatrixColorFilter(colorMatrix);  
  6.         paint.setColorFilter(cmcf);  
  7.   
  8.         Bitmap result = Bitmap.createBitmap(bitmap.getWidth(), bitmap  
  9.                 .getHeight(), Bitmap.Config.RGB_565);  
  10.   
  11.         Canvas drawingCanvas = new Canvas(result);  
  12.         Rect src = new Rect(00, bitmap.getWidth(), bitmap.getHeight());  
  13.         Rect dst = new Rect(src);  
  14.         drawingCanvas.drawBitmap(bitmap, src, dst, paint);  
  15.   
  16.         return result;  
  17.     }  

2.将灰度化的图像上传到http://maggie.ocrgrid.org/ 方法和类就不说了,有需要的话可以发我邮箱

 

 

第二种,使用Aprise开源

这个开源代码虽然一般处理认证图像,但也可以实现图像识别,你只需将它引入你的服务器,至于如何在android中实现,映像中好像不能使用其中方法,将灰度化(方法可看第一种的第一步)后的图像上传即可

 

第三种,使用Tesseract开源

这个开源代码是使用c++来编写的,你要实现的就必须学会java的jni技术,以及android NDK方法
第四种,Mezzofanti_java_code_1_0_3

这是一个基于android开源的图像识别软件,你只需下载他,重写里面的一些代码,即可实现,前提是你要读懂里面的代码

Share this: