समानांतर इमेज प्रोसेसिंग के लिए ओपन सोर्स  सी++ लाइब्रेरी 

मुफ़्त C++ API जो सामान्य एन-डायमेंशनल इमेज कंटेनर, इमेज प्रोसेसिंग एल्गोरिदम के उन्नत सेट आदि का समर्थन करता है।

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

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

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

Previous Next

वीडियो++ के साथ शुरुआत करना

पूर्ण स्थापना के लिए कृपया निम्न आदेश का उपयोग करें। वीडियो++ केवल शीर्षलेख है इसलिए सभी आवश्यक सुविधाओं तक पहुंचने के लिए, आपको vpp.h शीर्षलेख शामिल करना होगा। Video++ इंस्टॉल करने से पहले आपको अपने सिस्टम पर Eigen3 और Boost प्राप्त करने की भी आवश्यकता है।

गिट कमांड के माध्यम से वीडियो ++ स्थापित करें

 git clone https://github.com/matt-42/vpp.git
cd vpp
./install.sh your_install_prefix # Install iod and vpp in a given prefix

सी ++ लाइब्रेरी के माध्यम से समानांतर छवि प्रसंस्करण

ओपन सोर्स वीडियो ++ लाइब्रेरी सॉफ्टवेयर डेवलपर्स को सी ++ कमांड का उपयोग करके समानांतर छवियों को संसाधित करने के लिए कर्नेल को परिभाषित करने की अनुमति देती है। बड़ी बात यह है कि गुठली सामान्य से 32 गुना तेज दौड़ सकती है। यह कर्नेल के निष्पादन को सभी उपलब्ध CPU कोर पर समान रूप से फैलाता है जो कई कोर पर चलने वाले कई थ्रेड्स चला रहा है। यह बॉर्डर को वैल्यू से भरने, बॉर्डर मिरर को भरने, अलाइनमेंट सेट करने, इमेज पिक्सल्स तक पहुंचने, इमेज पर फिल्टर लगाने आदि जैसी सुविधाओं का समर्थन करता है।

सी ++ के माध्यम से छवि जोड़

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

C++ के माध्यम से 2 डी छवि जोड़ें

int main()
{
  using namespace vpp;
  image2d img1(make_box2d(100, 200), _border = 3);
  image2d img2({100, 200});
  assert(&img1(0,0) == &img1[0][0]);
  assert(&img1(0,0) == &(*img1.begin()));
  assert(img1.domain() == img2.domain());
  assert(img1.nrows() == 100);
  assert(img1.ncols() == 200);
  {
    image2d img(make_box2d(5, 5), _border = 1);
    assert(&img(0,0) == img.address_of(vint2(0,0)));
    assert(&img(4,0) == img.address_of(vint2(4,0)));
    auto s1 = img.subimage(img.domain());
    assert(&s1(0,0) == s1.address_of(vint2(0,0)));
    for (auto p : img.domain())
      assert(img(p) == img[p[0]][p[1]]);
    for (auto p : img.domain())
      assert(img(p) == s1[p[0]][p[1]]);
  }
}
 हिन्दी