से टेक्स्ट निकालें मैं एक ऐसे अनुप्रयोग पर काम कर रहा हूं जिसे जेपीईजी छवि को पाठ में परिवर्तित करने की आवश्यकता है ताकि मैं छवि में लिखे गए पाठ की पहचान कर सकूं। कृपया मुझे ऐसा करने का एक संकेत दें।एंड्रॉइड: छवि
उत्तर
से Making OCR app using Tesseract.
नोट EXTRACT: ये निर्देश Android एसडीके R19 और एंड्रॉयड NDK r7c के लिए कर रहे हैं। 64-बिट उबंटू पर, आपको ia32-libs 32-बिट संगतता लाइब्रेरी इंस्टॉल करने की आवश्यकता हो सकती है। आपको जोड़ा गया उचित पैथ चर भी चाहिए।
स्रोत डाउनलोड करें या git repository क्लोन करें। इस प्रोजेक्ट में एंड्रॉइड पर उपयोग के लिए टेस्सेक्ट, लेप्टनिका और जेपीईजी पुस्तकालयों को संकलित करने के लिए टूल शामिल हैं। इसमें एक ग्रहण एंड्रॉइड लाइब्रेरी प्रोजेक्ट है जो मूल रूप से संकलित टेसेरैक्ट और लेप्टनिका एपीआई तक पहुंचने के लिए जावा एपीआई प्रदान करता है। आपको आंखों की आवश्यकता नहीं है- दो कोड, आप इसके बिना कर सकते हैं।
बिल्ड इस परियोजना इन आदेशों का उपयोग करते (यहाँ, टेस-दो के अंदर निर्देशिका है टेस-दो - टेस-दो परीक्षण के रूप में एक ही स्तर पर एक):
cd <project-directory>/tess-two
ndk-build
android update project --path .
ant release
अब परियोजना आयात ग्रहण में एक पुस्तकालय के रूप में।
File -> Import -> Existing Projects into workspace -> tess-two directory<code>. Right click the project, Android Tools -> Fix Project Properties. Right click -> Properties -> Android -> Check Is Library
कॉन्फ़िगर अपनी परियोजना एक पुस्तकालय परियोजना के रूप में टेस-दो परियोजना का उपयोग करने के:
Right click your project name -> Properties -> Android -> Library -> Add, and choose tess-two.
अब आप लाइब्रेरी का उपयोग कर किसी भी छवि ओसीआर लिए तैयार हैं।
सबसे पहले, हमें तस्वीर स्वयं ही प्राप्त करने की आवश्यकता है। इसके लिए, मुझे यहां छवि को कैप्चर करने के लिए एक सरल कोड मिला। हमारे पास बिटमैप होने के बाद, हमें केवल ओसीआर निष्पादित करने की आवश्यकता है जो अपेक्षाकृत आसान है। की तरह कुछ कर रही द्वारा रोटेशन और छवि प्रकार दूर करने के लिए सुनिश्चित करें:
// _path = path to the image to be OCRed
ExifInterface exif = new ExifInterface(_path);
int exifOrientation = exif.getAttributeInt(
ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL);
int rotate = 0;
switch (exifOrientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
rotate = 90;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotate = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_270:
rotate = 270;
break;
}
if (rotate != 0) {
int w = bitmap.getWidth();
int h = bitmap.getHeight();
// Setting pre rotate
Matrix mtx = new Matrix();
mtx.preRotate(rotate);
// Rotating Bitmap & convert to ARGB_8888, required by tess
bitmap = Bitmap.createBitmap(bitmap, 0, 0, w, h, mtx, false);
}
bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
अब हम बिटमैप में छवि है, और हम बस ओसीआर चलाने के लिए TessBaseAPI उपयोग कर सकते हैं:
TessBaseAPI baseApi = new TessBaseAPI();
// DATA_PATH = Path to the storage
// lang = for which the language data exists, usually "eng"
baseApi.init(DATA_PATH, lang);
// Eg. baseApi.init("/mnt/sdcard/tesseract/tessdata/eng.traineddata", "eng");
baseApi.setImage(bitmap);
String recognizedText = baseApi.getUTF8Text();
baseApi.end();
(You can download the language files from [here][2] and put them in a directory on your device – manually or by code)
अब जब आप वैरिएबल मान्यता प्राप्त टेक्स्ट में ओसीआरएड टेक्स्ट प्राप्त कर चुके हैं, तो आप इसके साथ बहुत कुछ कर सकते हैं - अनुवाद, खोज, कुछ भी! ps। आप वरीयता प्राप्त करके और फिर here से आवश्यक भाषा डेटा फ़ाइल डाउनलोड करके विभिन्न भाषा समर्थन जोड़ सकते हैं। आप उन्हें संपत्ति फ़ोल्डर में भी डाल सकते हैं और उन्हें प्रारंभ में एसडी कार्ड में कॉपी कर सकते हैं।
समस्या निवारण
- पथ को अद्यतन करने के बारे में - आप कार्य करने के लिए आदेश के लिए अपने पथ चर अद्यतन करने की आवश्यकता है, अन्यथा आप त्रुटि नहीं मिला एक कमांड देखना होगा। एंड्रॉइड एसडीके के लिए, अपने पाथ पर्यावरण चर में एसडीके के टूल्स और प्लेटफॉर्म-टूल्स निर्देशिकाओं का स्थान जोड़ें। एंड्रॉइड एनडीके के लिए, एंड्रॉइड-एनएनडी निर्देशिका को पीएटीएच वैरिएबल में जोड़ने के लिए एक ही प्रक्रिया का उपयोग करें।
- मेवेन-इज़िंग - जेम्स एल्सी द्वारा post देखें। उन्होंने यह भी उल्लेख किया कि उन्हें बिना किसी समस्या के विंडोज़ पर काम करना पड़ा।
- आप इस पृष्ठ पर अपनी समस्या को Ctrl + F-ing भी आज़मा सकते हैं, किसी ने शायद ही इसका सामना किया हो और टिप्पणियों में समाधान पोस्ट किया हो।
आपने यह नहीं लिखा - कृपया स्पष्ट रूप से बताएं कि आपने इसे ब्लॉग पोस्ट से कॉपी किया है (जिसके लिए आपने लिंक जोड़ा है) चोरी के रूप में लेने से बचने के लिए। – laalto
इससे पहले मैं तुरंत लिंक पोस्ट करता था लेकिन स्टैक ओवरफ्लो का एक सदस्य था जिसने मुझे किसी भी लिंक का डेटा जवाब देने के लिए कहा था, लिंक काम नहीं करता है। – Confuse
हां। केवल लिंक जवाब पोस्ट न करें। अन्य लोगों की सामग्री को अपने आप के रूप में पोस्ट न करें। – laalto
- 1. एंड्रॉइड: छवि पर छवि
- 2. एकल छवि के अंदर एंड्रॉइड छवि
- 3. बटन छवि आकार एंड्रॉइड
- 4. एंड्रॉइड गतिविधि पृष्ठभूमि छवि
- 5. एंड्रॉइड छवि संवाद/पॉपअप
- 6. छवि पर एंड्रॉइड टेक्स्ट
- 7. एंड्रॉइड पर छवि प्रसंस्करण
- 8. एंड्रॉइड मल्टीटाउच छवि ज़ूमिंग?
- 9. एंड्रॉइड छवि बटन
- 10. एंड्रॉइड छवि कैशिंग - कैसे?
- 11. एंड्रॉइड-डीजेगो छवि अपलोड
- 12. एंड्रॉइड बिटमैप छवि आकार
- 13. एंड्रॉइड छवि फ़िल्टर लाइब्रेरी
- 14. एंड्रॉइड, छविव्यू की छवि
- 15. एंड्रॉइड छवि देखें गुरुत्वाकर्षण
- 16. एंड्रॉइड छवि प्रसंस्करण लाइब्रेरी
- 17. एंड्रॉइड छवि पारदर्शिता
- 18. एंड्रॉइड छवि "दर्शक" ऐप
- 19. एंड्रॉइड छवि दृश्य एनिमेशन
- 20. एंड्रॉइड पृष्ठभूमि छवि ऐप
- 21. एंड्रॉइड: ImageView स्रोत छवि
- 22. एंड्रॉइड - समर्थित छवि प्रकार
- 23. बाइट [] छवि के लिए एंड्रॉइड
- 24. एंड्रॉइड छवि के लिए ओपनसीवी
- 25. एंड्रॉइड उच्च रिज़ॉल्यूशन छवि प्रसंस्करण
- 26. क्लिक करने योग्य छवि - एंड्रॉइड
- 27. एंड्रॉइड छवि बटन पृष्ठभूमि रंग
- 28. एंड्रॉइड के लिए छवि प्रभाव?
- 29. एंड्रॉइड वॉलपेपर प्रबंधक फसल छवि
- 30. एंड्रॉइड विजेट: पूर्वावलोकन छवि आकार
की [एंड्रॉयड ओसीआर?] (Http://stackoverflow.com/questions/1106202/android-ocr) – EboMike
गूगल ने हाल ही इस लक्ष्य को हासिल करने के लिए एक ओसीआर API को रिलीज़ संभव डुप्लिकेट: https://developers.google.com/दृष्टि/टेक्स्ट-ओवरव्यू – Wirling