2012-11-04 58 views
1

這裏是我的代碼使用正方體的Java包裝tess4j從相機拍攝到的文字圖片轉換!我已經包括了jar文件將它們添加到我的路徑!代碼不顯示任何語法錯誤!我啓動默認相機它開始我拍照,它顯示在我聲明的圖像視圖中,但是儘管它應該顯示OCR的結果,編輯框似乎是空的!問題隨着OCR代碼和Java代碼的Android

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()); 
     } 
    } 

}

我無法弄清楚什麼是錯的代碼!

+0

我不明白你的代碼。你在哪裏打電話給我的功能? – Simon

+0

看到編輯的代碼=) – haris

+1

請發表您使用的是實際的代碼。 「void myfunction()」甚至不會編譯,所以我知道這不是你的項目中的代碼。 – Simon

回答

1

功能doOCR需要一個緩衝的圖像在Android平臺,而這是不可能的! Bufferedimage使用在Java中使用的IIOimage,但不是在Android中使用!

+0

小子,你肯定喜歡用大量的驚歎號!我相信Google Docs可以直接將圖片轉換爲OCR!看看[這裏](http://www.slashgear.com/google-docs-android-app-launched-uses-phone-camera-for-ocr-text-capture-27148892/)!唯一的限制是你需要Android 3或更高版本! '希望有所幫助! – paulsm4

+0

是開源嗎? – haris