【问题标题】:OCR for android application tess4j用于 Android 应用程序 tess4j 的 OCR
【发布时间】:2012-11-02 16:03:52
【问题描述】:

基本上是在设计一个应用程序,该应用程序将从 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问题?或任何构建路径问题?

【问题讨论】:

    标签: android eclipse ocr tesseract


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      参考: OCR in android using tess-two

      虽然这已经很老了,但还是分享一下,让其他人可能会觉得它有用。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多