- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将我的OpenNI(1.5.4.0)Kinect 4 Windows Depthmap映射到OpenCV RGB图像。
我有深度为mm的Depthmap 640x480,它正试图做类似Burrus的映射:
http://burrus.name/index.php/Research/KinectCalibration
我跳过了失真部分,但否则我做了所有我认为的事情:
//with depth camera intrinsics, each pixel (x_d,y_d) of depth camera can be projected
//to metric 3D space. with fx_d, fy_d, cx_d and cy_d the intrinsics of the depth camera.
P3D.at<Vec3f>(y,x)[0] = (x - cx_ir) * depth/fx_ir;
P3D.at<Vec3f>(y,x)[1] = (y - cy_ir) * depth/fy_ir;
P3D.at<Vec3f>(y,x)[2] = depth;
//P3D' = R.P3D + T:
RTMat = (Mat_<float>(4,4) << 0.999388, -0.00796202, -0.0480646, -3.96963,
0.00612322, 0.9993536, 0.0337474, -22.8512,
0.0244427, -0.03635059, 0.999173, -15.6307,
0,0,0,1);
perspectiveTransform(P3D, P3DS, RTMat);
//reproject each 3D point on the color image and get its color:
depth = P3DS.at<Vec3f>(y,x)[2];
x_rgb = (P3DS.at<Vec3f>(y,x)[0] * fx_rgb/ depth + cx_rgb;
y_rgb = (P3DS.at<Vec3f>(y,x)[1] * fy_rgb/ depth + cy_rgb;
最佳答案
AFAIK OpenNI进行自己的注册(出厂设置),您也可以切换注册。如果您已经建立了具有OpenNI支持的OpenCV,它就是这样简单:
capture.set(CV_CAP_PROP_OPENNI_REGISTRATION,1);
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main(){
VideoCapture capture;
capture.open(CV_CAP_OPENNI);
//registration
if(capture.get( CV_CAP_PROP_OPENNI_REGISTRATION ) == 0) capture.set(CV_CAP_PROP_OPENNI_REGISTRATION,1);
if( !capture.isOpened() ){
cout << "Can not open a capture object." << endl;
return -1;
}
cout << "ready" << endl;
for(;;){
Mat depthMap,depthShow;
if( !capture.grab() ){
cout << "Can not grab images." << endl;
return -1;
}else{
if( capture.retrieve( depthMap, CV_CAP_OPENNI_DEPTH_MAP ) ){
const float scaleFactor = 0.05f;
depthMap.convertTo( depthShow, CV_8UC1, scaleFactor );
imshow("depth",depthShow);
}
}
if( waitKey( 30 ) == 27 ) break;//esc to exit
}
}
关于opencv - 3D映射到RGB的深度(Kinect OpenNI深度图到OpenCV RGB凸轮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17316015/
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
我用home通过kinect捕捉: capture.retrieve( depthMap, CV_CAP_OPENNI_DEPTH_MAP ) capture.retrieve( bgrImage,
我是图像处理新手。如何使用 Simple OpenNI for Processing 中的 getUserPixels() 跟踪多个用户?这需要什么作为参数?我该如何设置此代码? 最佳答案 这个想法是
所以我知道这个问题之前已经完成,但其他大部分时间仍然是 OpenNI 和 Libfreenect 都被剥离的时候。我的问题是: 1)我想知道现在是什么状态。2)这两者之间的差异(优点,缺点和其他)3)
我是 OpenNI 的新手。当我使用 Visual Studio 2010 c++ 尝试 OpenNI 示例时,我遇到了这些错误: 1>kinect_first_try.obj : error LNK
我刚刚安装了 openNi 库并让我的 kinect 在我的电脑上工作。我的问题是我只是一个 c++ 编程新手。 我从这个页面复制了手部追踪代码: http://openni.org/Document
我正在尝试使用 OpenNI 从 Kinect 的音频流中获取峰值电平(分频电平或诸如此类)。 我找到了这些: http://openni.org/docs2/Reference/classxn_1_
我想知道是否有人能够在 java 中将 openni 与 opencv 结合使用?例如,您在 IplImage 等中获得深度流……我目前正在尝试这样做,但我不确定从哪里开始。 如果任何完成此操作的人想
我正在使用 OpenNI、OpenCv 2.4 和 Kinect 实现手指检测算法。问题是我不知道如何开始,我找到了一段代码并尝试运行它。但问题是 imgproc_c.h 有很多错误,如(未声明的 C
我需要生成自己的 ONI 文件,我项目中的科学深度图像不是使用 Kinect 等常规设备生成的。 我查看了他们的github,发现有两个库https://github.com/OpenNI/OpenN
谁能给我一些解决这个问题的提示? 我正在尝试编译 "Kinect Matlab" (在 Mac OS 10.7 上),在编译脚本中是以下行: mex('-v','-L/usr/lib/','-lOpe
我已经能够找到/创建一些代码,允许我从支持 OpenNI 的相机(具体来说是 Orbbec Astra S)打开深度和颜色流。除了与标准 OpenNI 查看器不同外,我的流将最近的点显示为最暗的颜色,
我正在考虑在我的一个项目中使用 Kinect,但我完全迷失在所有库之间。不知 Prop 体是什么。最重要的是,我正在阅读有关 OpenNI 和 OpenKinect 的内容。但不知道他们的关系/差异。
我正在尝试提取用户轮廓并将其放在我的图像上方。我能够制作一个 mask 并从 RGB 图像中剪切用户。但轮廓很乱。 问题是如何使蒙版更加精确(以适合真实用户)。我尝试过 ERODE-DILATE 过滤
我在 Linux 上使用点云库 1.7.2。尽管 pcd_write 示例有效,但 PCL 工作正常。 但是当尝试运行 openni_grabber 时,它会显示一个窗口屏幕,其中包含三个红色、绿色和
我正在尝试编译 cpp 文件,但编译器找不到包含目录。 当我这样做时,我收到错误: #include 我已经安装了 OpenNI 及其依赖项,并且正在使用带有 Raspbian 操作系统的 Rasp
所以,我一直在尝试设置我的系统,以便我可以在开发环境中从 kinect 获取视频流。到目前为止我的设置是这样的: Windows 7 32 位 OpenCV 2.3.1 Super Pack(我假设大
我编写了一个程序,用于在 OpenNI 中保存 Kinect 深度图像的所有深度帧。我使用了简单的查看器示例。没有保存所有帧的问题!!我运行我的程序 10 秒,虽然应用程序设置为 30fps,但只保存
可以在同一个项目中使用两者吗?实际上他们有不同的类(class)。 我想这样做是因为 OpenNI2 有 Microsoft Kinect 的驱动程序,但是库 PCL(点云库)还不能与这个版本的 Op
Kinect OpenNI library使用自定义视频文件格式来存储包含 rgb+d 信息的视频。这些视频的扩展名为 *.oni。我找不到关于 ONI 视频格式的任何信息或文档。 我正在寻找一种将传
我是一名优秀的程序员,十分优秀!