Salve a tutti, devo modificare in un canvas un solo colore di una immagine. Come posso fare?

questo è il codice che ho scritto,

<script type="text/javascript" language="javascript">
function start()
{
foglio = document.getElementById('test').getContext("2d");
foglio.drawImage(document.getElementById('giacca_n eutra'), 0,0);
imageData=foglio.getImageData(0,0,585,423);

for (riga = 0; riga < imageData.width; riga++)
{

for (colonna = 0; colonna<imageData.height; colonna++)
{

var px = (colonna * imageData.width + riga) * 4;
var r = imageData.data[px];
var g = imageData.data[px + 1];
var b = imageData.data[px + 2];

if (r == 241 && g == 169 && b == 51)
{
imageData.data[px] = 255;
imageData.data[px + 1] = 0;
imageData.data[px + 2] = 0;
}
}

}
foglio.putImageData(imageData, 0, 0);
}
</script>

la sostituzione del colore non è uniforme