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