Comments (4)
A candidate is SSIM: https://ece.uwaterloo.ca/~z70wang/research/ssim/
The link lists various implementations.
This implementation has alpha channel support, but its license might be an issue:
https://github.com/kornelski/dssim
from graphicsfuzz.
In general the image histogram metric that we are using is pretty limited even despite lack of alpha channel support. For example, I have found that it gives a distance of 0 between an image filled with vec4(0.0, 0.0, 0.0, 1.0) pixels and an image filled with vec4(1.0, 1.0, 1.0, 1.0) pixels.
from graphicsfuzz.
An idea is to switch from OpenCV to ImageMagick, which offers the following comparison metrics:
https://imagemagick.org/script/command-line-options.php#metric
Imagemagick has Java wrappers and is available via Maven:
http://www.jmagick.org/jmagick-doc/
https://mvnrepository.com/artifact/org.imagemagick
As I think OpenCV is used only for image comparison, we could then drop the OpenCV dependency.
from graphicsfuzz.
Added histogram alpha support in #262
Added fuzzy difference algorithm in #271 Still need to integrate this algorithm but this issue is technically fixed.
from graphicsfuzz.
Related Issues (20)
- Support more sampler types than just sampler2D
- gfauto doesn't handle an integer with the minimum possible value properly HOT 1
- gfauto: add support for different framebuffer sizes HOT 3
- Unreleased Resource: Streams HOT 1
- Unused Field HOT 2
- Variable Never Used HOT 3
- Unreleased Resource: Sockets
- How to confirm the golden image for reference shader? HOT 8
- gfauto reduction not semantically same
- Use dynamic descriptor offsets
- gfauto / glsl-reduce: Exit more informatively when a ParseTimeoutException occurs HOT 2
- Add multi-dimensional array support to the parser and the printer
- Reduction producing an inifinite loop HOT 3
- Adding Method call (array.length()) support
- Adding memory qualifiers support for buffers / shader storage blocks
- Add ShaderTrap back-end to gfauto
- Reducer: eliminate un-referenced interface blocks
- DonateCodeTransformation might move injectionSwitch up above the precision declaration, causing shader to fail validation
- glsl-reduce enhancement: based on perses HOT 2
- There is no problem with testing the Qualcomm chip, whether the mtk chip is compatible
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphicsfuzz.