Second, I hope I’m not infringing on any copyrights or licenses by basing this little program on the examples provided in the CL Eye Platform SDK. I could not find any licensing information except the copyright notice in the source files.
Third, If I am infringing on something or someone, please be gentle, and know that I’m not out to make any money from this.
That said, I present to you EyeCapture
It is not shiny and equipped with a fancy GUI, but it provides some interactive control of the capture settings, and allows the capture of image sequences directly from the PS3 Eye Camera, and it provides a timestamp for each individual frame (conveniently listed in a .txt file).
I made the program for a research project where we are tracking the rotation speed of a spindle (don’t ask, it’s very geeky). We needed reasonably accurate time information for each picture, and reasonably high speed image acquisition, on a reasonably tiny budget.
Beware that the timing information seems to have high precision, but the accuracy of it does not match the number of digits. It is based on the QueryPerformanceCount whatchamacallit, and the exactness if QPC has been questioned (especially on speed-stepping CPUs).
The images are written directly to disk without any buffering(works for the speed and resolution I needed, I might add buffered write in the future.) Monochrome images and low resolution allows for capture in up to 187Hz, though I have not verified it empirically.
For now EyeCapture is Vista/Win 7 only, and it has only been tested on Windows 7.
If it complans about MSVCsomething.dll you need the Visual C++ 2010 Runtime Libraries (x86), run setup.exe when installing to avoid this problem completely.
I would attach the files to the post, but I get an error which I think means I’m not trusted so here is a link instead:
http://conceptotheorist.com/download/EyeCapture.zip
Anyways, enjoy, and post feedback in this thread.
- peb.
Edit:
I’m guessing most people doesn’t trust my installer, here is a link to the raw program:
http://conceptotheorist.com/download/eyecapture_noinstall.zip
I also forgot to mention that the source was included in the installer, here is a direct download of that too:
http://conceptotheorist.com/download/eyecapture_source.zip
Cheers,
peb.
]]>I thought this code might help others understand Alex’s threading application. Let me know if there are any improvements that can be made as I am far from the adept programmer: I still don’t understand sections of the attached code as sections are copied from Alex’s sample code.
Hopefully it is helpful/useful for someone.
]]>Motor position have to really be though as an “angle” but relative to earth horizon.
The 0 position is horizontal, and Kinect motorisation will automatically compensate for non horizontal pedestal.
Fine,
this automatisme make sense, BUT it also change the max and min for motor position value.
I found that range is -16K to +16K not -8000 to +8000.
Also the scale is overkill, I didn’t found the rule but motor do not move between 2 call if values is not different by something like 1000. (seems that there is a finer granularity around 0)
But if pedestal is already tilted, you MUST be carefull with the value as the tilting already offset the 0 position making one of the limit overlimit.
This may be NOT inocuitous as it seems that motor try to engage and fail even if value is less than max but tilt had already reach the maximum. So it may burn motor unless a protection is included with it. (very plausible)
Anyway the behavior of the “position” as to be understood from a earth horizontal point of view, NOT from the pedestal position.
(Make a few experiment with sampel code while keeping pedestal tilted with your hand you you will get it very easily)
Using Visual 2010 C++ Express
Donwloaded OpenCV2.2, built, and executed OpenCVHelloWork. No issues.
Now trying to get started with CLEyeFaceTracker.
Had to fix what looked like a typo on line 21 of CLEyeFaceTracker.cpp—CLEyeCameraReolution to CLEyeCameraResolution.
Now compiles fine, but fails a link time looking for cv.lib.
I don’t see that lib anywhere in the CL2.2 directories. Nor, do I have it as a dependency for VC++ 20 (at least can’t find it). I’m thinking its renamed to something else in CL2.2, but the ..\..\..\..\Lib\CLEyeMulticam.lib specified in the project has a dependency on it. Not sure how to confirm this.
Does CLEyeFaceTracker compile and link with OpenCV2.2? Am I missing something?
Thanks,
Dave Thomas
]]>