जावा डिप - ओपन सोर्स लाइब्रेरी

इस अध्याय में, हम कुछ मुफ्त छवि प्रसंस्करण पुस्तकालयों का पता लगाते हैं जो व्यापक रूप से उपयोग किए जाते हैं और परियोजना में आसानी से एकीकृत किए जा सकते हैं। इन पुस्तकालयों में शामिल हैं -

  • ImageJ
  • Fiji
  • कॉमन्स इमेजिंग
  • ImageMagick
  • Endrov
  • LeadTools
  • OpenCv

ImageJ

ImageJ एक सार्वजनिक डोमेन जावा इमेज प्रोसेसिंग प्रोग्राम है जो Macintosh के लिए NIH Image से प्रेरित है। यह 8-बिट, 16-बिट और 32-बिट छवियों को प्रदर्शित, संपादित, विश्लेषण, प्रक्रिया, सहेज और प्रिंट कर सकता है।

ImageJ की कुछ बुनियादी विशेषताएं नीचे वर्णित हैं -

अनु क्रमांक। फ़ीचर और विवरण
1

Runs Everywhere

ImageJ जावा में लिखा गया है, जो इसे 32-बिट और 64-बिट दोनों मोड में लिनक्स, मैक ओएस एक्स और विंडोज पर चलने की अनुमति देता है।

2

Open Source

ImageJ और इसके जावा स्रोत कोड स्वतंत्र रूप से और सार्वजनिक डोमेन में उपलब्ध हैं।

3

Toolkit

एप्लेट, सर्वलेट्स, या एप्लिकेशन विकसित करने के लिए ImageJ को इमेज प्रोसेसिंग टूलकिट (क्लास लाइब्रेरी) के रूप में उपयोग करें।

4

Data Types

8-बिट ग्रेस्केल या अनुक्रमित रंग, 16-बिट अहस्ताक्षरित पूर्णांक, 32-बिट फ़्लोटिंग-पॉइंट और RGB रंग।

5

File Formats

GIF, JPEG, BMP, PNG, PGM, FITS और ASCII खोलें और सहेजें। DICOM खोलें। एक URL का उपयोग करके TIFF, GIFs, JPEGs, DICOMs और कच्चे डेटा खोलें।

6

Selections

आयताकार, अण्डाकार या अनियमित क्षेत्र चयन करें। लाइन और बिंदु चयन बनाएँ।

7

Image Enhancement

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

8

Color Processing

RGB या HSV घटकों में 32-बिट रंग की छवि को विभाजित करें। 8-बिट घटकों को एक रंग छवि में मिलाएं।

फ़िजी

फिजी एक इमेज प्रोसेसिंग पैकेज है। इसे जावा, Java3D के साथ ImageJ (और ImageJ2) के वितरण के रूप में वर्णित किया जा सकता है, और एक सुसंगत मेनू संरचना में बहुत सारे प्लग-इन का आयोजन किया जाता है। फ़िजी ने ImageJ की तुलना उबंटू से की जैसे कि लिनक्स से।

ImageJ बुनियादी सुविधाओं के अलावा, फिजी की कुछ उन्नत विशेषताएं नीचे वर्णित हैं -

अनु क्रमांक। फ़ीचर और विवरण
1

Registering 3D images

इसमें लोचदार संरेखण और असेंबल, फ़ीचर एक्सट्रैक्शन, इमेज स्टेबलाइज़र आदि शामिल हैं।

2

Segmenting images

यह 35 से अधिक प्रकार के विभाजन प्रदान करता है।

3

Useful keyboard short cuts

फ़ूजी में बहुत सारे कीबोर्ड शॉर्ट-कट हैं।

4

Scripting

जावास्क्रिप्ट, JRuby, Jython, Clojure, और Beanshell में मैक्रोज़ के साथ स्क्रिप्टिंग की अनुमति दें।

5

Developing Plug-ins

प्लग-इन विकसित करना शुरू करने के लिए स्क्रिप्ट एडिटर का उपयोग करें और फिर प्लग-इन चलाएं।

6

ImageJ Tricks

ImageJ का उपयोग करना आसान है, लेकिन कभी-कभी आप कुछ फ़ंक्शन के लिए चाहते हैं जो वास्तव में कार्यान्वित किया जाता है, फिर भी आपको पता नहीं है कि कैसे ट्रिगर किया जाए।

कॉमन्स इमेजिंग

Apache Commons Imaging, जिसे पहले Apache Commons Sanselan के रूप में जाना जाता था, एक पुस्तकालय है जो विभिन्न प्रकार के छवि प्रारूपों को पढ़ता और लिखता है, जिसमें छवि जानकारी की तेज पार्सिंग (आकार, रंग, स्थान, ICC प्रोफ़ाइल, आदि) और मेटा डेटा शामिल है।

ImageJ की कुछ बुनियादी विशेषताएं नीचे वर्णित हैं -

अनु क्रमांक। फ़ीचर और विवरण
1

Java

अपाचे कॉमन्स इमेजिंग 100% शुद्ध जावा में लिखा गया है। यह संशोधन के बिना किसी भी जेवीएम और किसी भी मंच पर निष्पादित होता है।

2

Image Formats

यह विभिन्न प्रकार के छवि प्रारूपों को पढ़ता है और लिखता है, और सभी या अधिकांश अन्य पुस्तकालयों द्वारा याद किए गए कुछ विविधताओं और एनकोडिंग का समर्थन करता है।

3

Metadata support

यह एक संरचित तरीके से विभिन्न मेटा डेटा को पढ़ने और लिखने का समर्थन करता है, जिसमें EXIF ​​मेटा डेटा भी शामिल है।

4

Network Friendly

यह नेटवर्क के अनुकूल है। कॉमन्स इमेजिंग केवल उस डेटा को पढ़ता है जिसकी उसे आवश्यकता होती है, और जो पढ़ा जाता है उसे कैश करता है ताकि यह नेटवर्क पर बहुत भारी न हो।

5

Easy to use

इसे उपयोग करने के लिए बहुत आसान बनाया गया है। यह एक सरल, स्वच्छ इंटरफ़ेस है। अधिकांश ऑपरेशन एकल इमेजिंग विधि कॉल हैं।

6

Transparent

कॉमन्स इमेजिंग का उद्देश्य पारदर्शी होना है। निपटाने के लिए कोई छिपी हुई बफ़र्स नहीं हैं, मुफ्त में कोई देशी स्मृति नहीं है, कोई पृष्ठभूमि नहीं है।

7

Open Source

यह फ्री सॉफ्टवेयर / ओपन सोर्स है। यह अपाचे सॉफ्टवेयर लाइसेंस के तहत उपलब्ध है।

8

Color Conversions

ColorConversions वर्ग निम्न रंग स्थानों के बीच कनवर्ट करने के तरीके प्रदान करता है - CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, हंटर-लैब, RGB, XYZ और YXY।

ImageMagick

ImageMagick बिटमैप इमेज बनाने, संपादित करने, बनाने या बदलने के लिए एक सॉफ्टवेयर सूट है। यह DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, पोस्टस्क्रिप्ट, SVG और TIFF सहित 100 से अधिक प्रारूपों में चित्र पढ़ और लिख सकता है। आकार बदलने के लिए, फ्लिप, मिरर, रोटेट, डिस्टॉर्ट, शीयर और रूपांतरित करने के लिए ImageMagick का उपयोग करें, छवि के रंगों को समायोजित करें, विभिन्न विशेष प्रभावों को लागू करें, या पाठ, रेखाएं, बहुभुज, दीर्घवृत्त और बेजियर वक्र आकर्षित करें।

ImageMagick की कुछ बुनियादी विशेषताएं नीचे वर्णित हैं -

अनु क्रमांक। फ़ीचर और विवरण
1

Format conversion

यह एक प्रारूप से दूसरे में एक छवि को परिवर्तित करता है (जैसे PNG से JPEG)।

2

Transform

यह एक छवि का आकार बदल सकता है, घुमा सकता है, क्रॉप कर सकता है, फ्लिप या ट्रिम कर सकता है।

3

Transparency

यह एक छवि के कुछ हिस्सों को अदृश्य रूप से प्रस्तुत करता है।

4

Draw

यह आकृति या पाठ को एक छवि में जोड़ता है।

5

Decorate

यह एक छवि में एक सीमा या फ्रेम जोड़ता है।

6

Special effects

यह एक छवि को धुंधला, तेज, दहलीज या टिंट कर सकता है।

7

Animation

यह छवियों के एक समूह से GIF एनीमेशन अनुक्रम बना सकता है।

8

Composite

यह एक छवि को दूसरे पर ओवरलैप कर सकता है।

9

Morphology of shapes

यह सुविधाओं को निकालता है, आकृतियों का वर्णन करता है और छवियों में पैटर्न को पहचानता है।

10

Encipher or decipher an image

यह साधारण छवियों को अकल्पनीय जिबरिश में परिवर्तित करता है और फिर से वापस करता है।

Endrov

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

एंड्रोव की कुछ बुनियादी विशेषताएं नीचे वर्णित हैं -

अनु क्रमांक। फ़ीचर और विवरण
1

View data

यह डेटा को 2 डी और 3 डी में देखता है। जटिल 4 डी डेटा योजनाओं और चैनलों की असीमित संख्या को संभालने के लिए डिज़ाइन किया गया है, जहां प्रत्येक चैनल का अपना एक्स, वाई और जेड रिज़ॉल्यूशन हो सकता है।

2

Annotate your images

यह आपकी छवियों को स्वचालित रूप से या हाथ से, उन्हें समझने और आंकड़े प्राप्त करने के लिए एनोटेट करता है।

3

Undo and Redo

यह सभी कार्यों के लिए पूर्ववत और फिर से कर सकता है।

4

Lazy Evaluation

यह जमीन से बड़ी छवि सेट को संभालने के लिए डिज़ाइन किया गया है। एंड्रोव आलसी मूल्यांकन का उपयोग करता है, एक अवधारणा जो ज्यादातर अनुसंधान प्रोग्रामिंग भाषाओं में उपलब्ध है।

5

Scripting language

यह ग्राफिकल स्क्रिप्टिंग भाषा, साथ ही पारंपरिक स्क्रिप्टिंग का समर्थन करता है।

6

Java

जावा में लिखा है। प्लग-इन आर्किटेक्चर नए जावा प्लग-इन के साथ आसान विस्तार की अनुमति देता है। यह मतलाब के साथ बातचीत कर सकता है।

7

Formats

यह जैव-प्रारूपों का उपयोग करके लगभग सभी वाणिज्यिक और खुले फ़ाइल स्वरूपों तक पहुँचता है।

8

Microscopic Processing

यह एक कार्यक्रम के साथ आपके सभी सूक्ष्मदर्शी को नियंत्रित कर सकता है और छवि विश्लेषण का उपयोग कर सकता है।

LEADTOOLS

LEADTOOLS कई श्रेणियों में 200 से अधिक छवि प्रसंस्करण कार्य प्रदान करता है, जिसमें दस्तावेज़ सफाई, चिकित्सा छवि सुधार, रंग रूपांतरण और सुधार, शोर में कमी, किनारे का पता लगाना, और बहुत कुछ शामिल है।

LEADTOOLS की कुछ बुनियादी विशेषताएं नीचे वर्णित हैं -

अनु क्रमांक। फ़ीचर और विवरण
1

Scanned Document Image Processing

कार्यों का यह शक्तिशाली संग्रह कलाकृतियों और खामियों के दस्तावेजों को छिद्रित छेद, तिरछी कोण, सीमाएं, धूल के छींटे और बहुत कुछ पढ़ सकता है।

2

Medical Image Processing

छवि को बेहतर बनाएं या बेहतर दृश्यों के लिए पृष्ठभूमि को स्थानांतरित, चयन, घटाना और हटाकर विवरण को उजागर करें।

3

Geometric Transformation

इन कार्यों को कलात्मक 3 डी प्रभाव को साफ करने, संरेखित करने, सही चित्र बनाने या लागू करने के लिए इस्तेमाल किया जा सकता है।

4

Brightness and Contrast

इन कार्यों का उपयोग छवियों को बढ़ाने, कलात्मक प्रभावों को लागू करने, या चिकित्सा छवियों के नैदानिक ​​मूल्यांकन में सहायता के लिए किया जा सकता है।

5

Color Space Conversion

वे IIS और Windows WF होस्ट किए गए अनुप्रयोगों सहित एकल और बहु-थ्रेडेड अनुप्रयोगों के लिए छवि रंग अंतरिक्ष कार्यक्षमता जोड़ सकते हैं।

6

Color Correction

इन कार्यों का उपयोग स्वैप किए गए रंग चैनलों के साथ छवियों को सही करने, रंग की तीव्रता को संतुलित करने या विभिन्न छवि विश्लेषण कार्यों को करने के लिए किया जाता है।

7

Image Enhancement

इन कार्यों का उपयोग फोटोग्राफी में सामान्य त्रुटियों को ठीक करने के लिए किया जाता है जैसे कि लाल-आंख और असंतुलित रंगों के साथ-साथ चिकित्सा छवियों के नैदानिक ​​मूल्यांकन में सहायता।

8

Region of Interest

ये फ़ंक्शंस इमेज के विशिष्ट भागों पर इमेज प्रोसेसिंग फ़ंक्शंस करने, बार-कोड में समय बचाने और OCR मान्यता या विभिन्न छवि विश्लेषण कार्यों को करने के लिए छवियों में रुचि के क्षेत्रों को बनाने और संशोधित करने के लिए उपयोग किए जाते हैं।

OpenCV

OpenCV को BSD लाइसेंस के तहत जारी किया जाता है और इसलिए यह अकादमिक और व्यावसायिक उपयोग दोनों के लिए मुफ्त है। इसमें C ++, C, Python और Java इंटरफेस हैं और यह विंडोज, लिनक्स, मैक ओएस, आईओएस और एंड्रॉइड को सपोर्ट करता है। OpenCV को कम्प्यूटेशनल दक्षता के लिए और वास्तविक समय के अनुप्रयोगों पर एक मजबूत फोकस के साथ डिज़ाइन किया गया था। अनुकूलित C / C ++ में लिखित, लाइब्रेरी मल्टी-कोर प्रोसेसिंग का लाभ ले सकती है।

OpenCV की कुछ बुनियादी विशेषताओं को संक्षेप में वर्णित किया गया है -

अनु क्रमांक। फ़ीचर और विवरण
1

Smoothing Images

इसमें ब्लर, गाऊसीब्लूर, मीडियनब्लूर और द्विपक्षीय फिल्टर लगाना शामिल है।

2

Eroding and Dilating

यह दो बहुत ही सामान्य आकृति विज्ञान ऑपरेटरों को लागू कर सकता है - Dilation और Erosion।

3

Morphology Transformations

OpenCV फ़ंक्शन आकृति विज्ञान। आकृति विज्ञान परिवर्तन लागू करने के लिए जैसे कि उद्घाटन, समापन, टॉपहैट और ब्लैकहैट आदि।

4

Image Pyramids

OpenCV एक दी गई छवि के नमूने के लिए pyrUp और पिरामिड का कार्य करता है।

4

Basic Thresholding Operations

OpenCV फ़ंक्शन थ्रेशोल्ड का उपयोग करके बुनियादी थ्रेशोल्ड ऑपरेशन करें।

5

Adding borders to your images

OpenCV फ़ंक्शन copyMakeBorder सीमाओं को सेट करने के लिए उपयोग किया जाता है (आपकी छवि के लिए अतिरिक्त पैडिंग)।

7

Remapping

OpenCV में, फ़ंक्शन रीमैप एक सरल रीमैपिंग कार्यान्वयन प्रदान करता है।

8

Histogram Calculation

सरल उद्देश्यों के लिए, OpenCV फ़ंक्शन कैल्शिस्ट को लागू करता है, जो सरणियों के एक सेट (आमतौर पर चित्र या छवि विमानों) के हिस्टोग्राम की गणना करता है। यह 32 आयामों तक काम कर सकता है।