Toon posts:

Afbeeldingen vergelijken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik weet niet zeker of het hier thuis hoort, maar het gaat om graphics dus zet ik het hier tussen.

Mijn vraag is of er programma's bestaan die twee afbeeldingen (jpg, bmp,...) met elkaar kunnen vergelijken en daarna een percentage van gelijkenis terug kunnen geven (twee dezelfde afbeeldingen is dus 100%)
Kent er iemand zo een proggie?

  • Allochtoon
  • Registratie: April 2002
  • Niet online

Allochtoon

bakhar

volgens mij is dat bijna onmogelijk behalve als je het kader waarover je meet verkleint, zomaar 2 random plaatjes nemen en gelijkenis meten is onzin, als je het over 2 dezelfde hebt waarvan de 2e iets is aangepast krijg je misschien duidelijke resultaten. Oja het progje heet www.google.com en www.sourceforge.net

Verwijderd

Ik heb ooit eens zoiets gemaakt in JAVA, de waarde die je zoekt heet de rms-waarde
voor als je 't leuk vindt:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public void berekenRMSError() {
        BufferedImage inp = img;
        BufferedImage outp = createBufferedImage("temp/temp"+aantalplaatjes+".jpg");

        Raster in = inp.getRaster();        // haalt raster op van plaatje voor codering
        Raster out = outp.getRaster();      // haalt raster op van plaatje na codering
        double d, sum = 0.0;
        int width = inp.getWidth(this);
        int height = inp.getHeight(this);
        for (int y = 0; y < height; ++y)           // for loopje voor het verschil berekenen per pixelwaarde
            for (int x = 0; x < width; ++x) {
                d = in.getSample(x, y, 0) - out.getSample(x, y, 0);
                sum += d*d;
            }
        float rmsError = (float) Math.sqrt(sum/(width*height));  //  Root-Mean-Square berekening
        rmswaardelabel.setText(Float.toString(((float)Math.round(rmsError*1000))/1000));
    }