Correct way copying depth data or color data to opencvMat

Hello,
I want to collect synchronized IR data, depth data and color data from the kinect v2. Following the pattern from the sample, CoordinateMapper, I am stuck on the section below:
if (imageFormat == ColorImageFormat_Bgra)
hr = pColorFrame-AccessRawUnderlyingBuffer(&nColorBufferSize, reinterpret_cast<BYTE**>(&pColorBuffer));
else if (m_pColorRGBX)
pColorBuffer = m_pColorRGBX;
nColorBufferSize = cColorWidth * cColorHeight * sizeof(RGBQUAD);
hr = pColorFrame<CopyConvertedFrameDataToArray(nColorBufferSize, reinterpret_cast<BYTE*>(pColorBuffer), ColorImageFormat_Bgra);
In particular,
1) why is there a copy from the underlying buffer and
2) what is m_pColorRGBX (initialization for the color image buffer perharps?)
3) how would I copy the resulting color image to an opencv cv::Mat array in a memory safe fashion?
Any help is greatly appreciated.

Hi Carmine Sirignano,
thank you for the information. 
So, if I understand correctly, the code above says,
if the imageFormat of the incoming frame is already in BGRA, THEN->,
Copy the underlying buffer to the colorBuffer
BUT if the m_pColorRGBX is initialized, THEN ->
Initialize the color buffer, and copy into the buffer
I understand the first condition, but I am unclear as to why we have the second condition for m_pColorRGBX. Can you explain why this is?
Finally, I would like to copy the buffer data into a cv::Mat. Can you give any guidelines on how to do this in a safe fashion?

Similar Messages

  • Correct way to manipulate data form

    Hi expert,
    i need to ask you something about the correct way to manipulate the data in a system form.
    I need to Create a New Quotation Form and to fill "CardCode" and "Project" field.
    What is the correct way to do that?
    Actually, I made these steps:
    1) Open a New Quotation form from a button using SBO_Application.ActivateMenuItem("2049");
    2) Connect to "CardCode" Item using oCardCode = (SAPbouiCOM.EditText)oQuotationForm.Items.Item("4").Specific;
    3) Change the value of "CardCode" using oCardCode.Value = sCardCode;
    I ask you: is possible to create an object containing this data and bind the object to the Form instead of create a Form and manipulate data from it?
    Thanks for your answers.
    Jonny Cortonicchi

    hi.
    you said that  for copying the cardcode
    this is good..
    oCardCode = (SAPbouiCOM.EditText)oQuotationForm.Items.Item("4").Specific;
    ok u r asking for project code under Accounging
    As per my knowledge no need to click account tab ..ok
    exactly like this way...
    oCardCode = (SAPbouiCOM.EditText)oQuotationForm.Items.Item("4").Specific;
    dim project as string= "your_desird_project_code"
    oform.items.item("157").specific.value= project..
    plz check it...
    i think currect..
    just try..
    if u get any problem update me..
    other wise wait for expert suggestion..
    maximum it will work no need to click on account tab..
    if the item is not focused also does not the matter.. it will past  the value..
    just try..

  • Correct Way to Pass Data from Main VI to Sub VI

    I'm currently working on a program that consists of a main VI which passes in several inputs to numerous copies of the same subVI which are displayed in subpanels. As you may know, in order to display a subVI in a subpanel, a reference to the subVI must be passed into the "Insert VI" property node of the subpanel. However, I am unsure as to what is the proper way in which I can generate this reference from the subVI block on the block diagram of the main VI. Note that in my case, it is insufficient to simply generate a reference to the subVI by pointing to the file path of the subVI and opening an instance of it, because that instance of the subVI must also receive input from the main VI. Generating a reference in this way does not, as far as I know, allow the main VI to interface with the subVI.
    I had thought that I developed a solution to this problem by extracting a reference to the current instance of the subVI from the "Owning VI" property node of any control or display in the subVI. This works well for about 12 hours of program execution. However, after that point, the program starts highlighting the "Insert VI" property node every time the subVI is updated. Furthermore, the main VI seems to often lose the reference to the subVI and becomes unable to start, especially after the subVI has been edited. Given these two problems, this solution clearly is not a proper solution.
    Could anybody advise on how to properly generate a reference to an instance of a subVI that receives input from a main VI?
    Any suggestions would be appreciated.

    Griffon2-6 wrote:
    I've figured that out too - set the "Option" input on the "Open VI Reference" block to 0x8.  
    Great!
    Thats the way to go. Keep digging around and you will find solutions in the LabVIEW Help or on the forums for most of the things.
    When you set the open VI reference option to 0x08, you can obtain reference to different instances of the same VI, so that you can pass different data and let them run separately.
    Griffon2-6 wrote:
    However, now I've discovered that the inputs from the main VI are not being passed to the subVI instances as the program is running. Does passing control values via invoke nodes allow for real-time data transfer?
    I have one question. You said you are calling this sub VI in a sub panel? How many subpanels do you have and why are you calling the reentrant vi in differnet sub panels?
    Could you post your code?
    (If a post helped you sove the problem, mark it as solution. That will help us identify and track the solutions for different issues.)

  • Which is the correct way to reload data in a partition?

    I have a partitioned table and there's a particular partition which i need to remove the data and reload it again since we found out that parts of that partition had invalid data. Which is the best (valid) way to remove the old contents of the partition:
    1) to truncate the partition and then drop the tablespace it points into, and building again the tablespace and partition?
    or
    2) to simply delete the partition and rebuild it ?
    thanks

    A general rule of thumb that I use it to think in layers...
    --GUI {What you show the use}
    --GUI code logic {local rules and edits}
    --WEB/Network {interface for multiuser}
    --BUSINESS RULES {rules and coding to make your business work}
    --DATABASE {where do you store your durable data}
    Granted, this is a very simplistic look, but it will get you a start a thinking process for your app.

  • What is the correct way to transfer data from old hard drive to new Crucial SSD on a mid 2010 13" MBP

    I just bought an Crucial M550 256GB for my mid 2010 MBP. And I'm not clear on the data transfer instructions.
    1) it came with Acronis instalation kit with a blank CD and a usb cable. I'm not sure what this CD is used for?
    2) is it best to install the SSD with a fresh OSX download and then just use time machine to load all my previous settings?
    3) or do I partition the SSD before I install it in the MBP and transfer using a clone?
    Not sure what to do here...

    Well, I am not familiar with the Crucial kit you got - you might want to ask them about that blank CD...... however, I did install an SSD and this is what I did:
    I ordered a kit from OWC which included an external USB hard drive enclosure and tools. When it arrived, I first installed it in the external enclosre, hooked it to my MBP and then used CarbonCopyCloner to make a full bootable clone of my system on the new SSD after formatting it to Mac OS Extended (Journaled) and the GUID partition scheme. I then uninstalled the internal, installed the SSD in its place (following the install video availabe at OWC) and booted up - that was it. I installed the old internal drive into the external enclosure for an instantaneous bootable cbackup.

  • "Correct" way to do data entry form?

    I have a situation where I want to build a page that will accept input for a number of fields. The data entered will be passed to a PL/SQL procedure that will then be sent to another application. There are no database tables being read, nor are any being updated. This is just a simple data entry screen. I created a separate HTML region for each field so that I can make them so they are not right up against each other. But I am unhappy with what I have created. Is there a "best practice" method for creating a data entry screen so that I can have data fields that I control location on the screen (or at least horiz and vert spacing between fields)? I want to put text at various places, etc.
    Most of what I have coded has been some kind of interactive report pulling data from a table. That formatting is controlled by APEX. But here I really want to do more free-form work. I know I can code the HTML itself but I need to take the data values entered and use them in a process as parameters. Maybe I am over-complicating this? Would be fine if I had a pointer to an example that I could work with.

    The data entered will be passed to a PL/SQL procedure that will then be sent to another application. There are no database tables being read, nor are any being updated.Sounds like it would best to start with a wizard-generated Form on a Procedure based on the procedure.
    Is there a "best practice" method for creating a data entry screen so that I can have data fields that I control location on the screen (or at least horiz and vert spacing between fields)?Use item attributes to control the structure of the HTML table used to layout the form, or try using the Drag and Drop Layout tool. The appearance can then be customized using CSS&mdash;such as margin and/or padding properties to provide more generous item spacing, e.g.
    .formlayout td {
      padding-bottom: 1em;
    }

  • Correct way to save a string within your application?

    Hello all -
    I have been facing an issue finding out the correct way to save data (specifically text) within my application (NOT within local storage on the device in a text file). I have been getting mixed up with outdated results from WP7 and others that have just
    very much confused me.
    Details:
    I am making a Windows Phone 8.1 Runtime application and need to know how to read and save text that is entered into a textbox, example would be appreciated.
    Thanks in advanced -
    Zack Bowling

    You'll need the following namespace:
    using windows.Storage;
    Then save a string in local (or roaming) settings (replace 'local' with 'roaming' to use roaming storage - the data will roam with the user to other devices with the same app installed). Here's a bit of code that shows how to store and retrieve a string
    (works for WinRT 8.1):
    ApplicationData.Current.LocalSettings.Values["settingName"] = "stored string value";
    var msg = new MessageDialog(ApplicationData.Current.LocalSettings.Values["settingName"].ToString(),
    msg.ShowAsync();
    Visit http://blog.grogansoft.com/ for Windows development fun.

  • Saving Color and Depth data as png to filestream

    I try to save both color and depth data to separate files as PNGs using PngBitmapEncoder but I get much less depth frames saved than color.
    If I save color as Jpeg with JpegBitmapEncoder and depth as PNG using PngBitmapEncoder I get the same amount of frames from both streams.
    Can anyone explain me why?
    private void myKinectSensor_ColorFrameReady(object sender, ColorImageFrameReadyEventArgs e)
    using (ColorImageFrame color = e.OpenColorImageFrame())
    if (color != null)
    colorbits = new byte[color.PixelDataLength];
    color.CopyPixelDataTo(colorbits);
    PngBitmapEncoder enc = new PngBitmapEncoder();
    enc.Frames.Add(BitmapFrame.Create(BitmapSource.Create(color.Width, color.Height, 96, 96, PixelFormats.Bgr32, null, colorbits, color.Width * color.BytesPerPixel)));
    if (StartSavingFrames)
    string temppath = System.IO.Path.Combine(@"../output/kinect1/color/", colorcnt.ToString() + ".jpeg");
    FileStream fs = new FileStream(temppath, FileMode.Create);
    enc.Save(fs);
    fs.Close();
    fs = null;
    colorcnt++;
    else { colorcnt = 0; }
    private void myKinectSensor_DepthFrameReady(object sender, DepthImageFrameReadyEventArgs e)
    using (DepthImageFrame depth = e.OpenDepthImageFrame())
    if (depth != null)
    frame = new short[depth.PixelDataLength];
    depth.CopyPixelDataTo(frame);
    for (int i = 0; i < depth.PixelDataLength; i++)
    frame[i] = (short)(((ushort)frame[i]) >> 3);
    PngBitmapEncoder enc = new PngBitmapEncoder();
    enc.Frames.Add(BitmapFrame.Create(BitmapSource.Create(depth.Width, depth.Height, 96, 96, PixelFormats.Gray16, null, frame, depth.Width * depth.BytesPerPixel)));
    if (StartSavingFrames)
    string temppath = System.IO.Path.Combine(@"../output/kinect1/depth/", cnt.ToString() + ".png");
    FileStream fs = new FileStream(temppath, FileMode.Create);
    enc.Save(fs);
    fs.Close();
    fs = null;
    cnt++;
    else { cnt = 0; }

    performance of the write operations and the operations of the system at the time you are calling them. You need to ensure your functions are returning and releasing(disposing) of the frames faster than the callback times. When you hold onto data to
    long, that just prevents your application from getting new data.
    Have a look at the coordinate mapping sample from the toolkit for a way to copy both the depth and color at the same time. From there you need to create a new thread to save that data since write speeds are very slow.
    Carmine Sirignano - MSFT

  • Correct way to do "where " clause on date type column

    Hi,
    I am using a following query in Oracle 10.2.0.3 express edition database to retrieve the rows greater than a certain date.
    select from FLOWS_020100.WWV_FLOW_ACTIVITY_LOG1$ where TIME_STAMP > to_date('31-OCT-12');*
    This query returns all the rows including the rows with TIME_STAMP == '31-OCT-12'.
    This TIME_STAMP column is defined as below in this table:
    COLUMN_NAME     DATA_TYPE     DATA_LENGTH     NULLABLE     CONSTRAINT_TYPE      INDEX_TYPE
    TIME_STAMP     DATE      7     N     C     NORMAL
    Table has 420 rows with '31-OCT-12' being the smallest date and '16-NOV-12' being the biggest.
    Is there anything wrong in my above query?
    Why is ">" returning the rows that include primary key where-clause value also?
    Can you please guide what is the correct syntax for this date comparison?
    Thanks for your time and help.
    Best Regards.

    907882 wrote:
    Hi,
    I am using a following query in Oracle 10.2.0.3 express edition database to retrieve the rows greater than a certain date.
    select from FLOWS_020100.WWV_FLOW_ACTIVITY_LOG1$ where TIME_STAMP > to_date('31-OCT-12');*
    This query returns all the rows including the rows with TIME_STAMP == '31-OCT-12'.
    This TIME_STAMP column is defined as below in this table:
    COLUMN_NAME     DATA_TYPE     DATA_LENGTH     NULLABLE     CONSTRAINT_TYPE      INDEX_TYPE
    TIME_STAMP     DATE      7     N     C     NORMAL
    Table has 420 rows with '31-OCT-12' being the smallest date and '16-NOV-12' being the biggest.
    Is there anything wrong in my above query?
    Why is ">" returning the rows that include primary key where-clause value also?
    Can you please guide what is the correct syntax for this date comparison?
    Thanks for your time and help.
    Best Regards.Remember that a date column also contains a time part. Therefore your query would pick up
    rows with a time_stamp of 31-Oct-12 13:40:09, for example. Now that is greater than 31-Oct-12
    (which is really 31-Oct-12 00:00:00), so it is picked up.
    You probably want >= to_date('1-Nov-2012', 'dd-mon-yyyy')
    Note: always use a format mask in a to_date, otherwise if the default format mask changes, your code will break.
    BTW: please mark your threads as answered, if they have been:
    >
    Handle:      907882
    Status Level:      Newbie
    Registered:      Jan 13, 2012
    Total Posts:      9
    Total Questions:      6 (5 unresolved)
    >
    Edited by: Paul Horth on Nov 27, 2012 9:30 AM

  • Is there any way to export data from a calendar 5 instance to 6.3?

    I've run into yet another issue with my migration from calendar 5 to 6.3.
    It turns out that one of our satellite clinics has a very large amount of data stored on our older server. Right now we're having to put the migration on hold because there are several hundred events on the old server that are repeat events and/or events scheduled relatively far in the future. This issue, along with the possibility of double booking events/appointments while both servers are active, is a serious risk that could have detrimental effects on this site.
    There are a few issues that I'm not certain how to handle in this case. First of all, the old server's database is stored in schema 1, and changes in the LDAP directory structure from cal 5 vs. 6.3 made it impossible to migrate the old database and accounts. The new server is schema 2. So migrating the whole directory, especially at this point, seems rather unlikely.
    Is there any way that I can export data for specific accounts and calendars for the people at this site in a version-independent format and import it to the new server? If nothing else we can schedule somebody to come in on one of the weekends and manually copy the data, but if possible I'd like to avoid devoting somebody to that for the several hours that it would take to copy that by hand. Also, this would not be the preferred method due to the fact that human error could result in our clients being misscheduled, which would obviously be bad for business.
    I'd appreciate any ideas anybody may have on this matter.
    Thanks in advance.
    -Damon

    damo.gets wrote:
    Actually I guess I was missing the obvious method of simply exporting to xml and importing on the new calendar. For some reason I thought that the exports were incompatible between versions as well.Hmm... whilst this may have worked on the face-of-it I do wonder whether everything has indeed been moved across and more importantly translated into the correct form e.g. access controls, uids => uids@domain format.
    Is there anybody that can answer definitively whether or not any data will be lost by this procedure?There are simply too many variables involved in your proposed migration to provide any kind of 100% iron-clad guarantees. I would suggest you perform a thorough test migration of the data and then compare the ics/xml export from the ics5/6 systems to see if any of the data has changed. Also test to see whether access controls are still working (can a user who could previously edit another persons calendar on ics5 now do so with ics6).
    Things to look out for are that meeting attendee information is kept, any 'fancy' characters (i.e. 8-bit characters) and formatting information is kept, the number of tasks/meetings is consistent between the two versions and so forth.
    Regards,
    Shane.

  • Different ways to Transfer data from one database to another database

    Hi all,
    What are the ways to transfer data from one database to another database. With the following options, i Can transfer data as far as i know. Please
    correct me if i am wrong or tell me if there is any other options are available.
    1) Create database link/connection string and using this string and COPY command, we can transfer data.
    2) By using Export and Import utilities.
    I told first one to my interviewer, he told, its strange, by using, COPY command also can we transfer data ? As far as i know, we can transfer data. Am i right ?
    Thanks in advance,
    Pal

    transfer data from one database to another database.You mean store the data of one to another?
    1) Create database link/connection string and using this string and COPY command, we can transfer data.every SELECT on a DB-link is transfering data. And you can have all kind of transfers and store on the e.g CTAS of materialized views or.... the SQL*PLUS COPY :
    The COPY command is not being enhanced to handle datatypes or features introduced with, or after Oracle8i. The COPY command is likely to be made obsolete in a future release.
    But there are many others. Check for ORACLE Streams, and the "COPY" your interviewer was mentioning is about the operating file system COPY right? That's transportable tablespaces.
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17120/tspaces013.htm#ADMIN11403
    -- andy

  • Best way to group data and show details of only last result in group

    Hi All! First off, just letting everyone know that this is a great place to explore and learn Oracle - I've learned more here than I have in some classes. Just exploring the forums and searching for an answer leads me to functions that I hadn't otherwise known existed.
    Here's what I'm looking to accomplish now... let's say I have a table that holds family information - if two or more persons are related in a family (determined by a separate table) then it should return the person identification and then the details of the group.
    For instance, the following data is contained in two tables, the current result follow and then the result I'm looking for...
    PERSONS TABLE
    PERSON         PERSON_ID           ADDRESS
    John Smith     101                     1 Oracle Drive
    Jane Smith     102                     1 Oracle Drive
    RELATIONSHIPS TABLE
    PERSON_ID      RELATEDPERSON_ID
    101                 102
    102                 101A simple query would result in the following:
    WITH PERSONS AS
      SELECT 'John Smith' AS person, 101 AS person_id, '101 Oracle Drive' AS address FROM dual union all
      SELECT 'Jane Smith', 102, '101 Oracle Drive' FROM dual
    ,    RELATIONSHIPS AS
      SELECT 101 AS person_id, 102 AS relatedperson_id FROM dual union all
      SELECT 102, 101 FROM dual
    SELECT
        person
      , address
    FROM  PERSONS p
    JOIN  RELATIONSHIPS r ON r.person_id = p.person_idRESULT
    PERSON      ADDRESS
    John Smith      101 Oracle Drive
    Jane Smith      101 Oracle DriveI'm looking to generate the following result but I'm not sure how to accomplish this... I'm confident it's something simple.
    DESIRED RESULT
    PERSON      ADDRESS
    John Smith     
    Jane Smith      101 Oracle DriveNotice that the address for the related family members is not displayed until the last family member is returned. It would repeat this process for each family.
    Thanks everyone for any help you can provide! 11g
    Edited by: nage62587 on Oct 16, 2012 8:20 PM

    Hi,
    nage62587 wrote:
    I've done a lot of forum searching and revised my question a bit to hopefully make things a bit clearer... I've taken a query Frank wrote and revised to meet my criteria; Searching the forum (and other places on the web) is great! Not only do you find things yourself, but people on this forum are more likely to help you when they see that you're doing all you can.
    If you find something that you try to adapt, post a link to it. Seeing the correct way to adapt it can be very instructive.
    essentially, if I can determine what relatives a person has, then I can create a unique "FAMILY_ID" for them - once I have that, it would appear as though I could then use the FAMILY_ID to group their addresses and other info together.
    The problem I'm having is that if a RELATEDPERSON_ID is linked to a PERSON_ID (PERSON_ID linked to RELATEDPERSON_ID works great), it assigns them a new FAMILY_ID rather than including them into the correct family.
    Here's my sql
    WITH PERSONS AS
    SELECT 'John Smith' AS person, 101 AS person_id, '1 Oracle Drive' AS address FROM dual union all
    SELECT 'Jane Smith', 102, '1 Oracle Drive' FROM dual union all
    SELECT 'Jack Smith', 103, '8 Oracle Drive' FROM dual union all
    SELECT 'John Doe', 104, '10 Oracle Drive' FROM dual union all
    SELECT 'Jane Doe', 105, '10 Oracle Drive' FROM dual union all
    SELECT 'Pete Smith', 106, '1 Oracle Drive' FROM dual
    ,    RELATIONSHIPS AS
    SELECT 101 AS person_id, 102 AS relatedperson_id FROM dual union all
    SELECT 102, 101 FROM dual union all
    SELECT 104, 105 FROM dual union all
    SELECT 105, 104 FROM dual union all
    SELECT 106, 101 FROM dual
    , table_x
    AS
    SELECT   person_id         AS col1
    ,        relatedperson_id  AS col2
    FROM     relationships
    ,     got_relatives     AS
         SELECT     col1
         ,     CONNECT_BY_ROOT col2     AS relative
         FROM     table_x
         CONNECT BY NOCYCLE     col1     =  col2
    OR  col2  =  col1
    SELECT       col1
    ,       DENSE_RANK () OVER ( ORDER BY  MIN (relative)
    ) AS family_id
    FROM      got_relatives
    GROUP BY  col1The result I expect is:
    COL1   FAMILY_ID
    102     1
    106     1
    101     1
    105     2
    104     2
    I suspect that whatever you copied originally had the PRIOR keyword somewhere in the CONNECT BY clause.
    Here's one way to do what you want:
    WITH    all_relationships     AS
         SELECT  person_id
         ,     relatedperson_id
         FROM     relationships
        UNION
         SELECT  relatedperson_id     AS person_id
         ,     person_id          AS relatedperson_id
         FROM     relationships
    ,     got_relatives     AS
         SELECT     CONNECT_BY_ROOT person_id     AS person_id
         ,     relatedperson_id
         FROM     all_relationships
         CONNECT BY NOCYCLE     person_id       = PRIOR relatedperson_id
                 OR          relatedperson_id  = PRIOR person_id
    ,     got_family_id     AS
         SELECT       person_id
         ,       MIN (relatedperson_id)     AS family_id
         ,       ROW_NUMBER () OVER ( PARTITION BY  MIN (relatedperson_id)
                                      ORDER BY          person_id     DESC
                                    )            AS r_num
         FROM       got_relatives
         GROUP BY  person_id
    SELECT       p.person
    ,       CASE
               WHEN  f.r_num  = 1
               THEN  p.address
           END          AS address
    ,       p.person_id
    ,       f.family_id     
    FROM       got_family_id  f
    JOIN       persons      p  ON  p.person_id  = f.person_id
    ORDER BY  family_id
    ,            person_id
    ;Output:
    PERSON     ADDRESS          PERSON_ID  FAMILY_ID
    John Smith                        101        101
    Jane Smith                        102        101
    Pete Smith 1 Oracle Drive         106        101
    John Doe                          104        104
    Jane Doe   10 Oracle Drive        105        104Obviously, you don't have have to display all the columns I displayed above In your first message, you said you wanted only person and address. In your last message, you said you only wanted person_id and family_id. Change the main SELECT clause any way you wish.
    I used the lowest person_id in each family as the family_id. You could use DENSE_RANK if you really wanted to have the families numbered 1, 2, 3, ..., but I suspect you don't really care what family_id is, as long as all the members of the family have the same value.
    You relationship table has some symmetrical relationships, such as
    SELECT 104, 105 FROM dual union all
    SELECT 105, 104 FROM dual union alland some asymmetrical relationships. For example, the only relationship involving person_id=106 is
    SELECT 106, 101 FROM dualthat is, there is no mirror-image row:
    -- SELECT 101, 106 FROM dual union all   -- THIS IS NOT IN THE SAMPLE DATAI assume there is no significance to that. As long as 101 and 106 appear on the same row, they are in the same family, regardless of which is the person_id and which is the relatedperson_id.
    So the first thing I did above was make sure all the mirror-image rows were represented. That's what all_relationships does.
    The next sub-query, got_relatives, is probably what you meant to adapt, but you left off the PRIOR operators.
    Got_family_id actually does the grouping, and also computes r_num to determine which is the last member of the family. Only that family member's address will be displayed in the main query.
    You could combine got_family_id and the main query; you don't really need a sub-query for that. It would be a little less coding, but I wrote it this way because I think it's a little easier to understand and maintain.

  • Kinect for Windows version 2, problem with Depth Data

    Recently i purchase a new kinect for windows (V2). i need to capture depth data. therefore i installed SDK 2 for this reason. i captured depth data with Depth D2D or WPF in SDK 2. but i see the depth data that kinect captured,is very different from real
    depth. also we can see that many depth data will change suddenly into a random value of pixel(something like above 238, 140 or 3). And we also find that many black and white pixel appear on the display which also means that there exists an extreme sudden change
    between zero and a great value.
    What makes this happen and how can I correct it
    thanks

    Depth is generated based on the time of flight infrared(IR) data that is acquired from the sensor. Time of flight is different from structured light sensor than v1. In a particular frame, each pixel is going to have a valid depth value or unknown. The
    only way to correct is to average the data acquire from the SDK. Each frame can be compared to the previous given a constant that the camera didn't move. Based on that each pixel can be averaged with previous frames(more than one) and that should level off
    to a point.
    Since this is all based on IR data, the reflective properties of the surfaces/environment will determine the amount of noise. With time of flight, the ir data is actively filtered to only look for the wavelengths the sensor has emitted into the area.
    If you are highly reflective areas(lots of glass, mirrors, shiny metal, amount of direct sunlight) that is going to affect how the IR gets bounced back into the sensor. This also applies to materials that absorb IR.
    The only things you can do is determine how the IR data looks using IR basics and if you are seeing a lot of pure black and bright white that is going to affect what depth can be detected in those areas.
    Carmine Sirignano - MSFT

  • Excel Spreadsheet as Data Source & Copying that Data to an Existing SharePoint List

    Hello,
    I have an Excel spreadsheet that I get daily and cut and paste into an existing SharePoint list. Is there a way to make that Excel spreadsheet a data source and copy the data to an existing SharePoint list with less manual involvement?
    Tools at my disposal include: SharePoint 2010 Designer, InfoPath, and Access.
    I thought there might be a REST method I could use via InfoPath but I'm not aware of any offhand.
    Goal is to have a method to upload/overwrite an Excel file (stored in a SharePoint library), every day, and then automate the process of copy it to a SharePoint list (actually overwriting the old data in the SharePoint list).
    Any help would be greatly appreciated.

    Hi,
    We can create a console application and use C# code to read the data from the Excel file and using SharePoint .Net Client Object Model to add the data into a SharePoint list, then create a windows job to execute the console application.
    The following articles for your reference:
    How to: Create a Console Application
    https://msdn.microsoft.com/en-us/library/office/ms438026(v=office.14).aspx
    C# How To Read .xlsx Excel File With 3 Lines of Code
    http://www.codeproject.com/Tips/801032/Csharp-How-To-Read-xlsx-Excel-File-With-Lines-of
    How to: Create, Update, and Delete List Items
    https://msdn.microsoft.com/en-us/library/office/ee539976%28v=office.14%29.aspx?f=255&MSPPError=-2147217396
    Schedule a task
    http://windows.microsoft.com/en-au/windows/schedule-task#1TC=windows-7
    Best Regards
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • How to copy the Data From Oracle Table To SAP Table

    Hi Friends,
    We need to copy the data from Oracle Database Table to SAP Table. The data should be updated simultaneously in both tables . Should I write a program that contains the native sql statement like EXEC SQL PERFORMING WRITE,....
    I appreciate any suggestions regarding this.
    Regards
    CSM Reddy

    Hi,
    since you posted this question in the DB2 forum I assume that you are using a DB2 database for your SAP system.
    To access a table from a legacy ORACLE database you may use the DBSL multiconnect feature. I.e. you open a secondary connecction in the SAP system to your ORALE database. You can then ready the data from the ORACLE database into an ABAP internal table and insert it afterwards into the DB2 table on the main connection.
    Another way to access an ORACLE table from a DB2 database is to use the DB2 federated database feature. This requires a little bit more DB2 skill. With this feature you can make the ORACLE table visible within the DB2 database. To copy data you can then simply use a "INSERT ... SELECT" statement. 
    Regards
             Frank

Maybe you are looking for

  • Zooming In and Out

    Well, I know I am a novice, but my problem seems so simple and yet... it doesn't work. Check this code out: onLoad = function () { mcChart._xscale = 25; mcChart._yscale = 25; function doScaleUp() { mcChart.onEnterFrame = function() { if (mcChart._ysc

  • How can I recover my deleted text messages

    I need to recover some messages that I accidentally deleted

  • Formatting Negative Currency using the Java.Util Locale

    Hi.... I am using the Locale file to get the currency code of a specified country. The code is given below. public String setCurrency(String _currency){ Locale locale = new Locale("","PG"); NumberFormat format = NumberFormat.getCurrencyInstance(local

  • Incase Snap Case for iPhone 4

    http://store.apple.com/au/product/H2933PA/A?fnode=MTY1NDA0NA&mco=MTkzNjU0NTg Is this item compaible with the new iPhone 4S?

  • Multiple values for an attribute ?

    Is it possible to accept multiple values for the same attribute ? (such as a multi-select list, like Portal perspectives) Thanks