प्रौद्योगिकी साझेदारी

ग: filter2D फंक्शन् इत्यस्य संक्षिप्तं अवलोकनम्

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

OpenCV इत्यस्मिन्filter2D विभिन्नानि रेखीय-छिद्रकाणि प्रयोक्तुं चित्राणि परिवर्तयितुं कार्यं अतीव शक्तिशाली साधनम् अस्ति । एतत् कार्यं चित्रे प्रत्येकं पिक्सेलं संसाधयति तथा च निर्दिष्टेन कन्वोल्यूशन कर्नेल् (अथवा फ़िल्टर) इत्यनेन सह कन्वोल् कृत्वा इमेज् इत्यस्य लक्षणं परिवर्तयतिनिम्नलिखितम् विषये अस्तिfilter2Dकार्यस्य विस्तृतपरिचयः : १.

कार्य आद्यरूप

OpenCV इत्यस्मिन्, .filter2Dकार्यस्य आद्यरूपं यथा भवति ।

void cv::filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel,  
                  Point anchor = Point(-1,-1), double delta = 0,  
                  int borderType = BORDER_DEFAULT);

पैरामीटर वर्णन

  • src: इनपुट् इमेज।
  • dst: आउटपुट् इमेज, तथा इनपुट इमेजsrcसमान आकारः, चॅनेलसङ्ख्या च समाना भवतु ।
  • ddepth इति : आउटपुट् इमेज् (data type) इत्यस्य इष्टगहनता । यदा -1 भवति तदा आउटपुट् इमेज् इत्यस्य गभीरता इनपुट् इमेज् इत्यस्य समाना भवति इति अर्थः ।
  • कर्नल : कन्वोल्यूशन कर्नेल् (अथवा फ़िल्टर), यत् एकचैनल-प्लवकबिन्दु-मात्रिका अस्ति । एतत् आकृतिः इनपुट् इमेज् इत्यत्र convolution operations कथं कर्तव्यमिति परिभाषयति ।
  • लाङ्गल : कर्नेल् इत्यस्य एंकर-बिन्दुः, यः कर्नेल्-मध्ये फ़िल्टर-बिन्दुस्य सापेक्षिकस्थानं सूचयति । लंगरबिन्दुः कर्नेलस्य अन्तः भवितव्यः इति पूर्वनिर्धारितमूल्यं (-1,-1) इत्यस्य अर्थः अस्ति यत् लंगरबिन्दुः कर्नेलस्य केन्द्रे स्थितः अस्ति ।
  • डेल्टा: एकं वैकल्पिकं मूल्यं यत् फ़िल्टर कृतानि पिक्सेल्स् संग्रहणसमये उपयुज्यतेdstपूर्वं छानितपिक्सेलयोः योजितम् ।
  • borderType इति : पिक्सेल-बहिष्कार-विधिः, चित्रसीमायाः बहिः पिक्सेल-संसाधनाय उपयुज्यते । यदा कन्वोल्यूशन कर्नेल् इमेज् सीमां अतिक्रमति तदा सीमापिक्सेलाः कथं संसाधिताः भवन्ति इति निर्धारयति ।सामान्यविकल्पाः सन्तिBORDER_CONSTANTBORDER_REPLICATEBORDER_REFLECTप्रतीक्षतु।

कार्यसिद्धान्त

filter2D फंक्शन् वस्तुतः एकं कन्वोल्यूशन ऑपरेशनं करोति (यद्यपि तकनीकीरूपेण इदं कठोर कन्वोल्यूशनस्य अपेक्षया सहसंबन्धस्य गणनां करोति यतः कर्नेल् इत्यस्य फ्लिपिंग् न भवति) कन्वोल्यूशन-क्रियायां कन्वोल्यूशन-कर्नेल्-इत्यस्य निवेश-प्रतिबिम्बस्य उपरि "स्लाइड्" करणं, कन्वोल्यूशन-कर्नेल्-समान-आकारस्य प्रत्येकस्य उप-मैट्रिक्सस्य तत्सम्बद्धानां तत्त्वानां गुणनं, ततः परिणामान् योजयितुं च भवति एषा प्रक्रिया नूतनं पिक्सेलमूल्यं जनयति यत् आउटपुट् इमेज् इत्यस्मिन् तत्सम्बद्धे स्थाने स्थापितं भवति । यथा यथा convolution kernel सम्पूर्णस्य input image इत्यस्य उपरि स्लाइड् भवति तथा तथा एषा प्रक्रिया यावत् सम्पूर्णं output image न उत्पद्यते तावत् पुनरावृत्तिः भवति ।

अनुप्रयोग परिदृश्य

कन्वोल्यूशन कर्नेल् परिवर्त्य, .filter2Dकार्याणि विविधानि प्रतिबिम्बसंसाधनप्रभावं प्राप्तुं शक्नुवन्ति, यथा परन्तु एतेषु एव सीमितं न भवति:

  • बिम्ब तीक्ष्णीकरणम्: विशिष्टं तीक्ष्णीकरणं कन्वोल्यूशन कर्नेल् इत्यस्य उपयोगेन चित्रस्य किनारेः स्पष्टाः भवितुम् अर्हन्ति ।
  • mean filter: औसत-विक्षेप-कर्नेल्-इत्यस्य उपयोगेन चित्रस्य कोलाहलः न्यूनीकर्तुं शक्यते, परन्तु चित्रं धुन्धलं कर्तुं शक्यते ।
  • गाउसीय छानक : Gaussian filtering इति सामान्यतया प्रयुक्ता इमेज स्मूथिंग् तकनीकः अस्ति या एज सूचनां निर्वाहयन् इमेज् शोरं न्यूनीकर्तुं शक्नोति ।यद्यपिfilter2Dफंक्शन् एव प्रत्यक्षतया गाउसीय-कर्नेल्-जननं न ददाति, परन्तु पारितुं शक्यतेgetGaussianKernelfunction एकं Gaussian kernel जनयति तथा च उपयोगं करोतिfilter2Dगाउसीय छाननं कुर्वन्तु।
  • धारपरिचयः: विशिष्टानि कन्वोल्यूशन कर्नेल् (यथा Sobel operator, Laplacian operator इत्यादीनि) डिजाइनं कृत्वा चित्रे किनारेषु ज्ञापनं कर्तुं शक्यते ।

नमूना कोड

निम्नलिखितम् एकः प्रयोगः अस्तिfilter2Dफंक्शन् मीन् फ़िल्टरिंग् (पायथन् संस्करणम्) इत्यस्य उदाहरणसङ्केतः :

#include