Δωρεάν Node.js API για σύγκριση εικόνων

API ανοιχτού κώδικα που βασίζεται στο Node.js που συγκρίνει εικόνες Pixel προς Pixel. Μια ισχυρή, ευέλικτη και αποτελεσματική λύση για σύγκριση εικόνων σε εφαρμογές Node.js.

Η σύγκριση εικόνων διαδραματίζει ζωτικό ρόλο στην ανάπτυξη λογισμικού, ιδιαίτερα σε τομείς όπως η δοκιμή οπτικής παλινδρόμησης, η διασφάλιση ποιότητας εικόνας και η επαλήθευση σχεδίασης τέλειας εικονοστοιχείου. Είτε αναπτύσσετε λογισμικό για να εξασφαλίσετε συνεπή εμφάνιση διεπαφής χρήστη σε πολλαπλές πλατφόρμες είτε αυτοματοποιείτε οπτικούς ελέγχους σε μια σειρά παραγωγής, είναι απαραίτητο να έχετε ένα αποτελεσματικό εργαλείο σύγκρισης εικόνων. Το LooksSame, ένα API ανοιχτού κώδικα που αναπτύχθηκε από την Gemini-Testing, απλοποιεί τη διαδικασία δημιουργίας λογισμικού για σύγκριση εικόνων με τις διαισθητικές του δυνατότητες. Υπάρχουν πολλά σημαντικά χαρακτηριστικά που αποτελούν μέρος της βιβλιοθήκης, όπως σύγκριση εικόνων Pixel-by-Pixel, ανίχνευση anti-aliasing, ρύθμιση παραμέτρων ελέγχου ανοχής, χειρισμός διαστάσεων εικόνας, υποστήριξη για Promises και πολλά άλλα.

Το

LooksSame είναι ένα API που βασίζεται στο Node.js και έχει σχεδιαστεί για σύγκριση εικόνων. Επιτρέπει στους προγραμματιστές να συγκρίνουν εικόνες pixel προς pixel, με επιλογές για να χειριστούν μικρές παραλλαγές που μπορεί να προκύψουν λόγω διαφορών στα περιβάλλοντα απόδοσης. Χρησιμοποιώντας τη βιβλιοθήκη, οι προγραμματιστές λογισμικού μπορούν να δημιουργήσουν τις δικές τους εφαρμογές που εντοπίζουν σημαντικές οπτικές διαφορές, ενώ αγνοούν ασήμαντες παραλλαγές. Το API επικεντρώνεται κυρίως στο να βοηθήσει τους προγραμματιστές να διατηρήσουν τη συνέπεια στη σχεδίαση διεπαφής χρήστη, αλλά η ευελιξία του το καθιστά κατάλληλο για πολλές άλλες περιπτώσεις χρήσης σύγκρισης εικόνων. Με το απλό API και τις προσαρμόσιμες επιλογές του, το LooksSame είναι μια εξαιρετική προσθήκη στην εργαλειοθήκη οποιουδήποτε προγραμματιστή, ιδιαίτερα για δοκιμές διεπαφής χρήστη μέσω web, αυτοματοποιημένη δημιουργία εικόνων και άλλα σενάρια όπου η οπτική ακρίβεια είναι πρωταρχικής σημασίας.

Previous Next

Ξεκινώντας με το LooksSame

Ο προτεινόμενος τρόπος εγκατάστασης του LooksSame είναι η χρήση NPM. Χρησιμοποιήστε την ακόλουθη εντολή για ομαλή εγκατάσταση.

Εγκαταστήστε το LooksSame μέσω NPM

npm install looks-same

Βασική σύγκριση εικόνων στις εφαρμογές Node.js

Η βιβλιοθήκη ανοιχτού κώδικα LooksSame διευκολύνει τους προγραμματιστές λογισμικού να πραγματοποιούν βασική σύγκριση εικόνων εντός των εφαρμογών Node.js. Μόλις εγκατασταθεί, μπορείτε να συγκρίνετε δύο εικόνες απαιτώντας τη μονάδα LooksSame στον κώδικά σας. Ακολουθεί ένα βασικό παράδειγμα που δείχνει πώς να χρησιμοποιήσετε τη βιβλιοθήκη για να ελέγξετε εάν δύο εικόνες είναι οπτικά ίδιες: Σε αυτό το παράδειγμα, συγκρίνει το image1.png και το image2.png. Εάν είναι οπτικά ίδια, το ίσο θα επιστρέψει αληθινό. Διαφορετικά, επιστρέφει ψευδής.

Πώς να συγκρίνετε δύο εικόνες μέσα στις εφαρμογές 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!');
    }
});

Σύγκριση εικόνων με βάση την ανοχή

Για εφαρμογές που δεν απαιτούν αντιστοιχίσεις τέλειων pixel, οι προγραμματιστές λογισμικού μπορούν να προσθέσουν ένα επίπεδο ανοχής. Αυτό επιτρέπει να αγνοούνται μικρές διαφορές μεταξύ εικόνων, όπως αλλαγές λόγω απόδοσης σε διαφορετικά προγράμματα περιήγησης ή λειτουργικά συστήματα. Στο ακόλουθο παράδειγμα κώδικα, η ανοχή έχει οριστεί στο 5%, που σημαίνει ότι οι μικρές παραλλαγές pixel (έως 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

Επισήμανση συγκεκριμένων περιοχών διαφοράς

Για πιο εξελιγμένες εφαρμογές, οι προγραμματιστές λογισμικού μπορεί να θέλουν να εντοπίσουν και να αναλύσουν μόνο συγκεκριμένες περιοχές διαφοράς. Η βιβλιοθήκη LooksSame παρέχει μια δυνατότητα οριοθέτησης πλαισίου που δείχνει την ακριβή περιοχή όπου εμφανίζονται διαφορές. Αυτή η συνάρτηση εξάγει τις συντεταγμένες του πλαισίου οριοθέτησης των διαφορετικών περιοχών, διευκολύνοντας την εστίαση σε συγκεκριμένα μέρη της εικόνας που έχουν αλλάξει. Το ακόλουθο παράδειγμα δείχνει πώς να χρησιμοποιήσετε τις συντεταγμένες πλαισίου οριοθέτησης για να συγκρίνετε εικόνες και να τονίσετε τις διαφορές.

Πώς να συγκρίνετε Εντοπίστε τις διαφορές μεταξύ συγκεκριμένων περιοχών εικόνων μέσω των εφαρμογών 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');

Ανίχνευση κατά των αλλαγών για ακριβείς συγκρίσεις

Η βιβλιοθήκη ανοιχτού κώδικα LooksSame επιτρέπει στους προγραμματιστές λογισμικού να εκτελούν συμπίεση εικόνων χρησιμοποιώντας τη μέθοδο Anti-Aliasing Detection εντός των εφαρμογών Node.js. Το Anti-aliasing μπορεί να προκαλέσει ψευδώς θετικά αποτελέσματα κατά τη σύγκριση εικόνων, καθώς εισάγει μικρές διαφοροποιήσεις στην απόδοση άκρων. Η επιλογή ignoreAntialiasing της βιβλιοθήκης βοηθά στην αποφυγή αυτών των ψευδών θετικών στοιχείων. Αυτό είναι ιδιαίτερα χρήσιμο για εφαρμογές όπου οι εικόνες μπορεί να αποδίδονται διαφορετικά σε διάφορες συσκευές ή προγράμματα περιήγησης, αλλά εξακολουθούν να είναι οπτικά οι ίδιες.

 Ελληνικά