Android实现OCR扫描识别数字图片之图片扫描识别
16lz
2021-01-23
[Android实例]Android实现OCR扫描识别数字图片之图片扫描识别
Android可以识别和扫描二维码,但是识别字符串呢?
google提供了以下解决方案用的是原来HP的相关资料。
可以吧,这个迁移到Android上。
工程导入成功是可以正常运行的,我是专门换了个电脑重新验证了下。
如果有不能运行的问题,应该是其他方面的问题,不然我的截图如何截啊?
关于识别汉字,理论上可以识别,但是要是实现,并且很实用要做的东西更多。
兄弟不才啊,这2个简单的工程,仅仅识别数字,也是我鼓捣了半个多月才获得成果。
apk有时间再发。
http://code.google.com/p/tesseract-ocr/
实现图像识别的主要方法。
TessBaseAPIbaseApi=newTessBaseAPI();
baseApi.init(TESSBASE_PATH,DEFAULT_LANGUAGE);
Bitmapmp=BitmapFactory.decodeResource(getResources(),
R.drawable.number1);
mp=mp.copy(Bitmap.Config.ARGB_8888,false);
baseApi.setImage(mp);
Stringvalue=baseApi.getUTF8Text();
需要,实现一个Camera,不停得扫描图像的,当得出扫描结果的时候就通知用户。
实现了识别数字的判断,不过也可以识别其他字符,需要做的处理就更多了。
附件里有2个工程一个是OcrLib是androidlib工程
一个OcrSearch是个android工程,这2个工程需要都导入eclipse才可以运行起来。
最后先导入OcrLib,然后再是OcrSearch
回头大家可以实现下,识别简体中文的尝试
兄弟不是我要分啊,是论坛上传文件大小有限制啊,
郁闷啊,有不要积分的下载你也可以试试啊。发布到网盘地址大家可以尝试下啊:
推荐aiyuaichou
导入后OcrSearch有错,CameraManager里,我注释掉了
/*@TargetApi(Build.VERSION_CODES.GINGERBREAD)
privatevoidopen(CameratheCamera){
intnumCameras=Camera.getNumberOfCameras();
if(numCameras==0){
Log.w(TAG,"Nocameras!");
theCamera=null;
return;
}
intindex=0;
while(index<numCameras){
Camera.CameraInfocameraInfo=newCamera.CameraInfo();
Camera.getCameraInfo(index,cameraInfo);
if(cameraInfo.facing==Camera.CameraInfo.CAMERA_FACING_BACK){
break;
}
index++;
}
if(index<numCameras){
Log.i(TAG,"Openingcamera#"+index);
theCamera=Camera.open(index);
}else{
Log.i(TAG,"Nocamerafacingback;returningcamera#0");
theCamera=Camera.open(0);
}
}*/
获取相机数..?Camera.getNumberOfCameras()没有这个方法,我就注释掉了这段
同样注释掉了
/*@TargetApi(Build.VERSION_CODES.GINGERBREAD)
privatestaticvoidgetResult(Activityactivity,intcameraId,Cameracamera){
Camera.CameraInfocameraInfo=newCamera.CameraInfo();
Camera.getCameraInfo(cameraId,cameraInfo);
intdegrees=getDisplayRotation(activity);
intresult;
if(cameraInfo.facing==Camera.CameraInfo.CAMERA_FACING_FRONT){
result=(cameraInfo.orientation+degrees)%360;
result=(360-result)%360;//compensatethemirror
}else{//back-facing
result=(cameraInfo.orientation-degrees+360)%360;
}
camera.setDisplayOrientation(result);
}*/
Camera.CameraInfo没有这个类,注释掉上面2段代码就能运行了,貌似只能截取数字,最近要做这个,楼主能给点学习的步骤么,感谢,方便的话[email protected]
Android可以识别和扫描二维码,但是识别字符串呢?
google提供了以下解决方案用的是原来HP的相关资料。
可以吧,这个迁移到Android上。
工程导入成功是可以正常运行的,我是专门换了个电脑重新验证了下。
如果有不能运行的问题,应该是其他方面的问题,不然我的截图如何截啊?
关于识别汉字,理论上可以识别,但是要是实现,并且很实用要做的东西更多。
兄弟不才啊,这2个简单的工程,仅仅识别数字,也是我鼓捣了半个多月才获得成果。
apk有时间再发。
http://code.google.com/p/tesseract-ocr/
实现图像识别的主要方法。
TessBaseAPIbaseApi=newTessBaseAPI();
baseApi.init(TESSBASE_PATH,DEFAULT_LANGUAGE);
Bitmapmp=BitmapFactory.decodeResource(getResources(),
R.drawable.number1);
mp=mp.copy(Bitmap.Config.ARGB_8888,false);
baseApi.setImage(mp);
Stringvalue=baseApi.getUTF8Text();
需要,实现一个Camera,不停得扫描图像的,当得出扫描结果的时候就通知用户。
实现了识别数字的判断,不过也可以识别其他字符,需要做的处理就更多了。
附件里有2个工程一个是OcrLib是androidlib工程
一个OcrSearch是个android工程,这2个工程需要都导入eclipse才可以运行起来。
最后先导入OcrLib,然后再是OcrSearch
回头大家可以实现下,识别简体中文的尝试
兄弟不是我要分啊,是论坛上传文件大小有限制啊,
郁闷啊,有不要积分的下载你也可以试试啊。发布到网盘地址大家可以尝试下啊:
推荐aiyuaichou
导入后OcrSearch有错,CameraManager里,我注释掉了
/*@TargetApi(Build.VERSION_CODES.GINGERBREAD)
privatevoidopen(CameratheCamera){
intnumCameras=Camera.getNumberOfCameras();
if(numCameras==0){
Log.w(TAG,"Nocameras!");
theCamera=null;
return;
}
intindex=0;
while(index<numCameras){
Camera.CameraInfocameraInfo=newCamera.CameraInfo();
Camera.getCameraInfo(index,cameraInfo);
if(cameraInfo.facing==Camera.CameraInfo.CAMERA_FACING_BACK){
break;
}
index++;
}
if(index<numCameras){
Log.i(TAG,"Openingcamera#"+index);
theCamera=Camera.open(index);
}else{
Log.i(TAG,"Nocamerafacingback;returningcamera#0");
theCamera=Camera.open(0);
}
}*/
获取相机数..?Camera.getNumberOfCameras()没有这个方法,我就注释掉了这段
同样注释掉了
/*@TargetApi(Build.VERSION_CODES.GINGERBREAD)
privatestaticvoidgetResult(Activityactivity,intcameraId,Cameracamera){
Camera.CameraInfocameraInfo=newCamera.CameraInfo();
Camera.getCameraInfo(cameraId,cameraInfo);
intdegrees=getDisplayRotation(activity);
intresult;
if(cameraInfo.facing==Camera.CameraInfo.CAMERA_FACING_FRONT){
result=(cameraInfo.orientation+degrees)%360;
result=(360-result)%360;//compensatethemirror
}else{//back-facing
result=(cameraInfo.orientation-degrees+360)%360;
}
camera.setDisplayOrientation(result);
}*/
Camera.CameraInfo没有这个类,注释掉上面2段代码就能运行了,貌似只能截取数字,最近要做这个,楼主能给点学习的步骤么,感谢,方便的话[email protected]
更多相关文章
- Eclipse新建android工程报"Check Android SDK" has encountered
- [Android] 将Android工程做成jar包和资源文件
- android 程序工程架构
- 关于Android一组让你震惊的数字
- Android APK的数字签名的作用和意义
- android依赖工程 java build path android工程导出jar
- android 通过lint以及android-resource-remover清楚不用的资源以