Nemokama Node.js API vaizdų palyginimui
Atvirojo kodo Node.js pagrįsta API, kuri lygina vaizdus po pikselius. Galingas, lankstus ir efektyvus vaizdų palyginimo sprendimas Node.js programose.
Vaizdo palyginimas vaidina labai svarbų vaidmenį kuriant programinę įrangą, ypač tokiose srityse, kaip vizualinės regresijos testavimas, vaizdo kokybės užtikrinimas ir tobulo pikselių dizaino patikra. Nesvarbu, ar kuriate programinę įrangą, užtikrinančią nuoseklią vartotojo sąsajos išvaizdą keliose platformose, ar automatizuojate vizualines patikras gamybos vamzdyne, labai svarbu turėti veiksmingą vaizdų palyginimo įrankį. „LooksSame“, atvirojo kodo API, kurią sukūrė „Gemini-Testing“, supaprastina vaizdų palyginimo programinės įrangos kūrimo procesą su intuityviomis funkcijomis. Bibliotekoje yra keletas svarbių funkcijų, pvz., vaizdų palyginimas po pikselius, slapyvardžio panaikinimo aptikimas, tolerancijos valdymo konfigūravimas, vaizdo matmenų tvarkymas, pažadų palaikymas ir daugelis kitų.
LooksSame yra Node.js pagrįsta API, skirta vaizdų palyginimui. Tai leidžia kūrėjams lyginti vaizdus po pikselį ir pasirinkti nedidelius skirtumus, kurie gali atsirasti dėl atvaizdavimo aplinkos skirtumų. Naudodami biblioteką programinės įrangos kūrėjai gali kurti savo programas, kurios aptinka reikšmingus vizualinius skirtumus, nepaisydami trivialių variantų. API visų pirma skirta padėti kūrėjams išlaikyti nuoseklų vartotojo sąsajos dizainą, tačiau dėl jos universalumo ji tinka daugeliui kitų vaizdų palyginimo atvejų. Dėl savo nesudėtingos API ir pritaikomų parinkčių „LooksSame“ puikiai papildo bet kurio kūrėjo įrankių rinkinį, ypač naudojant žiniatinklio sąsajos testavimą, automatizuotą vaizdų generavimą ir kitus scenarijus, kai vizualinis tikslumas yra svarbiausias.
Darbo su LooksSame pradžia
Rekomenduojamas būdas įdiegti „LooksSame“ yra naudoti NPM. Norėdami sklandžiai įdiegti, naudokite šią komandą.
Įdiekite „LooksSame“ per NPM
npm install looks-same
Pagrindinis vaizdo palyginimas Node.js programose
Atvirojo kodo biblioteka LooksSame leidžia programinės įrangos kūrėjams lengvai palyginti pagrindinius vaizdus Node.js programose. Įdiegę galite palyginti du vaizdus, kode reikalaudami modulio LooksSame. Štai pagrindinis pavyzdys, kuriame parodyta, kaip naudoti biblioteką norint patikrinti, ar du vaizdai yra vizualiai identiški: Šiame pavyzdyje palyginamos image1.png ir image2.png. Jei jie vizualiai yra vienodi, lygūs grįš true; kitu atveju pateikiama klaidinga.
Kaip palyginti du vaizdus Node.js programose?
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!');
}
});
Tolerancija pagrįstas vaizdo palyginimas
Programoms, kurioms nereikia tobulų taškų atitikčių, programinės įrangos kūrėjai gali pridėti tolerancijos lygį. Tai leidžia nepaisyti nedidelių vaizdų skirtumų, pvz., pasikeitimų dėl atvaizdavimo skirtingose naršyklėse ar operacinėse sistemose. Toliau pateiktame kodo pavyzdyje tolerancija nustatyta į 5 %, o tai reiškia, kad dėl nedidelių pikselių svyravimų (iki 5 %) vaizdai nebus laikomi skirtingais.
Kaip atlikti tolerancija pagrįstą vaizdo palyginimą Node.js programose?
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
Konkrečių skirtumų sričių paryškinimas
Norėdami gauti sudėtingesnių programų, programinės įrangos kūrėjai gali norėti nustatyti ir analizuoti tik konkrečias skirtumų sritis. „LooksSame“ bibliotekoje yra ribojamojo langelio funkcija, kuri rodo tikslų regioną, kuriame atsiranda skirtumų. Ši funkcija išveda skirtingų regionų ribojamojo langelio koordinates, todėl lengviau sutelkti dėmesį į konkrečias pasikeitusias vaizdo dalis. Šiame pavyzdyje parodyta, kaip naudoti ribojamojo langelio koordinates vaizdams palyginti ir paryškinti skirtumus.
Kaip palyginti konkrečių vaizdų sričių skirtumus naudojant Node.js programas?
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 slapyvardžio aptikimas tiksliam palyginimui
Atvirojo kodo biblioteka LooksSame leidžia programinės įrangos kūrėjams atlikti vaizdų glaudinimą naudojant apsaugos nuo slapyvardžio aptikimo metodą Node.js programose. Anti-aliasing gali sukelti klaidingų teigiamų rezultatų lyginant vaizdus, nes dėl to kraštų atvaizdavimas šiek tiek skiriasi. Bibliotekos parinktis ignoreAntialiasing padeda išvengti šių klaidingų teigiamų rezultatų. Tai ypač naudinga programoms, kuriose vaizdai įvairiuose įrenginiuose ar naršyklėse gali būti pateikiami skirtingai, tačiau vizualiai vis tiek yra vienodi.