【发布时间】:2019-04-18 15:47:29
【问题描述】:
我有一张在 Mac 上使用 OpenKinect 的 Kinect 红外输出的屏幕截图。
我想计算绿墙和橙色柱子的距离。我只关心一维数组,比如 y = 240(沿着图像的水平中心)。
我曾尝试使用 MarvinJ 将图像转换为灰度并将颜色值保存到数组中,但我很快发现这不是解决此问题的方法,因为灰度图像的整数颜色值非常相似,不能很好地代表深度。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Greyscale 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 colour = imageOut.getIntComponent0(x, y);
colour_array.push(colour);
}
document.getElementById('colour_array_div').innerHTML = colour_array;
}
</script>
<div id="colour_array_div"></div>
</body>
</html>
我正在努力解决的是如何将颜色转换为距离,最好以毫米为单位。
【问题讨论】:
标签: kinect openkinect