2017-04-01 4 views
0

Wie kann ich testen, ob der Pixelwert an einem Punkt und ein anderer Punkt in einem auf einer Leinwand gerenderten Bild unterschiedlich sind? Kann ich eine numerische Differenz zwischen dem Pixelwert an zwei verschiedenen Orten erhalten, z. B. pixelat (x, y) -pixelat (x1, y1) = eine beliebige Anzahl?Leinwand: Unterschied zwischen Pixelwerten

muss ich Differenz zwischen benachbarten Pixelwerte überprüfen und eine Operation tun, wenn die Differenz über einen bestimmten Wert geht ..

+0

bekommen Was halten Sie für mehr anders: RGB von (200, 200, 200) gegen (200, 200, 0) oder RGB von (200, 200, 200) gegen (130, 130, 130)? – nnnnnn

+0

(200,200,200) vs (130,130,130) –

Antwort

0

Um ein Pixel

function getPixel(x,y){ 
    var data = ctx.getImageData(x,y,1,1).data; 
    return { 
     r : data[0], // pixel RGBA values 
     g : data[1], 
     b : data[2], 
     a : data[3], 
     raw : new Uint32Array(data.buffer)[0], // 32bit pixel value 
    }; 
} 
if(getPixel(10,10).raw !== getPixel(100,100).raw){ 
     // pixels are different 
}