छवि तुलना के लिए निःशुल्क Node.js API

ओपन सोर्स Node.js-आधारित API जो पिक्सेल दर पिक्सेल छवियों की तुलना करता है। Node.js अनुप्रयोगों में छवि तुलना के लिए एक शक्तिशाली, लचीला और कुशल समाधान।

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

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

Previous Next

LooksSame के साथ शुरुआत करना

LooksSame को इंस्टॉल करने का अनुशंसित तरीका NPM का उपयोग करना है। कृपया सुचारू इंस्टॉलेशन के लिए निम्न कमांड का उपयोग करें।

NPM के माध्यम से LooksSame स्थापित करें

npm install looks-same

Node.js ऐप्स में बेसिक इमेज तुलना

ओपन सोर्स लुक्ससेम लाइब्रेरी सॉफ्टवेयर डेवलपर्स के लिए Node.js एप्लिकेशन के अंदर बेसिक इमेज तुलना करना आसान बनाती है। एक बार इंस्टॉल होने के बाद, आप अपने कोड में लुक्ससेम मॉड्यूल की आवश्यकता के द्वारा दो इमेज की तुलना कर सकते हैं। यहाँ एक बेसिक उदाहरण दिया गया है जो दिखाता है कि लाइब्रेरी का उपयोग करके यह कैसे जाँचें कि दो इमेज दिखने में एक जैसी हैं या नहीं: इस उदाहरण में, image1.png और image2.png की तुलना करता है। यदि वे दिखने में एक जैसे हैं, तो equal true लौटाएगा; अन्यथा, यह false लौटाएगा।

Node.js ऐप्स के अंदर दो इमेज की तुलना कैसे करें?

const looksSame = require('looks-same');

// Compare two images
looksSame('image1.png', 'image2.png', (error, { equal }) => {
    if (error) {
        console.error('Error comparing images:', error);
    } else if (equal) {
        console.log('Images are identical!');
    } else {
        console.log('Images differ!');
    }
});

सहिष्णुता-आधारित छवि तुलना

ऐसे अनुप्रयोगों के लिए जिन्हें पिक्सेल-परफेक्ट मिलान की आवश्यकता नहीं होती है, सॉफ़्टवेयर डेवलपर सहिष्णुता स्तर जोड़ सकते हैं। यह छवियों के बीच छोटे अंतरों, जैसे कि विभिन्न ब्राउज़रों या ऑपरेटिंग सिस्टम पर रेंडरिंग के कारण होने वाले परिवर्तनों को अनदेखा करने की अनुमति देता है। निम्नलिखित कोड उदाहरण में, सहिष्णुता 5% पर सेट की गई है, जिसका अर्थ है कि छोटे पिक्सेल भिन्नता (5% तक) के कारण छवियों को अलग नहीं माना जाएगा।

Node.js ऐप्स के अंदर सहिष्णुता-आधारित छवि तुलना कैसे करें?

cfunction compareWithTolerance(image1, image2, toleranceLevel) {
    looksSame(image1, image2, { tolerance: toleranceLevel }, (error, { equal }) => {
        if (error) {
            console.error('Error comparing images:', error);
        } else if (equal) {
            console.log('Images are visually identical within tolerance!');
        } else {
            console.log('Images differ!');
        }
    });
}

// Usage
compareWithTolerance('image1.png', 'image2.png', 5);  // 5% tolerance

अंतर के विशिष्ट क्षेत्रों को हाइलाइट करना

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

Node.js ऐप्स के माध्यम से छवियों के विशिष्ट क्षेत्रों के बीच अंतर की तुलना कैसे करें?

function compareWithDiffBounds(image1, image2) {
    looksSame(image1, image2, (error, { diffBounds }) => {
        if (error) {
            console.error('Error comparing images:', error);
        } else {
            console.log('Bounding box of differences:', diffBounds);
        }
    });
}

// Usage
compareWithDiffBounds('image1.png', 'image2.png');

सटीक तुलना के लिए एंटी-अलियासिंग डिटेक्शन

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

 हिन्दी