【问题标题】:Issues With the OCR code and Java Code for ANDROIDANDROID 的 OCR 代码和 Java 代码的问题
【发布时间】:2012-11-04 08:37:47
【问题描述】:

这是我使用 tesseract 的 java 包装器 tess4j 将相机拍摄的图片转换为文本的代码!我已经包含了将它们添加到我的路径中的 jar 文件!代码没有显示任何语法错误!我启动默认相机,它启动我拍照,它显示在我声明的图像视图中,但是编辑框似乎是空的,尽管它应该显示 OCR 的结果!

package your.apnakaam.namespace;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.graphics.Bitmap;
import android.widget.ImageView;
import android.graphics.Bitmap;
import android.graphics.Rect;
import android.util.Log;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.io.File;
import java.io.File;
import net.sourceforge.tess4j.*;
public class KaamsekhaActivity extends Activity 
{
    private static final int CAMERA_REQUEST = 1888; 
        private ImageView imageView;
//**************************************************************************************************
private Intent data;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);
    setContentView(R.layout.apna_layout);
    Button capt_but = (Button)findViewById(R.id.capture_btn);
    this.imageView = (ImageView)this.findViewById(R.id.picture);

    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);
            void myfunction()
       }  
    }
    public void myfunction()
    {
        TextView disp = (TextView)findViewById(R.id.editText1);
        File new_pic = (File) data.getExtras().get("data");
        Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping
        try 
        {   
            String result = instance.doOCR(new_pic);
            disp.setText(result);
        } 
        catch (TesseractException e)
        {
            System.err.println(e.getMessage());
        }
    }

}

我无法弄清楚代码有什么问题!

【问题讨论】:

  • 我不明白你的代码。你在哪里调用 myfunction?
  • 请发布您正在使用的实际代码。 “void myfunction()”甚至不会编译,所以我知道这不是你项目中的代码。

标签: java android android-activity ocr tesseract


【解决方案1】:

doOCR 函数采用在 android 中无法使用的缓冲图像! Bufferedimage使用的是java中使用但android中没有的IIOimage!

【讨论】:

  • 小子,你肯定喜欢用很多感叹号!我相信Google Docs可以直接将图片转换为OCR!看here!唯一的限制是您需要 Android 3 或更高版本! '希望有帮助!
猜你喜欢
  • 2012-04-27
  • 2013-08-03
  • 2018-01-26
  • 2012-12-24
  • 1970-01-01
  • 2017-01-28
  • 2014-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多