В итоге я преобразовал каждый пиксель в их шестнадцатеричные значения RGB, а затем преобразовал шестнадцатеричное значение в десятичное число.
Это дало мне диапазон значений от 0 до 16777215.
Я скопировал вывод в файл CSV, затем обработал значение каждого пикселя в Excel. Я преобразовал десятичное значение цвета в расстояние в метрах.
Я обнаружил, что диапазон датчика глубины Kinect составляет 0,8–3,5 м [https://openkinect.org/wiki/Imaging_Information]
Я преобразовал десятичное значение в значение метра, используя ответ на этот вопрос: Имя функции Excel, чтобы отобразить одно соотношение в другое
значение / (inhi-inlo) * (outhi-outlo) + outlo
Вот график вывода:
Код, который я использовал для создания массива десятичных значений цвета:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Colour Test</title>
</head>
<body>
<script src="https://www.marvinj.org/releases/marvinj-0.9.js"></script>
<script>
image = new MarvinImage();
image.load("ir_test.png", imageLoaded);
function imageLoaded() {
var imageOut = new MarvinImage(image.getWidth(), image.getHeight());
var image2 = new MarvinImage(image.getWidth(), image.getHeight());
Marvin.invertColors(image, image2);
Marvin.invertColors(image2, imageOut);
var y = 240;
var colour_array = [];
for (var x = 0; x < imageOut.getWidth(); x++) { // For loop to loop through the x-axis
var red = imageOut.getIntComponent0(x, y);
var green = imageOut.getIntComponent1(x, y);
var blue = imageOut.getIntComponent2(x, y);
var hex_colour = rgbToHex(red,green,blue);
var colour = parseInt(hex_colour, 16); ///87210/kak-preobrazovat-desyatichnoe-v-shestnadtsaterichnoe-v-javascript
colour_array.push(colour);
}
document.getElementById('colour_array_div').innerHTML = colour_array;
}
//https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(r, g, b) {
return componentToHex(r) + componentToHex(g) + componentToHex(b);
}
</script>
<div id="colour_array_div"></div>
</body>
</html>