<?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 Java face tracking demo does in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Face-Tracking-using-Processing-Language/m-p/1014861#M35621</link>
    <description>&lt;P&gt;Java face tracking demo&amp;nbsp;does't work in Processing.&lt;/P&gt;

&lt;P&gt;It seems &lt;STRONG&gt;PXCMVideoModule.DataDesc.streams.color &lt;/STRONG&gt;is unavailable prom Java/Processing&lt;/P&gt;

&lt;PRE class="brush:java;"&gt;import intel.rssdk.*;
import java.util.*;

void setup()
{
&amp;nbsp; // Create session
&amp;nbsp; PXCMSession session = PXCMSession.CreateInstance();
&amp;nbsp; if (session == null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to create a session instance");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&amp;nbsp; }
&amp;nbsp; pxcmStatus sts = pxcmStatus.PXCM_STATUS_NO_ERROR;
&amp;nbsp; // Initialize Face Analyzer
&amp;nbsp; PXCMSession.ImplDesc desc = new PXCMSession.ImplDesc();
&amp;nbsp; desc.subgroup = EnumSet.of(PXCMSession.ImplSubgroup.IMPL_SUBGROUP_FACE_ANALYSIS); 
&amp;nbsp; desc.friendlyName = "Face 2D/3D Analysis (Intel)";
&amp;nbsp; PXCMFaceModule faceModule = new PXCMFaceModule(0, true);
&amp;nbsp; sts = session.CreateImpl(desc, faceModule);
&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to create a Face3D instance");
&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; // Create CaptureManager instance
&amp;nbsp; PXCMCaptureManager captureMgr = session.CreateCaptureManager();
&amp;nbsp; captureMgr.FilterByDeviceInfo("RealSense", null, 0);
&amp;nbsp; 
&amp;nbsp; // Retrieve the input requirements
&amp;nbsp; sts = pxcmStatus.PXCM_STATUS_DATA_UNAVAILABLE; 
&amp;nbsp; PXCMFaceConfiguration faceConfig = faceModule.CreateActiveConfiguration();
&amp;nbsp; faceConfig.SetTrackingMode(PXCMFaceConfiguration.TrackingModeType.FACE_MODE_COLOR);
&amp;nbsp; faceConfig.detection.isEnabled = true; 
&amp;nbsp; faceConfig.landmarks.isEnabled = true; 
&amp;nbsp; faceConfig.pose.isEnabled = true; 
&amp;nbsp; faceConfig.ApplyChanges();
&amp;nbsp; faceConfig.Update();
&amp;nbsp; PXCMVideoModule videoModule = (PXCMVideoModule) faceModule.QueryInstance(PXCMVideoModule.CUID);&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; for ( int i=0; ; i++ )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PXCMVideoModule.DataDesc ddesc = new PXCMVideoModule.DataDesc();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = videoModule.QueryCaptureProfile(i, ddesc);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to QueryProfile of the Face3D module.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddesc.streams.color.sizeMax.height = 480; // ERROR (unexpected token)&lt;STRONG&gt;
&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddesc.streams.color.sizeMax.width = 640; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = captureMgr.RequestStreams(1, ddesc);&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = captureMgr.LocateStreams();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = videoModule.SetCaptureProfile(ddesc); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;
&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; faceConfig.detection.isEnabled = true; 
&amp;nbsp; faceConfig.landmarks.isEnabled = true; 
&amp;nbsp; faceConfig.pose.isEnabled = true; 
&amp;nbsp; faceConfig.ApplyChanges();
&amp;nbsp; faceConfig.Update();

&amp;nbsp; PXCMCapture.Sample sample = new PXCMCapture.Sample(); 
&amp;nbsp; PXCMFaceData faceData = null; 
&amp;nbsp; 
&amp;nbsp; for ( int nframes=0; nframes&amp;lt;30000; nframes++ )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sample.color = new PXCMImage();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PXCMSyncPoint sp0 = new PXCMSyncPoint(0, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PXCMSyncPoint sp1 = new PXCMSyncPoint(0, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = captureMgr.ReadModuleStreamsAsync(1, sample, sp0);&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to read images");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&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; sts = sp0.Synchronize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to Synchronize");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&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;&amp;nbsp;&amp;nbsp; sts = videoModule.ProcessImageAsync(sample, sp1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println ("Failed to invoke ProcessImageAsync");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&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; sts = sp1.Synchronize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to Synchronize");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&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; faceData = faceModule.CreateOutput();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; faceData.Update();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read and print data 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for ( int fidx=0; ; fidx++ )
&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; PXCMFaceData.Face face = faceData.QueryFaceByIndex(fidx);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (face==null) break;
&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; PXCMFaceData.DetectionData detectData = face.QueryDetection(); 
&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 (detectData != null)
&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; PXCMRectI32 rect = new PXCMRectI32();
&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; boolean ret = detectData.QueryBoundingRect(rect);
&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 (ret) {
&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; println("Detection Rectangle at frame #" + nframes); 
&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; println("Top Left corner: (" + rect.x + "," + rect.y + ")" ); 
&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; println("Height: " + rect.h + " Width: " + rect.w); 
&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; } else 
&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; break;
&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; PXCMFaceData.PoseData poseData = face.QueryPose();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (poseData != null)
&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; PXCMFaceData.PoseEulerAngles pea = new PXCMFaceData.PoseEulerAngles();
&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; poseData.QueryPoseAngles(pea);
&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; println("Pose Data at frame #" + nframes); 
&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; println("(Roll, Yaw, Pitch) = (" + pea.roll + "," + pea.yaw + "," + pea.pitch + ")"); 
&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; faceData.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sample.ReleaseImages();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sp0.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sp1.close();
&amp;nbsp; }
}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 09 Dec 2014 20:51:00 GMT</pubDate>
    <dc:creator>Alberto_P_</dc:creator>
    <dc:date>2014-12-09T20:51:00Z</dc:date>
    <item>
      <title>Face Tracking using Processing Language</title>
      <link>https://community.intel.com/t5/Software-Archive/Face-Tracking-using-Processing-Language/m-p/1014859#M35619</link>
      <description>&lt;P&gt;Is there any face tracking example or demo using Processing language? (there's only a hand tracking sample)&lt;/P&gt;</description>
      <pubDate>Mon, 08 Dec 2014 08:10:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Face-Tracking-using-Processing-Language/m-p/1014859#M35619</guid>
      <dc:creator>Alberto_P_</dc:creator>
      <dc:date>2014-12-08T08:10:10Z</dc:date>
    </item>
    <item>
      <title>We will provide such sample</title>
      <link>https://community.intel.com/t5/Software-Archive/Face-Tracking-using-Processing-Language/m-p/1014860#M35620</link>
      <description>&lt;P&gt;We will provide such sample code in the future. In the meantime, you can use our Java sample code in face tracking as a reference. You can find it @C:\Program Files (x86)\Intel\RSSDK\framework\Java\face_tracking_java. Thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2014 16:02:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Face-Tracking-using-Processing-Language/m-p/1014860#M35620</guid>
      <dc:creator>Xusheng_L_Intel</dc:creator>
      <dc:date>2014-12-09T16:02:08Z</dc:date>
    </item>
    <item>
      <title>Java face tracking demo does</title>
      <link>https://community.intel.com/t5/Software-Archive/Face-Tracking-using-Processing-Language/m-p/1014861#M35621</link>
      <description>&lt;P&gt;Java face tracking demo&amp;nbsp;does't work in Processing.&lt;/P&gt;

&lt;P&gt;It seems &lt;STRONG&gt;PXCMVideoModule.DataDesc.streams.color &lt;/STRONG&gt;is unavailable prom Java/Processing&lt;/P&gt;

&lt;PRE class="brush:java;"&gt;import intel.rssdk.*;
import java.util.*;

void setup()
{
&amp;nbsp; // Create session
&amp;nbsp; PXCMSession session = PXCMSession.CreateInstance();
&amp;nbsp; if (session == null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to create a session instance");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&amp;nbsp; }
&amp;nbsp; pxcmStatus sts = pxcmStatus.PXCM_STATUS_NO_ERROR;
&amp;nbsp; // Initialize Face Analyzer
&amp;nbsp; PXCMSession.ImplDesc desc = new PXCMSession.ImplDesc();
&amp;nbsp; desc.subgroup = EnumSet.of(PXCMSession.ImplSubgroup.IMPL_SUBGROUP_FACE_ANALYSIS); 
&amp;nbsp; desc.friendlyName = "Face 2D/3D Analysis (Intel)";
&amp;nbsp; PXCMFaceModule faceModule = new PXCMFaceModule(0, true);
&amp;nbsp; sts = session.CreateImpl(desc, faceModule);
&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to create a Face3D instance");
&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; // Create CaptureManager instance
&amp;nbsp; PXCMCaptureManager captureMgr = session.CreateCaptureManager();
&amp;nbsp; captureMgr.FilterByDeviceInfo("RealSense", null, 0);
&amp;nbsp; 
&amp;nbsp; // Retrieve the input requirements
&amp;nbsp; sts = pxcmStatus.PXCM_STATUS_DATA_UNAVAILABLE; 
&amp;nbsp; PXCMFaceConfiguration faceConfig = faceModule.CreateActiveConfiguration();
&amp;nbsp; faceConfig.SetTrackingMode(PXCMFaceConfiguration.TrackingModeType.FACE_MODE_COLOR);
&amp;nbsp; faceConfig.detection.isEnabled = true; 
&amp;nbsp; faceConfig.landmarks.isEnabled = true; 
&amp;nbsp; faceConfig.pose.isEnabled = true; 
&amp;nbsp; faceConfig.ApplyChanges();
&amp;nbsp; faceConfig.Update();
&amp;nbsp; PXCMVideoModule videoModule = (PXCMVideoModule) faceModule.QueryInstance(PXCMVideoModule.CUID);&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; for ( int i=0; ; i++ )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PXCMVideoModule.DataDesc ddesc = new PXCMVideoModule.DataDesc();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = videoModule.QueryCaptureProfile(i, ddesc);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to QueryProfile of the Face3D module.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddesc.streams.color.sizeMax.height = 480; // ERROR (unexpected token)&lt;STRONG&gt;
&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddesc.streams.color.sizeMax.width = 640; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = captureMgr.RequestStreams(1, ddesc);&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = captureMgr.LocateStreams();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = videoModule.SetCaptureProfile(ddesc); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;
&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; faceConfig.detection.isEnabled = true; 
&amp;nbsp; faceConfig.landmarks.isEnabled = true; 
&amp;nbsp; faceConfig.pose.isEnabled = true; 
&amp;nbsp; faceConfig.ApplyChanges();
&amp;nbsp; faceConfig.Update();

&amp;nbsp; PXCMCapture.Sample sample = new PXCMCapture.Sample(); 
&amp;nbsp; PXCMFaceData faceData = null; 
&amp;nbsp; 
&amp;nbsp; for ( int nframes=0; nframes&amp;lt;30000; nframes++ )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sample.color = new PXCMImage();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PXCMSyncPoint sp0 = new PXCMSyncPoint(0, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PXCMSyncPoint sp1 = new PXCMSyncPoint(0, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sts = captureMgr.ReadModuleStreamsAsync(1, sample, sp0);&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to read images");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&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; sts = sp0.Synchronize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to Synchronize");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&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;&amp;nbsp;&amp;nbsp; sts = videoModule.ProcessImageAsync(sample, sp1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println ("Failed to invoke ProcessImageAsync");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&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; sts = sp1.Synchronize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sts.compareTo(pxcmStatus.PXCM_STATUS_NO_ERROR)&amp;lt;0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; println("Failed to Synchronize");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
&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; faceData = faceModule.CreateOutput();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; faceData.Update();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Read and print data 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for ( int fidx=0; ; fidx++ )
&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; PXCMFaceData.Face face = faceData.QueryFaceByIndex(fidx);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (face==null) break;
&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; PXCMFaceData.DetectionData detectData = face.QueryDetection(); 
&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 (detectData != null)
&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; PXCMRectI32 rect = new PXCMRectI32();
&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; boolean ret = detectData.QueryBoundingRect(rect);
&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 (ret) {
&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; println("Detection Rectangle at frame #" + nframes); 
&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; println("Top Left corner: (" + rect.x + "," + rect.y + ")" ); 
&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; println("Height: " + rect.h + " Width: " + rect.w); 
&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; } else 
&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; break;
&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; PXCMFaceData.PoseData poseData = face.QueryPose();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (poseData != null)
&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; PXCMFaceData.PoseEulerAngles pea = new PXCMFaceData.PoseEulerAngles();
&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; poseData.QueryPoseAngles(pea);
&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; println("Pose Data at frame #" + nframes); 
&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; println("(Roll, Yaw, Pitch) = (" + pea.roll + "," + pea.yaw + "," + pea.pitch + ")"); 
&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; faceData.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sample.ReleaseImages();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sp0.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sp1.close();
&amp;nbsp; }
}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Dec 2014 20:51:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Face-Tracking-using-Processing-Language/m-p/1014861#M35621</guid>
      <dc:creator>Alberto_P_</dc:creator>
      <dc:date>2014-12-09T20:51:00Z</dc:date>
    </item>
  </channel>
</rss>

