Difference between revisions of "Convex Mirror"

From Robert-Depot
Jump to: navigation, search
(GCODE)
(GCODE)
Line 4: Line 4:
 
=GCODE=
 
=GCODE=
 
*Store home:
 
*Store home:
**<code>
+
<pre>
 
(storing home)
 
(storing home)
 
G90
 
G90
 
G92 X46.0 Y46.0
 
G92 X46.0 Y46.0
 
M4
 
M4
</code>
+
</pre>
  
 
=Workflow=
 
=Workflow=

Revision as of 08:25, 24 November 2013

<<< back to Wiki Home

Self Portrait in a Convex Mirror

GCODE

  • Store home:
(storing home)
G90
G92 X46.0 Y46.0
M4

Workflow

RPi side

  • OSX:
    • killall PTPCamera
  • take photo on raspberry pi:
    • gphoto2 --capture-image-and-download --filename capt0004.jpg
  • send to laptop:
    • scp capt0004.jpg rtwomey@192.168.2.1:~/Pictures/raspi
  • USB reset device:
    • usbreset /dev/bus/usb/001/004

OS X side

  • crop:
    • convert ~/Pictures/raspi/frame0001.jpg -crop 1450x1450+779+275 +repage square0001.jpg
  • bg subtract:
    • python bgsubtract.py square0002.jpg square0008.jpg 20 2
  • edge detect:
    • python edge.py square0001.jpg 20 255
  • convert to pnm:
    • convert square0001_edge.png edge0001.pnm
  • vectorize:
    • potrace edge0001.pnm --tight -i -s -o frame0001.svg
  • send to gcode machine:

Helper script:

  • python process_image.py ~/Pictures/raspi/frame0024.jpg
  • produces frame0024.svg

Background Subtract

  • subtract one image from background with given threshold and dilations:
    • python bgsubtract.py background.jpg square.jpg 66 10

Processing from commandline

  • install processing-java from tools menu in processing
  • run from command line:
    • processing-java --sketch=/Users/rtwomey/processing/dm_xml/convexmirror_cmdline --output=tmp/convexmirror --run --force
    • NOTE: all filenames in the app need full paths.
  • run workflow with processing from commandline:
    • python bgprocessing.py ~/Pictures/raspi/frame0031.jpg

draw a circle

  • add a circle to background:
    • convert background.jpg -stroke White -fill none -strokewidth 1 -draw 'circle 715,740 35,740' bgcircle.png

Error Image + Drawing Image

  • compute new contours from error image. NOT DONE.
  • accumulate error image. NOT DONE.
  • accumulate drawing image. NOT DONE.