Ubuntu compare कमांड गाइड: इमेज तुलना व ऑटोमेशन

अवलोकन

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

1. ImageMagick पैकेज का इंस्टॉलेशन एवं compare यूटिलिटी का सत्यापन

सिस्टम पर compare टूलसेट सक्रिय करने हेतु सबसे पहले रिपॉजिटरी इंडेक्स को अपडेट करके imagemagick सूट इंस्टॉल करते हैं।

sudo apt-get update -qq && sudo apt-get install -y imagemagick

यह उपयोगिता दो छवियों के मध्य ज्यामितीय तथा रंजकीय (colorimetric) भिन्नताओं की गहराई से जांच करती है और विसंगतियों को हाइलाइट करते हुए एक संयुक्त आउटपुट फाइल तैयार कर सकती है।
सिस्टम में टूल के सफल परिनियोजन तथा उपलब्ध कंपोनेंट फीचर्स की पुष्टि के लिए compare -version रन किया जाता है।
⚙️ [महत्वपूर्ण पैरामीटर्स]

-metric : दोनों ग्राफिक्स के बीच विसंगति की गणना करने हेतु उपयुक्त गणितीय मॉडल (जैसे AE, RMSE अथवा PSNR) चुनता है।
-fuzz : रंगों में उपस्थित अत्यंत सूक्ष्म अंतरों को नगण्य मानकर एक समान रंग मानने की छूट सीमा (जैसे 5%) तय करता है।
-highlight-color : दोनों इनपुट फाइलों में मिलने वाले बेमेल पिक्सेल क्षेत्रों को दर्शाने वाला विशिष्ट रंग निर्धारित करता है।
-lowlight-color : एक समान पाए जाने वाले सामान्य बैकग्राउंड पिक्सेल्स को फेड अथवा डी-एम्फ़ैसाइज़ करने का रंग सेट करता है।
-compose : अंतर दिखाने वाली ओवरले लेयर को बेस इमेज के साथ संयोजित करने की ब्लेंडिंग तकनीक तय करता है।

compare -version

2. परीक्षण छवियों का निर्माण और अंतर (Diff) का विज़ुअलाइज़ेशन

विश्लेषण के लिए संदर्भ बिंदु (baseline) स्थापित करने के उद्देश्य से एक सफेद कैनवास पर लाल चौकोर बॉक्स युक्त base.png तैयार करते हैं।

convert -size 200x200 xc:white -fill red -draw “rectangle 40,40 160,160” base.png

इसके उपरांत परीक्षण में परिवर्तन प्रदर्शित करने हेतु मूल आकृति के केंद्र में नीला आयत जोड़कर modified.png फाइल जनरेट की जाती है।

convert base.png -fill blue -draw “rectangle 70,70 130,130” modified.png

दोनों फाइलों base.png और modified.png का मिलान कर संशोधित हिस्सों को अलग से उभारने वाली diff.png छवि निष्पादित करने हेतु compare कमांड चलाएँ।
डिफ़ॉल्ट रेंडरिंग में मेल खाने वाले पिक्सेल पारदर्शी पृष्ठभूमि में बदल जाते हैं, जबकि किसी भी प्रकार का बदलाव रखने वाले पिक्सेल लाल रंग की हाईलाइट में स्पष्ट रूप से उभर आते हैं।

compare base.png modified.png diff.png

तैयार की गई सभी ग्राफिक फाइलों की डायरेक्टरी स्थिति और उनके आकार की जांच ls -lh base.png modified.png diff.png के माध्यम से की जा सकती है।

ls -lh base.png modified.png diff.png

3. -metric विकल्प द्वारा पिक्सेल अंतर का परिमाणीकरण

डिस्क पर अतिरिक्त आउटपुट इमेज लिखे बिना केवल परिवर्तित पिक्सेल्स की कुल संख्यात्मक गणना प्राप्त करने हेतु compare -metric AE base.png modified.png null: 2>&1 निष्पादित किया जाता है।
AE (एब्सोल्यूट एरर) एल्गोरिदम सीधे तौर पर भिन्न रंगों वाले पिक्सेल्स की सटीक संख्या गिनता है। आउटपुट पाथ के रूप में null: देने से फाइल स्टोरेज बचती है और परिणाम सीधे स्टैंडर्ड एरर आउटपुट में तुरंत मिल जाता है।

compare -metric AE base.png modified.png null: 2>&1

रंगों के अंतर की सांख्यिकीय गंभीरता और विकृति को मानक रूप से मापने के लिए compare -metric RMSE base.png modified.png null: 2>&1 निष्पादित करें।
RMSE (रूट मीन स्क्वेर्ड एरर) इंडेक्स पूरी इमेज के सापेक्ष विसंगतियों का मानकीकृत स्कोर प्रदान करता है, जिसे स्वचालित सीआई/सीडी टेस्ट स्क्रिप्ट्स में गुणवत्ता थ्रेसहोल्ड जांचने के लिए आदर्श माना जाता है।

compare -metric RMSE base.png modified.png null: 2>&1

4. टॉलरेंस सीमा (-fuzz) और कस्टमाइज्ड हाइलाइट कलरिंग

कंप्रेशन आर्टिफैक्ट्स अथवा मामूली शेड अंतरों को नजरअंदाज करने के लिए 5% सहनशीलता मार्जिन लागू करते हुए compare -fuzz 5% base.png modified.png diff_fuzz.png कमांड निष्पादित की जाती है।
-fuzz स्विच का उपयोग मानवीय दृष्टि द्वारा न पहचाने जा सकने वाले नगण्य रंग-परिवर्तनों को फिल्टर कर देता है, जिससे केवल वास्तविक और महत्वपूर्ण बदलाव ही diff_fuzz.png में दर्ज होते हैं।

compare -fuzz 5% base.png modified.png diff_fuzz.png

परिणामी डिफ़ फाइल की दृश्यता और स्पष्टता को बढ़ाने के लिए दोनों क्षेत्रों के रंगों को अपनी पसंद से सेट करने हेतु compare -highlight-color magenta -lowlight-color gray base.png modified.png diff_custom.png चलाएँ।
यहाँ -highlight-color बदले हुए पिक्सेल्स को मैजेंटा (magenta) रंग में दर्शाता है तथा -lowlight-color अपरिवर्तित पृष्ठभूमि को ग्रे (gray) टोन में बदल देता है, जिससे विसंगतियाँ तुरंत पहचानी जा सकती हैं।

compare -highlight-color magenta -lowlight-color gray base.png modified.png diff_custom.png

कस्टमाइज्ड पैरामीटर्स के साथ जनरेट की गई फाइलों के निर्माण और स्टोरेज विवरण को ls -lh diff_fuzz.png diff_custom.png द्वारा सत्यापित करें।

ls -lh diff_fuzz.png diff_custom.png

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