<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Showing Depth Data through a cv::Mat in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Showing-Depth-Data-through-a-cv-Mat/m-p/1003204#M30997</link>
    <description>&lt;P&gt;Hi guys!&lt;/P&gt;

&lt;P&gt;I want to show to the user a Depth Image mapped to Color.I want to do this by using a cv::Mat.&lt;/P&gt;

&lt;P&gt;I used the projection-&amp;gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: 'Courier New'; font-size: 13.3333330154419px; line-height: normal;"&gt;CreateDepthImageMappedToColor(PXCImage *depth, PXCImage *color);&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;&amp;nbsp;p and I managed to pass the pxcimage data to a&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: 'Courier New'; font-size: 13.3333330154419px; line-height: normal;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;cv::Mat MappedDepthMat(480,640,CV_16UC1)&lt;/EM&gt;;&lt;/STRONG&gt; by using the following function:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;void CopyDepthImageMappedToColor_ToMat(PXCImage *ColorImage,PXCImage *DepthImage,PXCImage::ImageData &amp;amp;data,cv::Mat &amp;amp;MappedDepthMat)
{
	PXCImage* mapped=projection-&amp;gt;CreateDepthImageMappedToColor(DepthImage,ColorImage);
	pxcStatus sts=mapped-&amp;gt;AcquireAccess(PXCImage::ACCESS_READ,&amp;amp;data);
	if(sts==PXC_STATUS_NO_ERROR )
	{
		memcpy(MappedDepthMat.data,data.planes[0],sizeof(unsigned short) * 640 * 480);
		MappedDepthMat=MappedDepthMat*255;
		mapped-&amp;gt;ReleaseAccess(&amp;amp;data);
	}

}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;You can see that I multiply each element by 255.If I don't do this,then I get a black screen because of the Mat.The original values of MappedDepthMat before I multiply by 255 give me the distance in mm,correct? What is the maximum value?Can I somehow normalize the whole thing and have max depth=1 and min depth=0?&lt;/P&gt;

&lt;P&gt;What is the original range?When I call the above mentioned function what is the max value of pixel?Can I somehow change the maximum value and still get the required result?&lt;/P&gt;

&lt;P&gt;At the end of the day,I want to have a Mat with a range of 0-1 but with float values in between.I need this to match with the opengl's z-buffer values.&lt;/P&gt;</description>
    <pubDate>Fri, 15 May 2015 10:22:46 GMT</pubDate>
    <dc:creator>Marios_B_</dc:creator>
    <dc:date>2015-05-15T10:22:46Z</dc:date>
    <item>
      <title>Showing Depth Data through a cv::Mat</title>
      <link>https://community.intel.com/t5/Software-Archive/Showing-Depth-Data-through-a-cv-Mat/m-p/1003204#M30997</link>
      <description>&lt;P&gt;Hi guys!&lt;/P&gt;

&lt;P&gt;I want to show to the user a Depth Image mapped to Color.I want to do this by using a cv::Mat.&lt;/P&gt;

&lt;P&gt;I used the projection-&amp;gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: 'Courier New'; font-size: 13.3333330154419px; line-height: normal;"&gt;CreateDepthImageMappedToColor(PXCImage *depth, PXCImage *color);&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;&amp;nbsp;p and I managed to pass the pxcimage data to a&lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: 'Courier New'; font-size: 13.3333330154419px; line-height: normal;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;cv::Mat MappedDepthMat(480,640,CV_16UC1)&lt;/EM&gt;;&lt;/STRONG&gt; by using the following function:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;void CopyDepthImageMappedToColor_ToMat(PXCImage *ColorImage,PXCImage *DepthImage,PXCImage::ImageData &amp;amp;data,cv::Mat &amp;amp;MappedDepthMat)
{
	PXCImage* mapped=projection-&amp;gt;CreateDepthImageMappedToColor(DepthImage,ColorImage);
	pxcStatus sts=mapped-&amp;gt;AcquireAccess(PXCImage::ACCESS_READ,&amp;amp;data);
	if(sts==PXC_STATUS_NO_ERROR )
	{
		memcpy(MappedDepthMat.data,data.planes[0],sizeof(unsigned short) * 640 * 480);
		MappedDepthMat=MappedDepthMat*255;
		mapped-&amp;gt;ReleaseAccess(&amp;amp;data);
	}

}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;You can see that I multiply each element by 255.If I don't do this,then I get a black screen because of the Mat.The original values of MappedDepthMat before I multiply by 255 give me the distance in mm,correct? What is the maximum value?Can I somehow normalize the whole thing and have max depth=1 and min depth=0?&lt;/P&gt;

&lt;P&gt;What is the original range?When I call the above mentioned function what is the max value of pixel?Can I somehow change the maximum value and still get the required result?&lt;/P&gt;

&lt;P&gt;At the end of the day,I want to have a Mat with a range of 0-1 but with float values in between.I need this to match with the opengl's z-buffer values.&lt;/P&gt;</description>
      <pubDate>Fri, 15 May 2015 10:22:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Showing-Depth-Data-through-a-cv-Mat/m-p/1003204#M30997</guid>
      <dc:creator>Marios_B_</dc:creator>
      <dc:date>2015-05-15T10:22:46Z</dc:date>
    </item>
    <item>
      <title>Could you change</title>
      <link>https://community.intel.com/t5/Software-Archive/Showing-Depth-Data-through-a-cv-Mat/m-p/1003205#M30998</link>
      <description>&lt;P&gt;Could you change&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;pxcStatus sts=mapped-&amp;gt;AcquireAccess(PXCImage::ACCESS_READ,&amp;amp;data);&lt;/PRE&gt;

&lt;P&gt;to&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;pxcStatus sts=mapped-&amp;gt;AcquireAccess(PXCImage::ACCESS_READ,PXCImage::PIXEL_FORMAT_DEPTH_F32, &amp;amp;data);&lt;/PRE&gt;

&lt;P&gt;and let me know if you still have such issue. Thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 19 May 2015 22:01:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Showing-Depth-Data-through-a-cv-Mat/m-p/1003205#M30998</guid>
      <dc:creator>Xusheng_L_Intel</dc:creator>
      <dc:date>2015-05-19T22:01:02Z</dc:date>
    </item>
    <item>
      <title>Hi, This my code, it</title>
      <link>https://community.intel.com/t5/Software-Archive/Showing-Depth-Data-through-a-cv-Mat/m-p/1003206#M30999</link>
      <description>&lt;P&gt;Hi, This my code, i&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;t succeeeded, and m&lt;/SPAN&gt;aybe it will help you. &amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp;Mat depthimage8; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;depthimage8.create(480,640,CV_8UC1);&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;PXCImage::ImageData data_depth;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;&amp;nbsp;unsigned short *depth_data;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sample-&amp;gt;depth-&amp;gt;AcquireAccess(PXCImage::ACCESS_READ,PXCImage::PIXEL_FORMAT_DEPTH, &amp;amp;data_depth); &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;depth_data = (unsigned short*)data_depth.planes[0]; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;unsigned char cVal;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(int y=0; y&amp;lt;H; y++)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(int x=0; x&amp;lt;W; x++)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(depth_data[y*W+x] &amp;gt; &amp;nbsp;fMaxValue)&amp;nbsp;&amp;nbsp; &amp;nbsp;//fMaxValue = 1000&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;depth_data[y*W+x] = &amp;nbsp;fMaxValue;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cVal = (unsigned char)((1.0*depth_data[y*W+x])/fMaxValue*255);&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(cVal!=0)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cVal = 255 - cVal; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;depthimage8.at&amp;lt;unsigned char&amp;gt;(y,x) = cVal;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jul 2015 03:34:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Showing-Depth-Data-through-a-cv-Mat/m-p/1003206#M30999</guid>
      <dc:creator>x_c_</dc:creator>
      <dc:date>2015-07-17T03:34:14Z</dc:date>
    </item>
  </channel>
</rss>

