Leptonica  

 
 

उन्नत छवि प्रसंस्करण के लिए सी एपीआई

ओपन सोर्स सी लाइब्रेरी डेवलपर्स को अपने स्वयं के ऐप्स के अंदर इमेज स्केलिंग, अनुवाद, रोटेशन, शीयर जैसे उन्नत इमेज प्रोसेसिंग ऑपरेशन करने में सक्षम बनाती है।

लेप्टोनिका एक खुला स्रोत सी छवि प्रसंस्करण और छवि विश्लेषण पुस्तकालय है जो दस्तावेज़ छवियों के साथ-साथ प्राकृतिक छवियों के साथ काम करने के लिए बहुत उपयोगी है। पुस्तकालय बहुत स्थिर है और इसमें जेपीईजी, पीएनजी, टीआईएफएफ, वेबपी, जेपी 2, बीएमपी, पीएनएम, पीएस, जीआईएफ और पीडीएफ जैसे कई छवि प्रारूपों के लिए समर्थन शामिल है। आप छवि प्रारूपों की प्रदान की गई सूची पर आसानी से पढ़ने और लिखने का कार्य कर सकते हैं। पुस्तकालय ज्यादातर वस्तु-उन्मुख दृष्टिकोण और डिजाइन सिद्धांतों के एक सेट का उपयोग करता है जो कोड को सुरक्षित, पोर्टेबल और पारदर्शी बनाता है।

पुस्तकालय कई महत्वपूर्ण कार्यों और छवि प्रसंस्करण के साथ-साथ छवि विश्लेषण के लिए उपकरणों के एक सेट के लिए सहायता प्रदान करता है। लाइब्रेरी सपोर्ट ऑपरेशंस जैसे इमेज स्केलिंग, ट्रांसलेशन, रोटेशन, शीयर, पिक्सेल डेप्थ में बदलाव के साथ इमेज ट्रांसफॉर्मेशन, बाइनरी और ग्रे-स्केल मॉर्फोलॉजी, पिक्सेलवाइज मास्किंग, ब्लेंडिंग, एन्हांसमेंट, अंकगणित ऑप्स, और बहुत कुछ। यह कई महत्वपूर्ण उपयोगिताओं का भी समर्थन करता है जैसे कि छवि से संबंधित डेटा प्रकारों की सरणियों को संभालने के लिए जैसे pixa, boxa, pta और अन्य.

इसने कई छवियों वाली फाइलों को पढ़ने और लिखने और हेडर में विशेष टीआईएफएफ टैग के साथ फाइल लिखने के लिए कार्य भी प्रदान किए हैं। यह डेवलपर्स को विभिन्न स्वरूपों में पोस्टस्क्रिप्ट फ़ाइलों को लिखने की अनुमति देता है जैसे कि पीडीएफ में परिवर्तन, रेखापुंज चित्र, और पोस्टस्क्रिप्ट फ़ाइल को संपीड़ित छवियों के एक सेट में परिवर्तित करना।

Previous Next

लेप्टोनिका के साथ शुरुआत करना

Leptonica को स्थापित करने का सबसे आसान तरीका GitHub के माध्यम से उपयोग करना है। सुचारू स्थापना के लिए कृपया निम्न कमांड का उपयोग करें

GitHub के माध्यम से Leptonica स्थापित करें।

git clone --depth=1 https://github.com/mrdoob/three.js.git 

चित्र पढ़ना और लिखना

ओपन सोर्स लाइब्रेरी लेप्टनिका सॉफ्टवेयर डेवलपर्स को अपने स्वयं के अनुप्रयोगों के अंदर छवियों को पढ़ने और लिखने की क्षमता देती है। इसने छवियों को पढ़ने और लिखने के लिए कई महत्वपूर्ण तरीके प्रदान किए हैं जैसे कि छवि डेटा पढ़ने और लिखने के लिए निम्न-स्तरीय और उच्च-स्तरीय फ़ंक्शन, कई छवियों वाली फ़ाइलों को पढ़ने और लिखने के लिए कार्य, हेडर में एम्बेडेड TIFF टैग वाली फ़ाइलें, JPEG फ़ाइलों को पढ़ना , पोस्टस्क्रिप्ट फ़ाइलों को पढ़ना और लिखना और कई अन्य कार्य। पुस्तकालय द्वारा समर्थित कुछ विशिष्ट एन्कोडर भी हैं।

लेप्टनिका पुस्तकालय के माध्यम से चित्र पढ़ें

// Open input image with leptonica library
Pix *image = pixRead("/usr/src/tesseract-3.02/phototest.tif");
api->SetImage(image);
// Get OCR result
char *outText;
outText = api->GetUTF8Text();

सी लाइब्रेरी के माध्यम से छवि स्केलिंग

ओपन सोर्स लाइब्रेरी लेप्टनिका ने आसानी से अपने स्वयं के सी एप्लिकेशन के अंदर छवियों को स्केल करने के लिए पूर्ण समर्थन प्रदान किया है। लेप्टोनिका द्वारा प्रदान किए गए कई स्केलिंग फ़ंक्शन हैं, जैसे रैखिक इंटरपोलेशन का उपयोग करके अपस्केलिंग, सबसम्पलिंग का उपयोग करके डाउनस्केलिंग, या एरिया मैपिंग, सैंपलिंग, 2x, और 4x लीनियर इंटरपोलेशन अपस्केलिंग, आरजीबी से ग्रे या बाइनरी का पूर्णांक सबसैंपलिंग, और बहुत कुछ। इसके अलावा बाइनरी इमेज पर बहुत तेजी से स्केलिंग की भी पेशकश की जाती है, और स्कैन किए गए बाइनरी टेक्स्ट के इमेज एनालिसिस के लिए उपयोगी है।

सी लाइब्रेरी के माध्यम से बेहतर छवि रोटेशन

ओपन सोर्स लाइब्रेरी लेप्टनिका ने अपने स्वयं के सी अनुप्रयोगों के अंदर छवियों को घुमाने के लिए समर्थन प्रदान किया है। छवि रोटेशन ऑपरेशन को प्राप्त करने के कई तरीके हैं, जैसे कतरनी द्वारा घूर्णन, क्षेत्र मानचित्रण द्वारा घूर्णन, 90, 180 या 270 डिग्री द्वारा विशेष घूर्णन, 2 या 3 कतरनी द्वारा घूर्णन, और कई अन्य।

सी लाइब्रेरी के माध्यम से 180 डिग्री छवि रोटेशन

extra = w & 31;
if (extra)
    shift = 32 - extra;
else
    shift = 0;
if (shift)
    rasteropHipLow(datas, w, h, d, wpls, 0, h, shift);
databpl = (w + 7) / 8;
bpl = 4 * wpls;
for (i = 0; i < h; i++) {
    lines = datas + (h - 1 - i) * wpls;
    lined = datad + i * wpld;
    for (j = 0; j < databpl; j++) {
        if (val = GET_DATA_BYTE(lines, bpl - 1 - j))
            SET_DATA_BYTE(lined, j, tab[val]);
    }
}
if (shift)
    rasteropHipLow(datas, w, h, d, wpls, 0, h, -shift);
 हिन्दी