<?xml version="1.0" encoding="utf-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">

    <title type="text">Code Laboratories</title>
    <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/" />
    <link rel="self" type="application/atom+xml" href="http://codelaboratories.com/forums/atom/" />
    <updated>2011-11-20T01:05:47Z</updated>
    <rights>Copyright (c) 2011</rights>
    <generator uri="" version="1.6.8">ExpressionEngine</generator>
    <id>tag:codelaboratories.com,2011:11:20</id>


    <entry>
      <title>CLEYE Reading Image Pixels Value</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/714/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.714</id>
      <published>2011-11-20T01:05:19Z</published>
      <updated>2011-11-20T01:05:47Z</updated>
      <author><name>LUNDBERG_TEAM</name></author>
      <content type="html">
      <![CDATA[
        <p>I am trying to do some Image Pixel Reading, I pulled some of the code off an OpenCV site, however, when I tried to compile it, alone, I get a flash of the console window and then nothing. However, if I tried to integrate it with some code that I pulled from the laboratories, however, I get the following errors:</p>

<p>error C3861: &#8216;PS3EyeMulticamStart&#8217;: identifier not found<br />
error C3861: &#8216;PS3EyeMulticamGetFrame&#8217;: identifier not found<br />
error C3861: &#8216;PS3EyeMulticamStop&#8217;: identifier not found<br />
error C3861: &#8216;PS3EyeMulticamGetCameraCount&#8217;: identifier not found<br />
error C2664: &#8216;MessageBoxW&#8217; : cannot convert parameter 2 from &#8216;const char [26]&#8217; to &#8216;LPCWSTR&#8217;<br />
1&gt;&nbsp;  &nbsp;  &nbsp;   Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast<br />
error C2065: &#8216;VGA&#8217; : undeclared identifier<br />
error C3861: &#8216;PS3EyeMulticamOpen&#8217;: identifier not found<br />
error C2664: &#8216;MessageBoxW&#8217; : cannot convert parameter 2 from &#8216;const char [32]&#8217; to &#8216;LPCWSTR&#8217;<br />
1&gt;&nbsp;  &nbsp;  &nbsp;   Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast<br />
error C3861: &#8216;PS3EyeMulticamLoadSettings&#8217;: identifier not found<br />
error C3861: &#8216;PS3EyeMulticamGetFrameDimensions&#8217;: identifier not found<br />
error C2664: &#8216;MessageBoxW&#8217; : cannot convert parameter 2 from &#8216;const char [32]&#8217; to &#8216;LPCWSTR&#8217;<br />
1&gt;&nbsp;  &nbsp;  &nbsp;   Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast<br />
error C3861: &#8216;PS3EyeMulticamClose&#8217;: identifier not found<br />
error C3861: &#8216;PS3EyeMulticamShowSettings&#8217;: identifier not found<br />
error C3861: &#8216;PS3EyeMulticamSaveSettings&#8217;: identifier not found<br />
error C3861: &#8216;PS3EyeMulticamClose&#8217;: identifier not found<br />
1&gt;</p>

<p><br />
Here is the code: </p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&#91;</span><span style="color: #007700">/</span><span style="color: #0000BB">code&#93;<br /></span><span style="color: #FF8000">#include&nbsp;"stdafx.h"<br />#include&nbsp;"cv.h"<br />#include&nbsp;"highgui.h"<br />#include&nbsp;"CLEyeMulticam.h"<br />&nbsp;<br />#define&nbsp;WINDOW_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Capture&nbsp;Window"<br /></span><span style="color: #0000BB">bool&nbsp;bRunning&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;w</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">h</span><span style="color: #007700">;<br />&nbsp;<br /></span><span style="color: #FF8000">//&nbsp;Capture&nbsp;thread<br /></span><span style="color: #0000BB">DWORD&nbsp;WINAPI&nbsp;Capture</span><span style="color: #007700">(</span><span style="color: #0000BB">LPVOID</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;IplImage&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">grayImage&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">cvCreateImage</span><span style="color: #007700">(</span><span style="color: #0000BB">cvSize</span><span style="color: #007700">(</span><span style="color: #0000BB">w</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">h</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">IPL_DEPTH_8U</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamStart</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">bRunning</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PBYTE&nbsp;pBuffer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvGetImageRawData</span><span style="color: #007700">(</span><span style="color: #0000BB">grayImage</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">pBuffer</span><span style="color: #007700">;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamGetFrame</span><span style="color: #007700">(</span><span style="color: #0000BB">pBuffer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvShowImage</span><span style="color: #007700">(</span><span style="color: #0000BB">WINDOW_NAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">grayImage</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;PS3EyeMulticamStop</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvReleaseImage</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">grayImage</span><span style="color: #007700">;);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;<br />&nbsp;<br />void&nbsp;Program</span><span style="color: #007700">()<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Query&nbsp;driver&nbsp;for&nbsp;number&nbsp;of&nbsp;connected&nbsp;PS3Eye&nbsp;cameras<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;camCnt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamGetCameraCount</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Found&nbsp;%d&nbsp;PS3Eye&nbsp;cameras\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">camCnt</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">camCnt&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,</span><span style="color: #DD0000">"No&nbsp;PS3Eye&nbsp;camera(s)&nbsp;found"</span><span style="color: #007700">,</span><span style="color: #DD0000">"PS3EyeMulticamTest"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">MB_ICONEXCLAMATION</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Open&nbsp;cameras<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(!</span><span style="color: #0000BB">PS3EyeMulticamOpen</span><span style="color: #007700">(</span><span style="color: #0000BB">camCnt</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">VGA</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">30</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,</span><span style="color: #DD0000">"Could&nbsp;not&nbsp;open&nbsp;PS3Eye&nbsp;camera(s)"</span><span style="color: #007700">,</span><span style="color: #DD0000">"PS3EyeMulticamTest"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">MB_ICONEXCLAMATION</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Load&nbsp;the&nbsp;default&nbsp;camera&nbsp;settings&nbsp;'settings.xml'&nbsp;file<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;If&nbsp;the&nbsp;file&nbsp;is&nbsp;not&nbsp;found&nbsp;it&nbsp;will&nbsp;be&nbsp;created<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamLoadSettings</span><span style="color: #007700">(</span><span style="color: #DD0000">"settings.xml"</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Get&nbsp;output&nbsp;image&nbsp;dimensions<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamGetFrameDimensions</span><span style="color: #007700">(</span><span style="color: #0000BB">w</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">h</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Image&nbsp;dimensions&nbsp;(%d,&nbsp;%d)\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">w</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">h</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Create&nbsp;OpenCV&nbsp;main&nbsp;window<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvNamedWindow</span><span style="color: #007700">(</span><span style="color: #0000BB">WINDOW_NAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CV_WINDOW_AUTOSIZE</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvMoveWindow</span><span style="color: #007700">(</span><span style="color: #0000BB">WINDOW_NAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvResizeWindow</span><span style="color: #007700">(</span><span style="color: #0000BB">WINDOW_NAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">w</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">h</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Start&nbsp;PS3Eye&nbsp;image&nbsp;capture&nbsp;thread<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HANDLE&nbsp;hThread&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CreateThread</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Capture</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">hThread&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,</span><span style="color: #DD0000">"Could&nbsp;not&nbsp;create&nbsp;capture&nbsp;thread"</span><span style="color: #007700">,</span><span style="color: #DD0000">"PS3EyeMulticamTest"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">MB_ICONEXCLAMATION</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamClose</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;bRunning&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;The&nbsp;'s'&nbsp;key&nbsp;will&nbsp;open&nbsp;camera&nbsp;settings&nbsp;dialog<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">while(</span><span style="color: #0000BB">bRunning</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;key&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">cvWaitKey</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(</span><span style="color: #0000BB">key</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">case&nbsp;</span><span style="color: #DD0000">'s'</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #DD0000">'S'</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Display&nbsp;settings<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamShowSettings</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">0x1b</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Exiting...\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Stop&nbsp;the&nbsp;capture&nbsp;thread<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">bRunning&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Wait&nbsp;for&nbsp;thread&nbsp;to&nbsp;exit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">WaitForSingleObject</span><span style="color: #007700">(</span><span style="color: #0000BB">hThread</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3000</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Thread&nbsp;exited\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Save&nbsp;camera&nbsp;settings<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Saving&nbsp;settings\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamSaveSettings</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Closing&nbsp;OpenCV&nbsp;window\n"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvDestroyWindow</span><span style="color: #007700">(</span><span style="color: #0000BB">WINDOW_NAME</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PS3EyeMulticamClose</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#125;<br />&nbsp;<br /><br />void<br />mouseHandler</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;event</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;y</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;flags</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">void</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">param</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;IplImage</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">img0</span><span style="color: #007700">,&nbsp;*&nbsp;</span><span style="color: #0000BB">img1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CvFont&nbsp;&nbsp;&nbsp;&nbsp;font</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">uchar</span><span style="color: #007700">*&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&#91;20&#93;</span><span style="color: #007700">;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">img0&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">IplImage</span><span style="color: #007700">*)&nbsp;</span><span style="color: #0000BB">param</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">img1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">cvCloneImage</span><span style="color: #007700">(</span><span style="color: #0000BB">img0</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvInitFont</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">font</span><span style="color: #007700">;,&nbsp;</span><span style="color: #0000BB">CV_FONT_HERSHEY_PLAIN</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">.8</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">.8</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">event&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CV_EVENT_LBUTTONDOWN</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;read&nbsp;pixel&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ptr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">cvPtr2D</span><span style="color: #007700">(</span><span style="color: #0000BB">img1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">y</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;display&nbsp;the&nbsp;BGR&nbsp;value<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">label</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"(%d,&nbsp;%d,&nbsp;%d)"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ptr&#91;0&#93;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ptr&#91;1&#93;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ptr&#91;2&#93;</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvRectangle</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">img1</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvPoint</span><span style="color: #007700">(</span><span style="color: #0000BB">x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">y&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">12</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvPoint</span><span style="color: #007700">(</span><span style="color: #0000BB">x&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">y&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CV_RGB</span><span style="color: #007700">(</span><span style="color: #0000BB">255</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CV_FILLED</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvPutText</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">img1</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">label</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvPoint</span><span style="color: #007700">(</span><span style="color: #0000BB">x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">y</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;</span><span style="color: #0000BB">font</span><span style="color: #007700">;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CV_RGB</span><span style="color: #007700">(</span><span style="color: #0000BB">255</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">255</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvShowImage</span><span style="color: #007700">(</span><span style="color: #DD0000">"img"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">img1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&#125;<br /><br /><br /></span><span style="color: #FF8000">//&nbsp;This&nbsp;is&nbsp;the&nbsp;program&nbsp;entry&nbsp;if&nbsp;you&nbsp;link&nbsp;with&nbsp;/SUBSYSTEM:CONSOLE&nbsp;option<br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;argc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">argv&#91;&#93;</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />Program</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">IplImage</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">img</span><span style="color: #007700">;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;usage:&nbsp;&lt;prog_name&gt;&nbsp;&lt;image&gt;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">argc&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Usage:&nbsp;%s&nbsp;&lt;image&gt;\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">argv&#91;0&#93;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;load&nbsp;image&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">img&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">cvLoadImage</span><span style="color: #007700">(</span><span style="color: #0000BB">argv&#91;1&#93;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;always&nbsp;check&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">assert</span><span style="color: #007700">(</span><span style="color: #0000BB">img</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;create&nbsp;a&nbsp;window&nbsp;and&nbsp;install&nbsp;mouse&nbsp;handler&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvNamedWindow</span><span style="color: #007700">(</span><span style="color: #DD0000">"img"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvSetMouseCallback</span><span style="color: #007700">(</span><span style="color: #DD0000">"img"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">mouseHandler</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">void</span><span style="color: #007700">*)</span><span style="color: #0000BB">img</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvShowImage</span><span style="color: #007700">(</span><span style="color: #DD0000">"img"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">img</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvWaitKey</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;be&nbsp;tidy&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvDestroyAllWindows</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvReleaseImage</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">img</span><span style="color: #007700">;);<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;<br /><br />&#91;code&#93;&nbsp;</span>
</span>
</code></div><p>
how do I fix this?
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Opencv using PS eye problem with settings</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/689/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.689</id>
      <published>2011-09-30T16:23:50Z</published>
      <updated></updated>
      <author><name>MrRedsource</name></author>
      <content type="html">
      <![CDATA[
        <p>Good day, im having trouble with the PS eye camera with regards to its setting when under opencv.</p>

<p>with my other generic webcam i can change the resolution easily using this code.</p>

<p>cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH,320);<br />
cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT,240);</p>

<p>but when it comes to Ps eye i can change its resolution. </p>

<p>Also, i want to have 320x240, 60fps set up for my PS eye.</p>

<p>how come every time i access the ps eye with my program. its only set to 640x480, 30fps by default how can i change it to:<br />
320x240, 60fps</p>

<p>i tried using this but it doesnt work</p>

<p>cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH,320);<br />
 cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT,240);<br />
cvSetCaptureProperty(capture, CV_CAP_PROP_FPS, 60 );</p>

<p>how someone can help me.. thanks in advance
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Recording videos at 648x480 @ +50fps</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/673/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.673</id>
      <published>2011-08-31T20:44:48Z</published>
      <updated></updated>
      <author><name>Matty</name></author>
      <content type="html">
      <![CDATA[
        <p>Hi all<br />
I am having issues when using the &#8216;CL-Eye Test&#8217; application to record videos.</p>

<p>When I record a 1s video at 640x480 @ 75fps I see some gitter in the playback video screen and the result is that I only receive a maximum of 44 frames in that one second.<br />
If i do the above for a lower frame rate this works fine and I get back the amount of frames specified eg 40 frames @40fps, 30 frames @30fps.</p>

<p>My questions is what is the contributing factor to this issue? </p>

<p>I was going on the idea that the USB port cannot handle this amount of data being transferred but this can not be true because I am able to watch a live feed from the camera at 640x480 @ 75fps no problem&#8230;<br />
My other ideal is that my PC is unable to process fast enough to keep up with the frame rate, although my specs are:</p>

<p>Intel core 2 duo 2.8GHz<br />
4GB ram<br />
Geforce GT 240</p>

<p>Please help<br />
Thanks
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Benefit of Platform Packs</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/681/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.681</id>
      <published>2011-09-19T22:12:31Z</published>
      <updated></updated>
      <author><name>cbrewer9</name></author>
      <content type="html">
      <![CDATA[
        <p>I understand that the Platform Packs muct be purchased in order to use the CL drivers and SDK for research or commerical development. I was wondering&#8230; Is there any other benefit as far as functionality or performance?</p>

<p>Feel free to jump in ADMINS.</p>

<p>Thanks in advance!<br />
Collin
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>High speed video capture</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/657/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.657</id>
      <published>2011-08-10T10:31:32Z</published>
      <updated>2011-08-10T12:03:10Z</updated>
      <author><name>виктор Гречухин</name></author>
      <content type="html">
      <![CDATA[
        <p>Is it possible to capture video from ps3eye with high speed in CL-eye test app? then i choose 120 fps (capture\set frame rate) it reports: 80070057 cannot set new frame rate\ cannot set framerate for capture. (320x240 @30 fps sel-td), returning 75 fps gives same error. Otherwise, I get only 30 fps.
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>DualCam issues &#45; CCV 1.3, stitching fps &amp;amp; resoultion</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/229/" />      
      <id>tag:codelaboratories.com,2010:forums/viewthread/.229</id>
      <published>2010-04-17T19:14:15Z</published>
      <updated>2010-04-17T22:45:33Z</updated>
      <author><name>the_goat</name></author>
      <content type="html">
      <![CDATA[
        <p>hi!</p>

<p>im a little stuck with my <a href="http://nuigroup.com/forums/viewthread/7678/P45/">DSI project:</a></p>

<p>now because im planning to use fidicuals / object tracking i tried to get as much resolution and fps as possible and therefore bought two PS3 cams from peau which already installed with the free CL driver:</p>

<p><b>can i use 2 cams with the free cl driver?</b> [edit: no i cant - so i just bought the CL pack]</p>

<p>now i want to stitch the two cameras but im not sure if i understood how this works in particular. before stitching i tried to get a stable cam configuration with at least 640x480@60fps per cam which afaik would result in 1280x480</p>

<p>i edited CCV config to:<br />
1280 <br />
480 <br />
&lt;FRAMERATE&gt;60&lt;/FRAMERATE&gt;</p>

<p>...but im getting 15fps in CCV?</p>

<p><b>when i open CLEyeTest i only see one stream and i can not change framerate&#8230; or is it just CCV that wont change fps because &#8220;use framerate:&#8221; is checked&#8230;?</b></p>

<p>[vimeo]10984148[/vimeo]</p>

<p>in the next step i want to document stitching the two cams. i couldnt find any tutorial that describes stitching even though it seems to be a little tedious and im sure this is also interesting for others. </p>

<p>how is stitching done? </p>

<p>i have to use a calibration pattern (lines or geometric forms) that both cams can see and the stitch the ends of each picture together using the various transforms and lens corrections within cl&#8230; correct? </p>

<p>but then ill be getting two blobs for a single &#8220;real&#8221; touch or do they &#8220;overlay&#8221; because two cams are connected&#8230; i dont understand.</p>

<p>help is very much appreciated
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Kinect Windows Forms Application Sample</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/618/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.618</id>
      <published>2011-06-12T14:47:32Z</published>
      <updated></updated>
      <author><name>ROSharps</name></author>
      <content type="html">
      <![CDATA[
        <p>Hi All,<br />
First off, I wanted to thank you to CL for the SDK they provided for the Kinect and to Stoyan Pedev on Vimeo. In using the sample code provided from both, I was able to complete my introduction class in C# with Professor Robert Dreyer. My project consisted of having the Kinect sample program be made in a Windows Form App, and to perform live filtering on the video feeds. Please excuse my code formatting; it was my first time using C#. Either way I wanted to post this up on online for grabs if anyone wants to take a look at it. It was designed in Studio 2010. There are two main applications one client and one server. It was originally ment to be able to support TCP/IP data transftering, but did not get a chance to complete it all. I was not able to submit the post with the attachment so I posted it on my website at <a href="http://www.voicu.com/files/kinectcode.zip">http://www.voicu.com/files/kinectcode.zip</a></p>

<p>Thank you again,<br />
Chris Voicu
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>CLEye hardware clock, is it accurate&#63;</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/611/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.611</id>
      <published>2011-06-04T13:39:41Z</published>
      <updated></updated>
      <author><name>Mati1233</name></author>
      <content type="html">
      <![CDATA[
        <p>Hi,<br />
i am working with project, where camera needs to catch the frames with exactly 20ms interval (or another, but never mind). What is a problem, i couldn&#8217;t figure out what&#8217;s wrong for a long time and i created this 2 measure programs, which imho shows, that Eye&#8217;s hardware clock isn&#8217;t accurate as much as i need it. In this topic <a href="http://codelaboratories.com/forums/viewthread/221/">http://codelaboratories.com/forums/viewthread/221/</a> Alex, You write </p><blockquote><p>the camera hardware runs and captures at the perfectly fixed clock</p></blockquote>

<p>I threw there few my classes. Clock, and Camera - I put them just in case if you would look at them. Actual experiment with strange results starts from the line &#8220;Two test programs:&#8221;.</p>

<p>The code:</p>

<p>Standard clock (not very important)
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #FF8000">#include&nbsp;"Stdafx.h"<br />#include&nbsp;"Clock.h"<br /><br /></span><span style="color: #0000BB">Clock</span><span style="color: #007700">::</span><span style="color: #0000BB">Clock</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&#125;<br /><br /><br />Clock</span><span style="color: #007700">::~</span><span style="color: #0000BB">Clock</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&#125;<br /><br />void&nbsp;Clock</span><span style="color: #007700">::</span><span style="color: #0000BB">ProfileMSStart</span><span style="color: #007700">()<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;PLARGE_INTEGER&nbsp;start&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">LARGE_INTEGER</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">QueryPerformanceFrequency</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">_frequencyPT</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">QueryPerformanceCounter</span><span style="color: #007700">(</span><span style="color: #0000BB">start</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">PVOID</span><span style="color: #007700">)</span><span style="color: #0000BB">start</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;<br /><br />double&nbsp;Clock</span><span style="color: #007700">::</span><span style="color: #0000BB">ProfileMSMiddle</span><span style="color: #007700">()<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;LARGE_INTEGER&nbsp;stop</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">diff</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PLARGE_INTEGER&nbsp;start&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">PLARGE_INTEGER</span><span style="color: #007700">)</span><span style="color: #0000BB">p</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">QueryPerformanceCounter</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">stop</span><span style="color: #007700">;);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">diff</span><span style="color: #007700">.</span><span style="color: #0000BB">QuadPart&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stop</span><span style="color: #007700">.</span><span style="color: #0000BB">QuadPart&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">start</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">QuadPart</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">double&nbsp;timeMs&nbsp;</span><span style="color: #007700">=&nbsp;(double)</span><span style="color: #0000BB">1000.0&nbsp;</span><span style="color: #007700">*&nbsp;((double)</span><span style="color: #0000BB">diff</span><span style="color: #007700">.</span><span style="color: #0000BB">QuadPart&nbsp;</span><span style="color: #007700">/&nbsp;(double)</span><span style="color: #0000BB">_frequencyPT</span><span style="color: #007700">.</span><span style="color: #0000BB">QuadPart</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">timeMs</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;<br /><br />double&nbsp;Clock</span><span style="color: #007700">::</span><span style="color: #0000BB">ProfileMSEnd</span><span style="color: #007700">()<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;LARGE_INTEGER&nbsp;stop</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">diff</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">PLARGE_INTEGER&nbsp;start&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">PLARGE_INTEGER</span><span style="color: #007700">)</span><span style="color: #0000BB">p</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">QueryPerformanceCounter</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">stop</span><span style="color: #007700">;);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">diff</span><span style="color: #007700">.</span><span style="color: #0000BB">QuadPart&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stop</span><span style="color: #007700">.</span><span style="color: #0000BB">QuadPart&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">start</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">QuadPart</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">double&nbsp;timeMs&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1000.0&nbsp;</span><span style="color: #007700">*&nbsp;((double)</span><span style="color: #0000BB">diff</span><span style="color: #007700">.</span><span style="color: #0000BB">QuadPart&nbsp;</span><span style="color: #007700">/&nbsp;(double)</span><span style="color: #0000BB">_frequencyPT</span><span style="color: #007700">.</span><span style="color: #0000BB">QuadPart</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">delete&nbsp;start</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">delete&nbsp;p</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">timeMs</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;&nbsp;</span>
</span>
</code></div>

<p>Standard camera class
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #FF8000">#include&nbsp;"stdafx.h"<br />#include&nbsp;"Camera.h"<br /><br /><br /></span><span style="color: #0000BB">Camera</span><span style="color: #007700">::</span><span style="color: #0000BB">Camera</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&#125;<br /><br /><br />Camera</span><span style="color: #007700">::~</span><span style="color: #0000BB">Camera</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&#125;<br /><br /><br />bool&nbsp;Camera</span><span style="color: #007700">::</span><span style="color: #0000BB">initCamera</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;id</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLEyeCameraColorMode&nbsp;_mode</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CLEyeCameraResolution&nbsp;_resolution</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">bool&nbsp;_isColor</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">GUID&nbsp;_cameraGUID</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;_fps</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;w</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">h</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/*&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;formats&#91;&#93;&nbsp;=&nbsp;&#123;&nbsp;CLEYE_MONO_PROCESSED,&nbsp;CLEYE_COLOR_PROCESSED,&nbsp;CLEYE_MONO_RAW,&nbsp;CLEYE_COLOR_RAW,&nbsp;CLEYE_BAYER_RAW&nbsp;&#125;;<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;list&nbsp;of&nbsp;QVGA&nbsp;frame&nbsp;rates&nbsp;to&nbsp;test<br />&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;ratesQvga&#91;&#93;&nbsp;=&nbsp;&#123;&nbsp;15,&nbsp;20,&nbsp;30,&nbsp;40,&nbsp;50,&nbsp;60,&nbsp;75,&nbsp;90,&nbsp;100,&nbsp;120,&nbsp;150,&nbsp;187&nbsp;&#125;;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_resolution&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CLEYE_VGA</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_mode&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CLEYE_COLOR_RAW</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_fps&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FPS</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_cameraGUID&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CLEyeGetCameraUUID</span><span style="color: #007700">(</span><span style="color: #0000BB">id</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">_mode&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CLEYE_COLOR_PROCESSED&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">_mode&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">CLEYE_COLOR_RAW</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_isColor&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_isColor&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if(!</span><span style="color: #0000BB">CLEyeGetCameraCount</span><span style="color: #007700">())&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Create&nbsp;camera&nbsp;instances<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">_cam&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CLEyeCreateCamera</span><span style="color: #007700">(</span><span style="color: #0000BB">_cameraGUID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">_mode</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">_resolution</span><span style="color: #007700">,&nbsp;(float)</span><span style="color: #0000BB">_fps</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">_cam&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;return&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Get&nbsp;camera&nbsp;frame&nbsp;dimensions<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CLEyeCameraGetFrameDimensions</span><span style="color: #007700">(</span><span style="color: #0000BB">_cam</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">w</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">h</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Create&nbsp;the&nbsp;OpenCV&nbsp;images<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pCapImage&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">cvCreateImage</span><span style="color: #007700">(</span><span style="color: #0000BB">cvSize</span><span style="color: #007700">(</span><span style="color: #0000BB">w</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">h</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">IPL_DEPTH_8U</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">_isColor&nbsp;</span><span style="color: #007700">?&nbsp;</span><span style="color: #0000BB">4&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Set&nbsp;some&nbsp;camera&nbsp;parameters<br />#ifdef&nbsp;DEBUG&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Gain:&nbsp;"</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">CLEyeGetCameraParameter</span><span style="color: #007700">(</span><span style="color: #0000BB">_cam</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CLEYE_GAIN</span><span style="color: #007700">)&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Exposure:&nbsp;"</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">CLEyeGetCameraParameter</span><span style="color: #007700">(</span><span style="color: #0000BB">_cam</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CLEYE_EXPOSURE</span><span style="color: #007700">)&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">#endif<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CLEyeSetCameraParameter</span><span style="color: #007700">(</span><span style="color: #0000BB">_cam</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CLEYE_GAIN</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CLEyeSetCameraParameter</span><span style="color: #007700">(</span><span style="color: #0000BB">_cam</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CLEYE_EXPOSURE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">START_EXPOSURE</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Start&nbsp;capturing<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CLEyeCameraStart</span><span style="color: #007700">(</span><span style="color: #0000BB">_cam</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1000</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cvGetRawData</span><span style="color: #007700">(</span><span style="color: #0000BB">pCapImage</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">pCapBuffer</span><span style="color: #007700">;,&nbsp;&amp;</span><span style="color: #0000BB">step</span><span style="color: #007700">;,&nbsp;&amp;</span><span style="color: #0000BB">size</span><span style="color: #007700">;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;<br /><br />cv</span><span style="color: #007700">::</span><span style="color: #0000BB">Mat&nbsp;Camera</span><span style="color: #007700">::</span><span style="color: #0000BB">getFrame</span><span style="color: #007700">()<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;wynik&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CLEyeCameraGetFrame</span><span style="color: #007700">(</span><span style="color: #0000BB">_cam</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">pCapBuffer</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">//&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;"&nbsp;CLEyeCameraGetFrame&nbsp;zwrocilo:&nbsp;"&nbsp;&lt;&lt;&nbsp;wynik&nbsp;&lt;&lt;&nbsp;endl;<br />//&nbsp;&nbsp;&nbsp;&nbsp;if(wynik&nbsp;!=&nbsp;1)&nbsp;cout&nbsp;&lt;&lt;&nbsp;"\a";<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">cv</span><span style="color: #007700">::</span><span style="color: #0000BB">cvarrToMat</span><span style="color: #007700">(</span><span style="color: #0000BB">pCapImage</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#125;<br /><br />CvSize&nbsp;Camera</span><span style="color: #007700">::</span><span style="color: #0000BB">getSize</span><span style="color: #007700">()<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">size</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;<br /><br />void&nbsp;Camera</span><span style="color: #007700">::</span><span style="color: #0000BB">setExposure</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;exposure</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLEyeSetCameraParameter</span><span style="color: #007700">(</span><span style="color: #0000BB">_cam</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CLEYE_EXPOSURE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">exposure</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#125;&nbsp;</span>
</span>
</code></div>

<p>Constants.h
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #FF8000">#define&nbsp;FPS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;50.0<br />#define&nbsp;START_EXPOSURE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15&nbsp;</span>
</span>
</code></div>

<p>Two test programs:</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #FF8000">#include&nbsp;"stdafx.h"<br /><br /></span><span style="color: #0000BB">Camera</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">cam</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">Clock</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">clockC</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;framesCount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">int&nbsp;_tmain</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;argc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">_TCHAR</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">argv&#91;&#93;</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;cam&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Camera</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">clockC&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Clock</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cam</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">initCamera</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2000</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">clockC</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ProfileMSStart</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">true</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">clockC</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ProfileMSMiddle</span><span style="color: #007700">()&nbsp;-&nbsp;((double)</span><span style="color: #0000BB">framesCount</span><span style="color: #007700">++&nbsp;*&nbsp;(</span><span style="color: #0000BB">1000.0</span><span style="color: #007700">/</span><span style="color: #0000BB">FPS</span><span style="color: #007700">))&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cam</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getFrame</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;&nbsp;</span>
</span>
</code></div><p>
The result is for different frame rates and QVGA/VGA modes slowly but constantly rising/descending value printed.<br />
Something like:<br />
1.02<br />
1.15<br />
1.23<br />
1.34<br />
1.56<br />
1.78<br />
and so on</p>

<p>Second program, which uses Windows API function - Timer fires callback function every 40ms
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #FF8000">#include&nbsp;"stdafx.h"<br /><br /></span><span style="color: #0000BB">Clock</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">clockC</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">Camera</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">camera</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;frameCounter&nbsp;</span><span style="color: #007700">=&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">int&nbsp;n&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">m&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">cv</span><span style="color: #007700">::</span><span style="color: #0000BB">Mat</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">mat</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">void&nbsp;callback</span><span style="color: #007700">(</span><span style="color: #0000BB">PVOID&nbsp;param</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">BOOLEAN&nbsp;waitOrTimerFired</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;*</span><span style="color: #0000BB">mat&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">camera</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getFrame</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">m</span><span style="color: #007700">++;<br /></span><span style="color: #0000BB">&#125;<br /><br />int&nbsp;_tmain</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;argc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">_TCHAR</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">argv&#91;&#93;</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;clockC&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Clock</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">camera&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Camera</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">camera</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">initCamera</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2000</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mat&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">cv</span><span style="color: #007700">::</span><span style="color: #0000BB">Mat</span><span style="color: #007700">(</span><span style="color: #0000BB">camera</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getSize</span><span style="color: #007700">().</span><span style="color: #0000BB">height</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">camera</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getSize</span><span style="color: #007700">().</span><span style="color: #0000BB">width</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">CV_8UC3</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HANDLE&nbsp;handle</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">CreateTimerQueueTimer</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">handle</span><span style="color: #007700">;,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">WAITORTIMERCALLBACK</span><span style="color: #007700">)</span><span style="color: #0000BB">callback</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;(</span><span style="color: #0000BB">1000.0&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">FPS</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">WT_EXECUTEDEFAULT</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">cvWaitKey</span><span style="color: #007700">(</span><span style="color: #0000BB">10000</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">m&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#125;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#125;&nbsp;</span>
</span>
</code></div><p>
The result for some camera settings (i don&#8217;t remember what i used, but i tried only one or two setups) was sth like:<br />
n = 450 m = 460<br />
n = 902 m = 923<br />
n = 1357 m = 1385<br />
and so on - it looks like threads are stopping on getFrame() method.</p>

<p>Is it what it should look like? I&#8217;m confused, becouse I completly don&#8217;t know why results are what they are. Please help, if it&#8217;s possible.<br />
Is there any framerate/resolution mode which time interval is perfect?</p>

<p>Sorry, if i made some English mistakes <img src="http://codelaboratories.com/ee/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" />
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Combine RGB&#45; and depth&#45;Image from Kinect</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/538/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.538</id>
      <published>2011-02-20T16:24:36Z</published>
      <updated></updated>
      <author><name>retro009</name></author>
      <content type="html">
      <![CDATA[
        <p>Hello, i would like to combine the rgb image with the depth image from the kinect.<br />
I threshold the depth-Image and use it as a mask for the rgb image.<br />
In one meter distance i see only the half of my hand because of the disalignment ... at a higher distance it doesnt become better.<br />
Is there a solution for this problem?
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Kinect as imaging device</title>
      <link rel="alternate" type="text/html" href="http://codelaboratories.com/forums/viewthread/601/" />      
      <id>tag:codelaboratories.com,2011:forums/viewthread/.601</id>
      <published>2011-05-19T21:13:06Z</published>
      <updated></updated>
      <author><name>sodemann.rene</name></author>
      <content type="html">
      <![CDATA[
        <p>Hi,</p>

<p>for a project in our school, I need to know, if it´s possible to use the camera of the Kinect as a local imaging device, so that I can use it as a normal webcam. I tried virtual cam, but it doesn´t help.</p>

<p>Thank you for your answers
</p>
      ]]>
      </content>
    </entry>


</feed>

