实现android图像识别的几种方法
点击这里下载第一种代码
最近完成了毕业设计,论文名为基于图像识别的移动人口管理系统。编写过程中学到了几种图像识别的技术,先写下来与大家分享。
第一种,直接使用免费得图像识别web服务器 地址为http://maggie.ocrgrid.org/
实现代码:1.为了提高图像的识别率,首先要灰度化
[java]
privateBitmap convertToGrayscale(Bitmap bitmap) {
ColorMatrix colorMatrix = newColorMatrix();
colorMatrix.setSaturation(0);
Paint paint = newPaint();
ColorMatrixColorFilter cmcf = newColorMatrixColorFilter(colorMatrix);
paint.setColorFilter(cmcf);
Bitmap result = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Bitmap.Config.RGB_565);
Canvas drawingCanvas = newCanvas(result);
Rect src = newRect(0, 0, bitmap.getWidth(), bitmap.getHeight());
Rect dst = newRect(src);
drawingCanvas.drawBitmap(bitmap, src, dst, paint);
returnresult;
}
2.将灰度化的图像上传到http://maggie.ocrgrid.org/ 方法和类就不说了,有需要的话可以发我邮箱
第二种,使用Aprise开源
这个开源代码虽然一般处理认证图像,但也可以实现图像识别,你只需将它引入你的服务器,至于如何在android中实现,映像中好像不能使用其中方法,将灰度化(方法可看第一种的第一步)后的图像上传即可
第三种,使用Tesseract开源
这个开源代码是使用c++来编写的,你要实现的就必须学会java的jni技术,以及android NDK方法
第四种,Mezzofanti_java_code_1_0_3
这是一个基于android开源的图像识别软件,你只需下载他,重写里面的一些代码,即可实现,前提是你要读懂里面的代码