新人拼凑的码,求解为什么D\\点云数据.txt中没有写入数据!!

问题描述

新人拼凑的码,求解为什么D\点云数据.txt中没有写入数据!!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Kinect;
using System.IO;
using System.Windows.Forms;
namespace GetPointCloudFromKinectV2
{
class Program
{

    //************************ 初始化相关对象 *********************************
    public static KinectSensor sensor0 = null;

    static DepthFrameSource depthFrameSource0 = null;

    static DepthFrameReader depthFrameReader0 = null;

    static DepthFrame depthFrame = null;
    static ushort[] frameData_Shoot = new ushort[217088];

    static CoordinateMapper coordinateMapper0 = null;

    static int depthFrameWidth = 512;
    static int depthFrameHeight = 424;
    static CameraSpacePoint[] OriginalPointCloud0 = new CameraSpacePoint[depthFrameWidth * depthFrameHeight];
    static void Main(string[] args)
    {
        sensor0 = KinectSensor.GetDefault();
        sensor0.Open(); //打开传感器

        depthFrameSource0 = sensor0.DepthFrameSource;//初始化depthFrameSource0
        coordinateMapper0 = sensor0.CoordinateMapper;//初始化coordinateMapper0

        depthFrameReader0 = sensor0.DepthFrameSource.OpenReader();//打开深度数据流

        DepthFrame depthFrame = null;
        depthFrame = depthFrameReader0.AcquireLatestFrame();
        if (depthFrame != null)
        {
            depthFrame.CopyFrameDataToArray(frameData_Shoot);

            coordinateMapper0.MapDepthFrameToCameraSpace(frameData_Shoot, OriginalPointCloud0);

        }
    }

    /// 将摄像机坐标系下的点云写入到文件

    static void WritePointCloud(CameraSpacePoint[] cameraSpacePoints, string FilePath = "D\点云数据.txt")
    {
        //确保路径存在
        //如果不存在,则创建文件夹
        if (!Directory.Exists(FilePath))
        {
            Directory.CreateDirectory(FilePath);
        }

        FilePath = Path.Combine(FilePath );

        try
        {
            float x, y, z;
            int frameWidth = depthFrameWidth;//深度帧的宽度
            int frameHeight = depthFrameHeight;//深度帧的高度
            for (int row = 0; row < frameHeight; row++)
            {
                for (int col = 0; col < frameWidth; col++)
                {
                    x = cameraSpacePoints[row * frameWidth + col].X;
                    y = cameraSpacePoints[row * frameWidth + col].Y;
                    z = cameraSpacePoints[row * frameWidth + col].Z;
                    string path="D\点云数据.txt";//
                    StreamWriter sw = new StreamWriter(path, true);
                    sw.WriteLine("{0} {1} {2}", x, y, z);
                    sw.Close();
                }
            }
        }
        catch (IOException ex)
        {
            System.Windows.Forms.MessageBox.Show("An IO exception has been thrown!n{0}",
                ex.ToString());
            return;
        }
    }
}

}
新人拼凑的码,求解为什么D点云数据.txt中没有写入数据!!

解决方案

路径搞错了吧。。你少了冒号会在你exe所在目录写入文件,就是bin目录里面,而不是d盘根目录下

        string path = @"D:点云数据.txt";//放外面来,不需要每次打开文件写入
       StreamWriter sw = new StreamWriter(path, true);
        for (int row = 0; row < frameHeight; row++)
        {
            for (int col = 0; col < frameWidth; col++)
            {
                x = cameraSpacePoints[row * frameWidth + col].X;
                y = cameraSpacePoints[row * frameWidth + col].Y;
                z = cameraSpacePoints[row * frameWidth + col].Z;
                sw.WriteLine("{0} {1} {2}", x, y, z);
            }
        }
        sw.Close();

解决方案二:

虽然运行不了 不过还是放在VS里看了一下  貌似你的main方法里并没有调用WritePointCloud呀

解决方案三:

**D点云数据.txt **?

解决方案四:

注意你的路径写对没有,然后就是debug调试找到出错的地方进行修改

解决方案五:

路径名写错了 ,而且最好不要用中文名,会出意想不到的错误

时间: 2024-11-01 22:28:34

新人拼凑的码,求解为什么D\\点云数据.txt中没有写入数据!!的相关文章

求解sql左连接问题,能不能把空值数据连接起来

问题描述 求解sql左连接问题,能不能把空值数据连接起来 有什么办法可以把A表和B表当中有些数据为空的列连接起来 比如: A表有a1,a2,a3 B表有b1,b2,b3 按条件a1=b1连接两个表 但a1和b1中有些数据是空的,现在想把这些为空的数据放在一起连接起来. 我试过了,直接a1=b1不行,为空的数据好像不相等 解决方案 那就用联合查询试试了 解决方案二: ifnull(a1, '') = ifnull(b1, '') 这样呢 解决方案三: 刚电脑卡了 没防住多点了几下 不好意思 解决方

具体函数-急,求解 .. 表中有一个关键词字段,现有1000条数据,关键词中不重复的词语。

问题描述 急,求解 .. 表中有一个关键词字段,现有1000条数据,关键词中不重复的词语. 1.mysql数据库中有一张表,现有1000条数据.表中有一个关键词字段,每个关键词都是由多个词组成的数组.用"|"或","或用空格分开的.现在要求得到所有关键词中不重复的词语. 例:关键词:01. 辽宁|上海|中国|国际,亚洲,欧洲 02. 辽宁,中国,天津,山东 结果:辽宁 上海 中国 国际 亚洲 欧洲 天津 山东 数据:数据库名字:qwer 表名:qaz 数据条数:10

2016版码农跳槽指南:云架构师成香饽饽

本文讲的是2016版码农跳槽指南:云架构师成香饽饽[IT168 云计算]2016云栖大会上海峰会召开前夕,阿里云透露将在本次大会上首次推出开放实验室workshop,为技术爱好者搭建实验平台,帮助他们迅速了解阿里云的产品特性,并快速上手. 阿里巴巴开源小组总监沈金堤表示,workshop是业界流行的线下技术交流形式,不仅有助于开发者理解掌握云计算相关的知识和技能,更可以和阿里云的专家一起探索云产品的最佳实践. 沈金堤介绍,阿里云开放实验室workshop设计了的丰富的产品应用场景供开发者动手实验

获取表格数据-求解,怎么获取ligerui中表格中的全部数据?

问题描述 求解,怎么获取ligerui中表格中的全部数据? 从后台获取了ligerui表格中数据,在前台想要获取全部ligerui表格中的数据,该怎么做,跪求解答!

pl/sql-用PL/SQL生成二维码并以图片形式存入数据库表中

问题描述 用PL/SQL生成二维码并以图片形式存入数据库表中 在数据库中创建一张表 -- Create table create table QRCode ( id varchar2(10), img blob ) tablespace USERS storage ( initial 64K minextents 1 maxextents unlimited ); 用PL/SQL生成二维码并以图片形式存入表QRCode的img字段中

android dxf-谁知道android数据导出dxf文件,dxf组码5图元句柄怎么分配啊,不同对象写入时候总是有重复

问题描述 谁知道android数据导出dxf文件,dxf组码5图元句柄怎么分配啊,不同对象写入时候总是有重复 如果有做过完整的请帮忙提示下,谢了很急.如果有做过完整的请帮忙提示下,谢了很急. 解决方案 自己搞定了 解决方案二: 同样对这个问题有疑问,按什么样的原则分配呢,求指教

HDFS源码分析数据块汇报之损坏数据块检测checkReplicaCorrupt()

        无论是第一次,还是之后的每次数据块汇报,名字名字节点都会对汇报上来的数据块进行检测,看看其是否为损坏的数据块.那么,损坏数据块是如何被检测的呢?本文,我们将研究下损坏数据块检测的checkReplicaCorrupt()方法.         关于数据块及其副本的状态,请阅读<HDFS源码分析之数据块及副本状态BlockUCState.ReplicaState>一文.         checkReplicaCorrupt()方法专门用于损坏数据块检测,代码如下: /** *

基于CP_ABE与二叉树偏码的匿名乱序云存储策略

基于CP_ABE与二叉树偏码的匿名乱序云存储策略 河北大学 靳义青 随着云计算技术的应用及发展,作为其基础组成部分的云存储及其安全性问题成为目前研究的重点.云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用.网格技术或分布式文件系统等功能,将网络中大量的各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统.云存储的出现,使得用户摒弃以往的存储模式,在无需购买庞大的硬件集群资源和复杂的管理费用的前提下满

使用事务操作SQLite数据批量插入,提高数据批量写入速度,源码讲解

SQLite数据库作为一般单机版软件的数据库,是非常优秀的,我目前单机版的软件产品线基本上全部替换Access作为优选的数据库了,在开发过程中,有时候需要批量写入数据的情况,发现传统的插入数据模式非常慢,几千条数据的写入或者更新可能需要好几分钟时间,而SqlServer则相同的操作可能几秒即可,有无更好的方法来提高它的响应速度呢?答案是有的,就是采用事务提交,默认SQLite的数据库插入操作,如果没有采用事务的话,它每次写入提交,就会触发一次事务操作,而这样几千条的数据,就会触发几千个事务的操作