A lightweight image comparison tool
Pixel-Diff was initially created to compare screenshots and continue the work of BlinkDiff.
There are three types of image comparisons:
- Pixel-by-pixel - Used to compare low-frequency images like screenshots from web-sites, making sure that small styling differences trigger.
- Perceptual - Used to compare image creation applications, for example rendering engines and photo manipulation applications that are taking the human perception into account, ignoring differences a human probably would not see.
- Context - Used to see if parts of images are missing or are severely distorted, but accepts smaller and/or perceptual differences.
Install this module locally with the following command:
npm install pixel-diff
Save to dependencies or dev-dependencies:
npm install --save pixel-diff
npm install --save-dev pixel-diff
let diff = new PixelDiff({
imageAPath: 'path/to/first/image',
imageBPath: 'path/to/second/image',
thresholdType: PixelDiff.THRESHOLD_PERCENT,
threshold: 0.01, // 1% threshold
imageOutputPath: 'path/to/output/image'
});
diff.run((error, result) => {
if (error) {
throw error;
} else {
console.log(diff.hasPassed(result.code) ? 'Passed' : 'Failed');
console.log('Found ' + result.differences + ' differences.');
}
});
Refer to docs for more examples.
Run the tests with the following commands:
npm test
or npm test -- unit
The code-coverage will be written to the coverage folder in the module root.
See the contributing guide for more information.
In lieu of a formal style guide, take care to maintain the existing coding style.
Add tests for any new or changed functionality. Lint and test your code using
npm test
Licensed under the MIT license.
Copyright (c) 2019