I had a similar problem while trying to put together a motion capture 
system last year.  I ended up addressing it by replacing the stock 
lenses with S-mount (also known as M12) board lenses, and made new 
enclosures for the cameras out of layers of laser-cut acrylic.  A 
captured 1/4-20 flange nut allows for easy mounting on tripods or 
articulating camera mounts.  There's a very good selection of lenses in 
this form factor (including varifocal and motorized varifocal).

I could build a few more if anybody is interested.  I made two versions, 
one for the Playstation Eye camera (640x480 @ 60fps uncompressed) and 
the other for the Logitech C920 camera (1920x1080 @ 5fps uncompressed 
[30fps compressed]).

http://imageshack.com/scaled/1024x768/708/6eu3.jpg
http://imageshack.com/scaled/1024x768/9/t71e.jpg

> David Armstrong <mailto:dave...@outlook.com>
> Friday, November 08, 2013 11:35 AM
>
> i presume your looking for camunits git , here it is .
>
> git://psha.org.ru/psha/camunits.git
>
>
> ------------------------------------------------------------------------------
> November Webinars for C, C++, Fortran Developers
> Accelerate application performance with scalable programming models. 
> Explore
> techniques for threading, error checking, porting, and tuning. Get the 
> most
> from the latest Intel processors and coprocessors. See abstracts and 
> register
> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
> Gene Heskett <mailto:ghesk...@wdtv.com>
> Friday, November 08, 2013 11:13 AM
> git branch? Don't recall seeing it. I got a tarball of 0.0.37. Where is
> the git?
>
> Thanks David.
>
> Cheers, Gene
> David Armstrong <mailto:dave...@outlook.com>
> Friday, November 08, 2013 9:08 AM
> Gene,
> make sure your git branch is master and not Upstream or something similar
> builds fine here with no warnings or errors
>
>
>
>
> ------------------------------------------------------------------------------
> November Webinars for C, C++, Fortran Developers
> Accelerate application performance with scalable programming models. 
> Explore
> techniques for threading, error checking, porting, and tuning. Get the 
> most
> from the latest Intel processors and coprocessors. See abstracts and 
> register
> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
> Gene Heskett <mailto:ghesk...@wdtv.com>
> Friday, November 08, 2013 8:52 AM
>
> Remove the camunits as it couldn't find it while sitting in the
> camunits/0.0.37 directory tree, the rest then installed, then typed make,
> and it did. As did the make install.
>
> Thanks, now to figure out how to use it. :)
>
> However, the make was not very clean:
>
> =====make trace======
>
> gene@shop:~/linuxcnc/camunits/0.0.37$ make clean;make
> rm -f *.so *.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o crosshair.o
> crosshair.c
> gcc -shared -o crosshair.so crosshair.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o convert_flip.o
> convert_flip.c
> gcc -shared -o convert_flip.so convert_flip.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o filter_pip.o
> filter_pip.c
> gcc -shared -o filter_pip.so filter_pip.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o
> manual_marker.o manual_marker.c
> gcc -shared -o manual_marker.so manual_marker.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o input_image.o
> input_image.c
> gcc -shared -o input_image.so input_image.o -lfreeimage
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o detect_hough.o
> detect_hough.c
> gcc -shared -o detect_hough.so detect_hough.o -lcv
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o
> convert_canny.o convert_canny.c
> gcc -shared -o convert_canny.so convert_canny.o -lcv
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o convert_hsv.o
> convert_hsv.c
> gcc -shared -o convert_hsv.so convert_hsv.o -lcv
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o filter_hsv.o
> filter_hsv.c
> filter_hsv.c: In function 'on_input_frame_ready':
> filter_hsv.c:123: warning: pointer targets in assignment differ in
> signedness
> filter_hsv.c:124: warning: pointer targets in assignment differ in
> signedness
> filter_hsv.c: In function 'glColorHue':
> filter_hsv.c:182: warning: control reaches end of non-void function
> filter_hsv.c: At top level:
> filter_hsv.c:27: warning: '_gl_draw_gl_init' declared 'static' but never
> defined
> filter_hsv.c:29: warning: '_gl_draw_gl_shutdown' declared 'static' but
> never defined
> filter_hsv.c:34: warning: '_try_set_control' declared 'static' but never
> defined
> gcc -shared -o filter_hsv.so filter_hsv.o -lcv
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o
> circle_detect.o circle_detect.c
> gcc -shared -o circle_detect.so circle_detect.o -lcv
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o filter_roi.o
> filter_roi.c
> gcc -shared -o filter_roi.so filter_roi.o -lcv
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o
> detect_features.o detect_features.c
> gcc -shared -o detect_features.so detect_features.o -lcv
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o
> convert_select.o convert_select.c
> convert_select.c:23: warning: '_gl_draw_gl_init' declared 'static' but
> never defined
> convert_select.c:24: warning: '_gl_draw_gl' declared 'static' but never
> defined
> convert_select.c:25: warning: '_gl_draw_gl_shutdown' declared 'static' 
> but
> never defined
> convert_select.c:30: warning: '_try_set_control' declared 'static' but
> never defined
> gcc -shared -o convert_select.so convert_select.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o
> detect_ellipse.o detect_ellipse.c
> detect_ellipse.c: In function 'detect_ellipse_plugin_init':
> detect_ellipse.c:75: warning: unused variable 'super'
> detect_ellipse.c: In function '_stream_init':
> detect_ellipse.c:85: warning: unused variable 'self'
> detect_ellipse.c: In function '_stream_shutdown':
> detect_ellipse.c:92: warning: unused variable 'self'
> detect_ellipse.c: In function 'on_input_frame_ready':
> detect_ellipse.c:189: warning: passing argument 1 of
> 'cam_framebuffer_metadata_set' discards qualifiers from pointer target 
> type
> /usr/include/camunits/framebuffer.h:139: note: expected 'struct
> CamFrameBuffer *' but argument is of type 'const struct CamFrameBuffer *'
> detect_ellipse.c:189: warning: passing argument 3 of
> 'cam_framebuffer_metadata_set' from incompatible pointer type
> /usr/include/camunits/framebuffer.h:139: note: expected 'const uint8_t *'
> but argument is of type 'int *'
> detect_ellipse.c:190: warning: passing argument 1 of
> 'cam_framebuffer_metadata_set' discards qualifiers from pointer target 
> type
> /usr/include/camunits/framebuffer.h:139: note: expected 'struct
> CamFrameBuffer *' but argument is of type 'const struct CamFrameBuffer *'
> detect_ellipse.c:190: warning: passing argument 3 of
> 'cam_framebuffer_metadata_set' from incompatible pointer type
> /usr/include/camunits/framebuffer.h:139: note: expected 'const uint8_t *'
> but argument is of type 'int *'
> detect_ellipse.c:191: warning: passing argument 1 of
> 'cam_framebuffer_metadata_set' discards qualifiers from pointer target 
> type
> /usr/include/camunits/framebuffer.h:139: note: expected 'struct
> CamFrameBuffer *' but argument is of type 'const struct CamFrameBuffer *'
> detect_ellipse.c:191: warning: passing argument 3 of
> 'cam_framebuffer_metadata_set' from incompatible pointer type
> /usr/include/camunits/framebuffer.h:139: note: expected 'const uint8_t *'
> but argument is of type 'int *'
> gcc -shared -o detect_ellipse.so detect_ellipse.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o control_hsv.o
> control_hsv.c
> control_hsv.c: In function 'validate':
> control_hsv.c:189: warning: implicit declaration of function 'abs'
> control_hsv.c: In function '_gl_draw_gl':
> control_hsv.c:336: warning: unused variable 'ystep'
> gcc -shared -o control_hsv.so control_hsv.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o
> detect_marker.o detect_marker.c
> detect_marker.c: In function '_stream_init':
> detect_marker.c:104: warning: unused variable 'self'
> detect_marker.c: In function '_stream_shutdown':
> detect_marker.c:111: warning: unused variable 'self'
> detect_marker.c: In function 'draw_rect':
> detect_marker.c:134: warning: type of 'x' defaults to 'int'
> detect_marker.c:134: warning: type of 'y' defaults to 'int'
> detect_marker.c:134: warning: type of 'r' defaults to 'int'
> detect_marker.c: In function 'on_input_frame_ready':
> detect_marker.c:318: warning: unused variable 'yr'
> detect_marker.c:317: warning: unused variable 'xr'
> detect_marker.c:376: warning: passing argument 1 of
> 'cam_framebuffer_metadata_set' discards qualifiers from pointer target 
> type
> /usr/include/camunits/framebuffer.h:139: note: expected 'struct
> CamFrameBuffer *' but argument is of type 'const struct CamFrameBuffer *'
> detect_marker.c:376: warning: passing argument 3 of
> 'cam_framebuffer_metadata_set' from incompatible pointer type
> /usr/include/camunits/framebuffer.h:139: note: expected 'const uint8_t *'
> but argument is of type 'int *'
> detect_marker.c:377: warning: passing argument 1 of
> 'cam_framebuffer_metadata_set' discards qualifiers from pointer target 
> type
> /usr/include/camunits/framebuffer.h:139: note: expected 'struct
> CamFrameBuffer *' but argument is of type 'const struct CamFrameBuffer *'
> detect_marker.c:377: warning: passing argument 3 of
> 'cam_framebuffer_metadata_set' from incompatible pointer type
> /usr/include/camunits/framebuffer.h:139: note: expected 'const uint8_t *'
> but argument is of type 'int *'
> detect_marker.c:378: warning: passing argument 1 of
> 'cam_framebuffer_metadata_set' discards qualifiers from pointer target 
> type
> /usr/include/camunits/framebuffer.h:139: note: expected 'struct
> CamFrameBuffer *' but argument is of type 'const struct CamFrameBuffer *'
> detect_marker.c:378: warning: passing argument 3 of
> 'cam_framebuffer_metadata_set' from incompatible pointer type
> /usr/include/camunits/framebuffer.h:139: note: expected 'const uint8_t *'
> but argument is of type 'int *'
> detect_marker.c: At top level:
> detect_marker.c:167: warning: '_lookup' defined but not used
> gcc -shared -o detect_marker.so detect_marker.o
> gcc -std=c99 -Wall -g -ggdb3 -fPIC -I/usr/include/glib-2.0 -
> I/usr/lib/glib-2.0/include -I/usr/include/opencv -c -o convert_crop.o
> convert_crop.c
> gcc -shared -o convert_crop.so convert_crop.o
> gene@shop:~/linuxcnc/camunits/0.0.37$
>
> ========end make trace========
>
> And it did NOT install convert_crop.so when I did the make install.
> And since its been a decade since I actually carved new C code, I'm not
> sure I am up to cleaning up this mess. convert_crop.c did not throw any
> errors, but I can sure see why it can go out to lala-land & freeze. So I
> think I'll print this and take it from the top with grep.
>
> Cheers, Gene
> Russell Brown <mailto:russ...@lls.lls.com>
> Friday, November 08, 2013 2:15 AM
> Quoth Gene Heskett.....
>
> apt-get install libcv-dev camunits libfreeimage-dev
>
> allows it to compile (not sure if libcv-dev is actually needed)
>
> But quite what you do with convert_crop.so once it's copied to
> /usr/lib/camunits I don't know.
>
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to