Gratis Node.js API för bildjämförelse
Open Source Node.js-baserat API som jämför bilder Pixel för Pixel. En kraftfull, flexibel och effektiv lösning för bildjämförelse i Node.js-applikationer.
Bildjämförelse spelar en viktig roll i mjukvaruutveckling, särskilt inom områden som visuell regressionstestning, bildkvalitetssäkring och pixelperfekt designverifiering. Oavsett om du utvecklar programvara för att säkerställa ett konsekvent UI-utseende på flera plattformar eller automatiserar visuella kontroller i en produktionspipeline, är det viktigt att ha ett effektivt bildjämförelseverktyg. LooksSame, ett API med öppen källkod utvecklat av Gemini-Testing, förenklar processen att skapa programvara för bildjämförelse med dess intuitiva funktioner. Det finns flera viktiga funktioner i biblioteket som pixel-för-pixel-bildjämförelse, anti-aliasing-detektering, konfigurering av toleranskontroll, hantering av bilddimensioner, stöd för Promises och många fler.
LooksSame är ett Node.js-baserat API designat för bildjämförelse. Det tillåter utvecklare att jämföra bilder pixel för pixel, med alternativ för att hantera mindre variationer som kan uppstå på grund av skillnader i renderingsmiljöer. Genom att använda biblioteket kan mjukvaruutvecklare bygga sina egna applikationer som upptäcker betydande visuella skillnader samtidigt som de ignorerar triviala variationer. API:et är främst inriktat på att hjälpa utvecklare att upprätthålla konsistens i UI-design, men dess mångsidighet gör det lämpligt för många andra användningsfall för bildjämförelse. Med sitt enkla API och anpassningsbara alternativ är LooksSame ett bra tillägg till alla utvecklares verktygslåda, särskilt för webbaserad UI-testning, automatisk bildgenerering och andra scenarier där visuell noggrannhet är av största vikt.
Komma igång med LooksSame
Det rekommenderade sättet att installera LooksSame är att använda NPM. Använd följande kommando för en smidig installation.
Installera LooksSame via NPM
npm install looks-same
Grundläggande bildjämförelse i Node.js-appar
LooksSame-biblioteket med öppen källkod gör det enkelt för programutvecklare att utföra grundläggande bildjämförelser i Node.js-applikationer. När det är installerat kan du jämföra två bilder genom att kräva LooksSame-modulen i din kod. Här är ett grundläggande exempel som visar hur du använder biblioteket för att kontrollera om två bilder är visuellt identiska: I det här exemplet jämförs bild1.png och bild2.png. Om de är visuellt lika, kommer lika att returnera sant; annars returnerar det falskt.
Hur jämför man två bilder i Node.js-appar?
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!');
}
});
Toleransbaserad bildjämförelse
För applikationer som inte kräver pixelperfekta matchningar kan mjukvaruutvecklare lägga till en toleransnivå. Detta gör att små skillnader mellan bilder, såsom ändringar på grund av rendering i olika webbläsare eller operativsystem, kan ignoreras. I följande kodexempel är toleransen inställd på 5 %, vilket innebär att små pixelvariationer (upp till 5 %) inte kommer att göra att bilderna betraktas som olika.
Hur utför man toleransbaserad bildjämförelse i Node.js Apps?
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
Markera specifika skillnadsområden
För mer sofistikerade applikationer kanske programvaruutvecklare bara vill identifiera och analysera specifika områden av skillnad. LooksSame-biblioteket tillhandahåller en begränsningsruta som visar den exakta regionen där skillnader uppstår. Denna funktion matar ut begränsningsrutans koordinater för de olika regionerna, vilket gör det lättare att fokusera på specifika delar av bilden som har ändrats. Följande exempel visar hur man använder avgränsningsrutakoordinater för att jämföra bilder och markera skillnaderna.
Hur jämförs identifiera skillnaderna mellan specifika bildområden via Node.js-appar?
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');
Anti-aliasdetektering för exakta jämförelser
LooksSame-biblioteket med öppen källkod tillåter mjukvaruutvecklare att utföra bildkomprimering genom att använda Anti-Aliasing Detection-metoden i Node.js-applikationer. Kantutjämning kan orsaka falska positiva resultat vid jämförelse av bilder, eftersom det introducerar små variationer i kantrenderingen. Bibliotekets ignoreAntialiasing-alternativ hjälper till att undvika dessa falska positiva resultat. Detta är särskilt användbart för applikationer där bilder kan renderas olika på olika enheter eller webbläsare men fortfarande är visuellt desamma.