2016-08-04 9 views
5

में कनवर्ट करें शायद समाधान की तलाश नहीं है, लेकिन इस पर मार्गदर्शन की तलाश है। यह हमारे एंड्रॉइड ऐप में "दस्तावेज़ स्कैनर" को लागू करना है।एंड्रॉइड पेज/एज पेज का पता लगाने और बदलने के लिए। बी/डब्ल्यू टिफ़

मैं ठीक ऐसा करने की जरूरत: (कोई समस्या नहीं)

  • का पता लगाने पेज किनारों कैमरा के साथ

    1. लें छवि/कोनों (???)
    2. की अनुमति दें उपयोगकर्ता के लिए कदम/कोनों को समायोजित करने (कोई समस्या)
    3. बनाने के लिए छवि रूपांतरण यह आयत (???)
    4. Convert छवि बी को/डब्ल्यू TIFF या मोबाइल नेटवर्क पर प्रसारण के लिए कुछ अन्य उपयुक्त प्रारूप (कॉम्पैक्ट, पिक्सेल प्रति बिट) (???)

    मैंने जो कोशिश की। हमने ओपन सीवी का उपयोग करने की कोशिश की। यह बहुत बड़ा है, एनडीके है। सेटअप और बुनियादी ढांचा बहुत जटिल है।

    क्या ऐसा कुछ भी है जो हल्का है और वास्तव में इस कार्य के लिए डिज़ाइन किया गया है? यहां तक ​​कि वाणिज्यिक भी ठीक हो सकता है।

    .. बस यह कैसे दृष्टिकोण पर सुझाव के लिए देख .. मुख्य समस्या किनारों का पता लगाने और बदलने मुझे लगता है कि करने के लिए है

  • उत्तर

    3

    मैं किसी भी पुस्तकालयों कि आप के लिए यह संभाल लेंगे के बारे में पता नहीं है, लेकिन मैं भर में आ गए हैं कुछ खुली स्रोत परियोजनाएं जो समान परिणाम प्राप्त करती हैं। अधिकांश OpenCV लाइब्रेरी और/या OpenCV4Android SDK पर आधारित हैं। यहाँ कुछ उल्लेखनीय परियोजनाओं हैं:

    एक और इसी तरह के पुस्तकालय गूगल के Mobile Vision API है, जो एक Text Recognition API होता है। यद्यपि यह आपको किसी दस्तावेज़ को एक काले और सफेद छवि में परिवर्तित करने में सक्षम नहीं करेगा, यह आपको दस्तावेज़ को सादा पाठ में परिवर्तित करने में सक्षम करेगा।

    नेटवर्क पर संचरण के लिए छवि को परिवर्तित करने के लिए; एंड्रॉइड natively support टीआईएफएफ फ़ाइल प्रारूप नहीं है, हालांकि कम से कम one library है जो आपके लिए इस रूपांतरण को संभालेगा। एंड्रॉइड नकारात्मक रूप से छवि को JPEG, PNG or WEBP के रूप में संपीड़ित करने का समर्थन करता है, जिसका उपयोग आप नेटवर्क पर डेटा को एन्कोडेड स्ट्रिंग के रूप में भेजने के लिए कर सकते हैं:

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream); 
    byte[] bytes = outputStream.toByteArray(); 
    String encodedImage = Base64.encodeToString(bytes, Base64.DEFAULT); 
    
    संबंधित मुद्दे