我试图将相机记录下来,让它变得有点颠簸。
我从相机拍摄视频,并通过纹理将其放在飞机上。 从facedetection我有一个类似于高度图的灰度图像,我想从中获取像素数据并将其应用到相应的顶点,但它会有一点偏差。
pixeldata的长度比可用顶点的数量短,所以问题可能是正确的分配。
目前即便如此,如airtightinteractive.com/demos/js/webcammesh /:
function getPictureData() {
var canvas = document.getElementById('debug');
var context = canvas.getContext('2d');
var imgd = context.getImageData(0, 0, vidWidth, vidHeight);
var pix = imgd.data;
return pix;
}
function getColor(x, y, data) {
var base = (Math.floor(y) * (vidWidth + 1) + Math.floor(x)) * 4;
var c = {
r: data[base + 0],
g: data[base + 1],
b: data[base + 2],
a: data[base + 3]
};
return c.r + c.g + c.b
}
function getDepth() {
var data = getPictureData();
//console.log(data);
for (var i = 0; i < vidWidth +1; i++) {
for (var j = 0; j < vidHeight +1; j++) {
cubeGeometry.vertices[j * (vidWidth + 1) + i].z = getColor(i,j,data)/55;
}
}
cubeGeometry.verticesNeedUpdate = true;
}
知道如何匹配与顶点对应的像素吗?