给定一张图片(伪色图)如下:
根据点位获取对应的照度值
var canvas = document.getElementById('test');
var ctx = canvas.getContext('2d');
var img = new Image();
img.crossOrigin = '';
img.onload = function() {
var wid = img.width;
var hei = img.height
canvas.width = wid;
canvas.height = hei;
ctx.drawImage(img, 0, 0);
var imgData = ctx.getImageData(0, 0, wid, hei);
console.log(imgData);
console.log(getLux(376, 505, imgData));
}
img.src = 'test.png';
function getLux(left, top, imgData) {
var l = left;
var t = top;
var s = (l + imgData.width * t) * 4;
var u = imgData.data.slice(s, s + 4);
var d = u[0] / Math.pow(255, 1);
var g = u[1] / Math.pow(255, 2);
var v = u[2] / Math.pow(255, 3);
return 65535 / 4 * (d + g + v)
}