0

基本上是在设计一个应用程序,它将从 android 设备的默认摄像头捕获图像并将该图像显示在图像视图中!工作正常!够好了!

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 功能,该功能基本上可以从我捕获的图像中提取字符!tess4j 基本上是 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.BufferedImage 类型无法解析。它是从所需的 .class 文件中间接引用的

快速修复是:配置构建路径!

我不知道是什么问题!我正在努力找出问题所在!我在上面提到的步骤中遗漏了什么吗?我下载的 tess4j 还有其他文件!请帮助从上面的链接下载 tess4j 以检查下载中的文件!任何xml问题?或任何构建路径问题?

4

3 回答 3

4

java.awt.image.BufferedImage 类型无法解析。

从该错误消息来看,Android 平台似乎BufferedImage不支持该类。 Android API不包含该java.awt.image包。

于 2012-11-03T14:19:21.847 回答
3

正如其他人所说BufferedImage,Android平台不支持。解决方案是使用Tess-two,它是Tess4j 等效的Tesseract wrapper api for android。

参考: 使用 tess-two 的 android 中的 OCR

虽然这很老了,但分享一下,以便其他人可能会发现它有用。

于 2015-08-06T18:33:29.657 回答
1

我知道这个问题真的很老了。但是要修复您的错误,请导航到属性>java 构建路径> 库> 添加库并包含 JRE 系统库。:)

于 2014-02-05T04:53:08.943 回答