kinect sdk拍的照片怎么看

大神们帮我:kinect 拍的照片怎么导到电脑上看_xbox360吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:116,593贴子:
大神们帮我:kinect 拍的照片怎么导到电脑上看
我与朋友们一起玩,就是那个买机子送的正版kinect adventures,拍了好多照片,我想把它们保存在电脑上,我找到了这个游戏的目录,但是不知道怎么弄,求大神帮忙!
周三美女●爱闹腾牟牟酱rbo
他喜欢旅游,摄影,爱好...
把口水擦擦,快戳进来看...
胸口碎鸡蛋,手撕豆腐,...
第一眼看男生哪?有处男...
最头像:夏日吟成诗只为...
四川妹子银行卡上离奇进...
盗墓笔记中的张起灵为什...
来玩,让小热狗也听听你...
萌哒哒的小宠物,雪地尽...
那一次,她生理反应被吓...
动漫里面那些奇特的能力...
内&&容:使用签名档&&
保存至快速回贴
为兴趣而生,贴吧更懂你。&或6810人阅读
自从有了Kinect,根据深度图提取前景就非常方便了。因此出现了很多虚拟现实、视频融合等应用。但是,Kinect自身的RGB摄像头分辨率有限,清晰度也不及一些专业摄像头,因此有了用第三方摄像头代替Kinect摄像头的想法。现在的问题是,如何将Kinect的深度图与第三方摄像头的RGB图像对准?
我们知道,当使用Kinect的RGB时,有方便的MapColorCoordinatesToDepth()和MapDepthCoordinatesToColor()方法可以使用,这些函数将深度图和RGB对准到一起,从而可根据深度图准确的提取出RGB中的前景。但打算使用第三方摄像头时,这些函数都没有用了,它们不可能知道我们所用摄像头的参数以及空间位置,因此只能靠自己标定的方法解决这一问题。
在标定之前,先要固定好Kinect和摄像头的位置,让深度摄像头和RGB摄像头的像平面尽量平行,距离也不要隔得太远,就像下面这样(做得很丑,请见谅-_-!!):
一、RGB摄像头的标定
RGB摄像头的标定想必大家都很熟悉,最常用的就是棋盘法。用待标定的摄像头拍摄多幅不同视角下的棋盘图片,将这些图片扔给OpenCV或Matlab,从而计算出该摄像头的内参以及对应于每一幅图像的外参。这里就写写我在标定过程中的一些感受和经验吧。
1、标定所用的棋盘要尽量大,至少要有A3纸的大小;
2、棋盘平面与摄像头像平面之间的夹角不要太大,控制在45度以下;
3、棋盘的姿势与位置尽可能多样化,但相互平行的棋盘对结果没有贡献;
4、用于标定的图片要多于10张;
5、注意设置好摄像头的分辨率,长宽比最好和深度图的相同,比如:3)。
以下是一些用于标定的样图:
二、深度摄像头的标定
深度摄像头看起来和RGB摄像头差别很大,实际上有很多相似之处。就Kinect而言,其通过一个红外散斑发射器发射红外光束,光束碰到障碍物后反射回深度摄像头,然后通过返回散斑之间的几何关系计算距离。其实,Kinect的深度摄像头就是一个装了滤波片的普通摄像头,只对红外光成像的摄像头(可以这么认为)。因此要对其标定,只需用红外光源照射物体即可,LED红外光源在淘宝上就20元一个。还有一点必须注意,在拍摄红外照片时,要用黑胶带(或其他东西)将Kinect的红外发射器完全挡住,否则其发出的散斑会在红外照片中产生很多亮点,不利于棋盘角点的检测。以下是对应于上面RGB图像的红外图:
三、计算内参
得到以上图片之后,就可以分别对RGB摄像头和深度摄像头计算内参了。可以使用OpenCV,自己写一小段程序,然后把图片扔进去。也可以使用著名的Matlab Camera Calibration Toolbox。自己写代码累,Matlab我没装,因此我使用&GML Calibration Toolbox,可以在这里下载&&。这是一个C++写的标定程序,有友好的用户界面,精度也不错,使用非常方便。
分别将RGB和红外的照片扔进去,得到RGB摄像头的内参(包括畸变参数):
=== Intrinsic ===
554.952628 & & &0.000000 & & & & & 327.545377
0.000000 & & & & & 555.959694 & & &248.218614
0.000000 & & & & & 0.000000 & & & & & 1.000000
=== Distortion ===
0.025163 & & & & &-0.118850 & & & & &-0.006536 & & & & &-0.001345&
和Kinect深度摄像头的内参(这个对所有Kinect应该都是差不多的):
=== Intrinsic ===
597.599759 & & &0.000000 & & & & & 322.978715
0.000000 & & & & & 597.651554 & & &239.635289
0.000000 & & & & & 0.000000 & & & & & 1.000000
=== Distortion ===
-0.094718 & & & & &0.284224 & & & & & -0.005630 & & & & &-0.001429&
现在说说怎么配准,由于Kinect可以得到真实点的三维坐标,因此深度图的配准可以用一些简单特殊的方法。
设P_ir为在深度摄像头坐标下某点的空间坐标,p_ir为该点在像平面上的投影坐标(x、y单位为像素,z等于深度值,单位为毫米),H_ir为深度摄像头的内参矩阵,由小孔成像模型可知,他们满足以下关系:
又设P_rgb为在RGB摄像头坐标下同一点的空间坐标,p_rgb为该点在RGB像平面上的投影坐标,H_rgb为RGB摄像头的内参矩阵。由于深度摄像头的坐标和RGB摄像头的坐标不同,他们之间可以用一个旋转平移变换联系起来,即:
其中R为旋转矩阵,T为平移向量。最后再用H_rgb对P_rgb投影,即可得到该点对应的RGB坐标:
需要注意的是,p_ir和p_rgb使用的都是齐次坐标,因此在构造p_ir时,应将原始的像素坐标(x,y)乘以深度值,而最终的RGB像素坐标必须将p_rgb除以z分量,即(x/z,y/z),且z分量的值即为该点到RGB摄像头的距离(单位为毫米)。
现在的问题是,如何求联系两个坐标系的旋转矩阵和平移向量。这就要用到摄像头的外参了。
外参矩阵实际上也是由一个旋转矩阵R_ir(R_rgb)和平移向量T_ir(T_rgb)构成的,它表示将一个全局坐标系下的点P变换到摄像头坐标系下,分别对深度摄像头和RGB摄像头进行变换,有以下关系:
在第一式中,将P用P_ir、R_ir和T_ir表示,并带入第二式,可得:
从上式可以看出,这是在将P_ir变换为P_rgb,对比之前的式子:
因此,我们只需在同一场景下,得到棋盘相对于深度摄像头和RGB摄像头的外参矩阵,即可算出联系两摄像头坐标系的变换矩阵(注意,所有旋转矩阵都是正交阵,因此可用转置运算代替求逆运算)。虽然不同场景下得到的外参矩阵都不同,计算得到的R和T也有一些变化,但根据实际实验结果来看,使用一个正面棋盘的标定图像就可达到较好的效果,如下图:
注意,这两幅图像必须来自于同一场景,否则没有意义。当然你也可以使用多个场景下的外参,然后使用OpenCV的StereoCalibration函数求得两个摄像头的最佳相对变换矩阵,由于时间关系,我没有做这个测试。
使用GML Calibration Toolbox得到以上两图的外参(在菜单栏的Calibration-&Export Calibration Data菜单中选择导出),然后根据上式,扔进Mathematica里面去做矩阵运算,得到最终的R和T:
R={&{0.999853, -0..0167495},&
{0..999708,&&0.0239986},
{-0.0168257, -0..999571} &}
T={ &{15.2562}, {70.2212}, {-10.9926} &}
最后写一个小程序测试一下,看看配准前(左)和配准后(右)的区别:
从图像上看,配准已经很精确了。若还要更好,可以手动微调一下两个摄像头的平移向量T,主要改x分量和y分量,这样可以控制RGB和深度图的左右对齐和上下对齐。另外,还可以加入对畸变系数的处理,不过由于Kinect的摄像头以及我使用的RGB摄像头本身质量较高,畸变影响不大,这里就全部忽略了。
================================分割线=====================================
由于之前换电脑,一时疏忽将最后配准的代码丢了,所以没法提供给大家,万分抱歉。感谢ctgushiwei朋友的提出,在此说一下这个测试程序的思路。
1、获取Kinect的深度图像;
2、获取RGB摄像头的图像;
3、为深度图像中的每一个像素附上对应的RGB颜色,比如你要给坐标为(x, y)的深度图像素附上颜色,具体步骤如下;
1)构造一个三维向量p_ir = (x, y, z),其中x,y是该点的像素坐标,z是该像素的深度值;
2)用Kinect内参矩阵H_ir的逆,乘以p_ir得到对应的空间点坐标P_ir,具体公式见上文第四部分(配准);
3)由于P_ir是该点在Kinect坐标系下的坐标,我们需要将其转换到RGB摄像头的坐标系下,具体的,就是乘以一个旋转矩阵R,再加上一个平移向量T,得到P_rgb;
4)用RGB摄像头的内参矩阵H_rgb乘以P_rgb,得到p_rgb,p_rgb也是一个三维向量,其x和y坐标即为该点在RGB图像中的像素坐标,取出该像素的颜色,作为深度图像中对应像素的颜色;
5)对深度图像中的每一个像素都做上述操作,得到配准后的深度图。
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
华中科技大学在读研究生,主修光电成像与图像处理,爱好机器视觉和机器学习。关注云计算、移动互联网、物联网、智能家居等领域。查看: 4533|回复: 4
在线时间22 小时羁绊0 重爱心公益0 点原创贡献0 克拉最后登录QQ性别保密UID4432007帖子诚信0 点C金72 枚G币0 枚人气0 ℃资源贡献0 盎司阅读权限5注册时间
CG新手会员, 积分 125, 距离下一级还需 25 积分
帖子精华0C金72 枚人气0 ℃阅读权限5注册时间
我去这里看过了...........可是看不懂.......小弟愚昧......不知道意思.......
原句是“:拷照片
拿U盘生成一个适量的XBOX容量,把要的图片拷到u盘里。
把XBOX360目录拖拽到KinectPhotoExport.exe就可以了。或者把KinectPhotoExport.exe和Freeimage拷到Xbox360目录下运行就可以了
照片就生成到XBOX360目录下了”
...................看不懂啊!!!!!!!!!!!=高手帮帮忙吧...谢谢了
在线时间22 小时羁绊0 重爱心公益0 点原创贡献0 克拉最后登录QQ性别保密UID4432007帖子诚信0 点C金72 枚G币0 枚人气0 ℃资源贡献0 盎司阅读权限5注册时间
CG新手会员, 积分 125, 距离下一级还需 25 积分
帖子精华0C金72 枚人气0 ℃阅读权限5注册时间
帮帮忙 啊!!!!!!!!!!各位i
在线时间22 小时羁绊0 重爱心公益0 点原创贡献0 克拉最后登录QQ性别保密UID4432007帖子诚信0 点C金72 枚G币0 枚人气0 ℃资源贡献0 盎司阅读权限5注册时间
CG新手会员, 积分 125, 距离下一级还需 25 积分
帖子精华0C金72 枚人气0 ℃阅读权限5注册时间
没人吗?各位大大啊!!!!!!!出来吧
在线时间22 小时羁绊0 重爱心公益0 点原创贡献0 克拉最后登录QQ性别保密UID4432007帖子诚信0 点C金72 枚G币0 枚人气0 ℃资源贡献0 盎司阅读权限5注册时间
CG新手会员, 积分 125, 距离下一级还需 25 积分
帖子精华0C金72 枚人气0 ℃阅读权限5注册时间
来个人啊!!!!!!!!!!!!!!!!!!!!!!!!!
在线时间190 小时羁绊5 重爱心公益0 点原创贡献0 克拉最后登录QQ性别保密UID297453帖子诚信0 点C金157 枚G币0 枚人气0 ℃资源贡献0 盎司阅读权限20注册时间
CG青铜会员, 积分 1141, 距离下一级还需 1859 积分
帖子精华0C金157 枚人气0 ℃阅读权限20注册时间
mark~~~~~~~~~~~
社区推荐 /1
社区盗号猖獗,目前已发现黑客盗取论坛用户账号发布违法信息,建议大家为了账号安全,定期修改密码,以免账号被盗取!
提示:点击左侧图标立即修改!
Powered by一种kinect拍摄的深度图与彩色摄像机拍摄视频的实时配准方法
本发明提出了一种将kinect实时捕获的深度图与高清摄像机拍摄的视频进行配准的、稳定的、快速的实时配准方法。本发明去除了深度相机内参估计的步骤,减少待求参数的同时,增强了算法的稳定性。本发明使用线性优化框架求解,可以一步得到全局最优解,算法计算效率得到了极大的提升。本发明虽然去除了传统算法中深度相机内参估计的步骤,但是深度信息映射到视频的执行效率并未因此受到影响,仍然能够实时地将kinect捕获的深度信息映射到视频上;并且由于定义的混合参数具有良好的数学性质,仍然可以使用矩阵QR分解技术反求出深度相机内参,供其他算法应用。
专利类型:
申请(专利)号:
申请日期:
公开(公告)日:
公开(公告)号:
主分类号:
H04N13/00,H,H04,H04N,H04N13
H04N13/00,H,H04,H04N,H04N13,H04N13/00
申请(专利权)人:
发明(设计)人:
童若锋,琚旋,成可立
主申请人地址:
310007 浙江省杭州市浙大路38号浙江大学玉泉校区
专利代理机构:
浙江杭州金通专利事务所有限公司 33100
国别省市代码:
一种kinect拍摄的深度图与彩色摄像机拍摄视频的实时配准方法,其特征在于它包括以下步骤:(1)、将高清彩色相机和kinect深度相机分别固定,并设置同步拍摄信号;(2)、将标定用棋盘格随机置于彩色相机和kinect深度相机之前,并进行同步拍摄,得到同一时刻棋盘格的彩色图像和深度图像;将此操作重复多次,直到得到一组不同角度,不同距离的同步拍摄结果;(3)、在kinect每次拍摄的深度图中的棋盘格对应的区域内手动随意标注一块或若干块任意形状区域,保证每张深度图上标记的区域的像素数目总和不少于10个像素;计算在第i次拍摄的kinect的深度图中,手动标注的任意区域内的第j个像素点的二维坐标的齐次坐标表示和该点的深度的乘积,记作??,并将所有坐标的集合记作;(4)、对于第i次拍摄得到的坐标集合,将其所有元素带入空间平面方程:进行平面拟合,并计算得到的平面的法向量;对于集合中的所有元素,计算的均值,将中所有满足的点滤除,将剩余的点作为新的坐标集合;(5)、使用张正友的经典彩色摄像机标定算法计算高清彩色相机内参和每次拍摄中彩色相机和棋盘格的相对位置关系,使用旋转矩阵和平移向量来表示第i次的拍摄的相对位置关系;(6)、设3*3大小的混合参数和3维向量为未知量;将(4)、(5)两步得到的经过噪声滤除步骤的点坐标和第i次拍摄的旋转参数作为已知量,建立平面约束线性方程:;(7)、根据点坐标对应的深度对(6)中的方程施加惩罚系数,深度值越小的惩罚系数越大,使得深度较小的点对应的约束方程在方程组中具有较大的权重;(8)、建立约束方程组,使用线性优化框架求解:1)表示彩色相机和kinect之间的平移参数T;2)由深度相机内参和彩色相机与kinect之间相对旋转组成的混合参数H;(9)、使用步骤(6)中得到的H和T两个参数实时地将kinect捕获的深度信号映射到高清摄像机捕获的视频上。311444dest_path_image001.jpg,997640dest_path_image002.jpg,394511dest_path_image003.jpg,507961dest_path_image004.jpg,370874dest_path_image005.jpg,595182dest_path_image003.jpg,922259dest_path_image001.jpg,127981dest_path_image006.jpg,540508dest_path_image007.jpg,568506dest_path_image003.jpg,687772dest_path_image008.jpg,143024dest_path_image003.jpg,777268dest_path_image009.jpg,343379dest_path_image010.jpg,831998dest_path_image011.jpg,458151dest_path_image012.jpg,579691dest_path_image013.jpg,887175dest_path_image001.jpg,43350dest_path_image014.jpg,840405dest_path_image015.jpg,636191dest_path_image001.jpg,544105dest_path_image016.jpg,554786dest_path_image017.jpg
法律状态:
公开 ,公开
加载中,请稍候
.客服电话
&&8:00-11:30,13:00-17:00(工作日)

我要回帖

更多关于 kinect sdk 的文章

 

随机推荐