Teachers open the door but You must enter by yourself.
Lij = Lij - Li-1 j-1 + 128
window.addEventListener('load', function(){
const canvas = document.getElementById('canvas');
canvas.height = canvas.width*1.333;
const context = canvas.getContext('2d');
const image = new Image();
image.src = 'ip/original.jpg';
image.addEventListener("load", function(){
context.drawImage(image,0,0);
const x = context.getImageData(0,0,canvas.width,canvas.height);
for (let j=x.height-1; j > 0 ; j--) {
for (let i=x.width-1; i > 0; i--) {
const m=(i-1+(j-1)*x.width)*4;
const n=(i+j*x.width)*4;
const gray1=x.data[m]*0.3+x.data[m+1]*0.59+x.data[m+2]*0.11;
const gray=x.data[n]*0.3+x.data[n+1]*0.59+x.data[n+2]*0.11;
const emboss=gray-gray1+128;
x.data[n]=x.data[n+1]=x.data[n+2]
=emboss>255?255:(emboss<0?0:emboss);
}
}
context.putImageData(x,0,0);
});
});
出力値は必ずしも0~255の間になるとは限らないので、丸め処理が必要となることに注意!
This site is powered by