{"id":40,"date":"2005-04-26T14:38:34","date_gmt":"2005-04-26T19:38:34","guid":{"rendered":"\/?p=40"},"modified":"2005-04-26T14:38:34","modified_gmt":"2005-04-26T19:38:34","slug":"motion-detection-and-object-tracking-with-isadora","status":"publish","type":"post","link":"https:\/\/blog.uvm.edu\/waw\/2005\/04\/26\/motion-detection-and-object-tracking-with-isadora\/","title":{"rendered":"Motion detection and object tracking with Isadora"},"content":{"rendered":"<p>Isadora is a graphic programming environment for Macintosh (with a    Windows version now in public beta) that provides interactive control    over digital media, with special emphasis on the real-time manipulation    of digital video.    Available from <a href=\"http:\/\/www.troikatronix.com\/isadora.html\">http:\/\/   www.troikatronix.com\/isadora.html<\/a>.    Kathy Marmor has used it in some of her recent art installations. She    asked me to help her wire in some sensors to detect the location of    people within a space.    Took two approaches:<\/p>\n<ol>\n<li>Video camera as sensor  <\/li>\n<li>ultrasonic range detector  <\/li>\n<\/ol>\n<p>basic approach was the same:<\/p>\n<ol>\n<li>Employ Sprite widget. Background image was some sort of map or    arial photograph; sprite was any generic marker.  <\/li>\n<li>Wire X and Y coordinates of sprite to sensor inputs  <\/li>\n<\/ol>\n<p>For the video camera, the Video-in watcher widget captures video from    FireWire device. Video piped and filtered through Difference widget,    which compares the previous and current frame of the video input    stream, generating a video stream that show areas that are different as    a light color, and areas that are similar as dark. <a href=\"http:\/\/www.uvm.edu\/~waw\/wordpress\/wp-upload\/diff.jpg\"><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"59\" align=\"bottom\" src=\"http:\/\/www.uvm.edu\/~waw\/wordpress\/wp-upload\/diff.jpg\" alt=\"\" \/><\/a><\/p>\n<p>Above is an example (click to enlarge). In the previous and current frames of video, the hand has moved just slightly    to the right. The brightest part of the resulting difference is the    edges, that is, where the image is most different. Parts that are    similar (the palm for instance) are darker.    <\/p>\n<p>Output of Difference widget piped into the Eyes widget. The Eyes widget    reports the location of the brightest object in the video stream, based    on its location in a grid superimposed upon that video stream. It also    reports the size of the object, and its velocity (i.e., speed of    movement.)     Output of Eyes widget piped into the Sprite widget, which moves the    sprite on the screen.  Here is the final program. Click to enlarge<\/p>\n<p><a href=\"http:\/\/www.uvm.edu\/~waw\/wordpress\/wp-upload\/isadora.jpg\"><img decoding=\"async\" src=\"http:\/\/www.uvm.edu\/~waw\/wordpress\/wp-upload\/isadora.jpg\" alt=\"isadora screen. click to enlarge\" width=\"200\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Isadora is a graphic programming environment for Macintosh (with a Windows version now in public beta) that provides interactive control over digital media, with special emphasis on the real-time manipulation of digital video. Available from http:\/\/ www.troikatronix.com\/isadora.html. Kathy Marmor has &hellip; <a href=\"https:\/\/blog.uvm.edu\/waw\/2005\/04\/26\/motion-detection-and-object-tracking-with-isadora\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[152203,152206,6517,141],"tags":[],"class_list":["post-40","post","type-post","status-publish","format-standard","hentry","category-electronicarts","category-macos-support","category-projects","category-video"],"_links":{"self":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts\/40","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/comments?post=40"}],"version-history":[{"count":0,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/posts\/40\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/media?parent=40"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/categories?post=40"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.uvm.edu\/waw\/wp-json\/wp\/v2\/tags?post=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}