android应用程序tess4j的OCR
基本上,我正在设计一个应用程序,它将从android设备的默认摄像头捕获图像,并在图像视图中显示该图像!很好!够好了android应用程序tess4j的OCR,android,eclipse,ocr,tesseract,Android,Eclipse,Ocr,Tesseract,基本上,我正在设计一个应用程序,它将从android设备的默认摄像头捕获图像,并在图像视图中显示该图像!很好!够好了 capt_but.setOnClickListener(new View.OnClickListener() { //@Override // TODO Auto-generated method stub public void onClick(View v) {
capt_but.setOnClickListener(new View.OnClickListener()
{
//@Override
// TODO Auto-generated method stub
public void onClick(View v)
{
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK)
{
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}
我的下一个任务是应用tess4j OCR功能,基本上从我拍摄的图像中提取字符!Tesser4j基本上是tesseract OCR的java包装器!
我在ECLIPSE中编程!
这里是它的链接
tess4j.sourceforge.net
我添加了在开源文件中可以找到的所有JAR,并将它们添加到我创建的文件夹中,该文件夹是eclipse中主项目目录的lib!我将它们全部选中,并将它们添加到构建路径中
然后我把所有能找到的dll复制到主项目目录!
然后使用上面同一链接上的一个示例,我将代码编程如下:
public void myfunction(Intent data)
{
Bitmap photo = (Bitmap) data.getExtras().get("data");
Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping
File imageFile = new File("myimage.tif");
try
{
String result = instance.doOCR(imageFile)
System.out.println(result);
}
catch (TesseractException e)
{
System.err.println(e.getMessage());
}
}
我的项目正在获取tesseract jar,并使我能够浏览上的函数目录。操作人员
但是在网上,
String result = instance.doOCR(imageFile)
我得到的错误是:
无法解析类型java.awt.image.buffereImage。它是从必需的.class文件间接引用的
快速解决办法是:
配置构建路径
我想不出是什么问题!我正在努力解决这个问题!我是否在上面提到的步骤中遗漏了什么?我下载的tess4j还有其他文件!请从上面的链接下载tess4j,以检查下载中的文件!有xml问题吗?或任何构建路径问题
无法解析类型java.awt.image.buffereImage
从该错误消息来看,Android平台似乎不支持
buffereImage
类。不包括java.awt.image
包。我知道这个问题很老了。但要修复错误,请导航到属性>java构建路径>库>添加库并包含JRE系统库。:) 正如其他人所说,Android平台不支持BuffereImage
。
解决方案是使用tesstwo,这是适用于android的与Tesseract包装器api等价的Tess4j
参考:
虽然这已经很老了,但是分享会让其他人觉得它很有用