<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Amit&#039;s Blog</title>
	<atom:link href="http://amitsarangi.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://amitsarangi.wordpress.com</link>
	<description>My Experiments with OSS and Multi-Touch computing</description>
	<lastBuildDate>Wed, 18 Jan 2012 11:55:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='amitsarangi.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/f869fc55c79dbdb5634802e5d746c23d?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Amit&#039;s Blog</title>
		<link>http://amitsarangi.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://amitsarangi.wordpress.com/osd.xml" title="Amit&#039;s Blog" />
	<atom:link rel='hub' href='http://amitsarangi.wordpress.com/?pushpress=hub'/>
		<item>
		<title>CCV &#8211; Things to do !</title>
		<link>http://amitsarangi.wordpress.com/2010/10/16/ccv-things-to-do/</link>
		<comments>http://amitsarangi.wordpress.com/2010/10/16/ccv-things-to-do/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 04:06:48 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Documentation]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=473</guid>
		<description><![CDATA[Initially I thought, roadmap will be a better word , but naah! This is just a post on what &#8220;may be&#8221; in CCV in future releases ! Also people who want to contribute into CCV code base and have no idea what they can do , these are some features that can be worked on ! Some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=473&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Initially I thought, roadmap will be a better word , but naah! This is just a post on what &#8220;may be&#8221; in CCV in future releases ! Also people who want to contribute into CCV code base and have no idea what they can do , these are some features that can be worked on ! Some of them are pretty easy, so can be nice place to start !</p>
<ul>
<li>Multicam (up to 16 PS3 cameras supported by <a href="http://codelaboratories.com/downloads">CLEye Driver</a>)</li>
<li>WM_TOUCH messages along with TUIO messages</li>
<li><span style="text-decoration:line-through;">TUIO on multiple ports</span>(done in CCV 1.4 final)</li>
<li>Debug mode improvements (say -p arguments prints number of blobs and so on. Right now only -d option is supported for logging )</li>
<li>Run directly as service. Once all parameters are set and saved , you don&#8217;t need any GUI !</li>
<li><span style="text-decoration:line-through;">Porting to Linux &#8211; Now it&#8217;s about time to port CCV to Linux and do cross platform development !</span></li>
<li>Object Tracking improvements by use of ROI.</li>
<li>GUI improvements &#8211; as suggested by <a href="http://amitsarangi.wordpress.com/2010/10/16/ccv-things-to-do/#comment-770">Patrick</a>.</li>
<li>Tracking performance improvements and ability to adjust the ccv settings in single steps(suggested by the_goat)</li>
<li>Improve fiducial tracking (may be using direct reactivision library instead of addon ?) (suggested by Rogier Mars)</li>
<li>un-Distortion filters in CCV (<a href="http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/#comment-874">http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/#comment-874</a>)</li>
</ul>
<p>This is not all , this is just a list of what comes to my mind right now ! If you want to add/modify any feature, just let me know , and I will add it up !</p>
<p>I have tried some of these and got success in some (like- running as service,debug mode improvements, multiple port TUIO) but the code is not mature enough to be merged into the repo. So if any of you want to work on these features, you can ask me/anyone in dev team for help !</p>
<p>You think you are not the &#8220;code-guy&#8221; and still want to contribute ? You are always welcome to help in documentation ! CCV is nicely documented, also the code is written so that it is easy to follow ! But better is always good <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/473/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=473&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/10/16/ccv-things-to-do/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>
	</item>
		<item>
		<title>Community Core Vision v 1.4</title>
		<link>http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/</link>
		<comments>http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 16:40:29 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[MultiTouch Programming]]></category>
		<category><![CDATA[ccv 1.4a]]></category>
		<category><![CDATA[gsoc]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=416</guid>
		<description><![CDATA[Finally the summer is over. Google Summer of Code made this summer one of the most amazing summers I have had. There are many people I need to thank for the successful completion of my project including Pawel Solyga(Mentor), Christian Moore, Jimmy Hertz, Sharath Patali and many other users who took time to test and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=416&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Finally the summer is over. Google Summer of Code made this summer one of the most amazing summers I have had. There are many people I need to thank for the successful completion of my project including <a href="http://solydzajs.wordpress.com/">Pawel Solyga</a>(Mentor), <a href="http://nuiman.com/">Christian Moore</a>, <a href="http://www.tangibledisplay.com">Jimmy Hertz</a>, <a href="http://codemt.com">Sharath Patali</a> and many other users who took time to test and give feedback for <a href="http://nuigroup.com/forums/viewthread/10136/" target="_self">the test version of CCV-COT</a>.</p>
<p style="text-align:justify;">Its a great pleasure for me to announce that my work will be integrated into CCV mainstream development and will be released with this release (1.4).</p>
<p style="text-align:justify;"><span style="color:#ff0000;"><strong>Note : There has been some major changes in this release, so please read this fully before trying CCV-1.4a. Also if you have not tried out CCV-COT , you may want to read <a href="http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/" target="_self">this post</a></strong><strong> prior to reading this.</strong></span></p>
<p style="text-align:justify;"><strong><span style="text-decoration:underline;">Changelog </span>(After <a href="http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/" target="_self">CCV-COT</a>):</strong></p>
<ul>
<li>Complete Fiducial Support (Integration of ofxFiducialFinder addon by Alain Ramos).</li>
<li>TUIO XML messages bug solved.</li>
<li>CCV Debug mode</li>
<li>Different Filter chain and controls for Fiducial and Object/Fingers.</li>
<li>Fiducial settings on config.xml file.</li>
<li>Object acceleration calculations included.</li>
<li>removal and inclusion of some keyboard controls.</li>
<li>Closing of application from the &#8220;X&#8221; button,minimizing the application.</li>
<li><strong>Changes in GUI</strong></li>
<li>Blob counter for Finger, Fiducials and Objects respectively.</li>
<li>Sample AS3 app to test Custom Object Tracker(COT) added.</li>
</ul>
<p><strong><span style="text-decoration:underline;">Community Core Vision v 1.4a</span></strong></p>
<ul>
<li><strong>For Fingers + Objects &#8211; </strong>You can follow the post regarding CCV-COT and get started. The blob counter in the information window shows the count of finger blobs, object blobs and fiducial blobs respectively.</li>
</ul>
<p><a rel="attachment wp-att-424" href="http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/finger-mode/"><img class="aligncenter size-full wp-image-424" title="Finger Mode" src="http://amitsarangi.files.wordpress.com/2010/08/finger-mode.jpg?w=600&#038;h=395" alt="" width="600" height="395" /></a></p>
<ul>
<li><strong>For Fingers + Fiducial -</strong></li>
</ul>
<ol>
<li>Start the application. Configure(Adjust the filter and calibrate) it for Finger. Enable Fiducials mode in the &#8220;Track&#8221; Panel.</li>
<li>Press &#8220;i&#8221;. This will take you to the Fiducial Control Mode.<strong> &#8220;i&#8221; is the filter toggle key</strong>. In the debug window you will see The &#8220;Filter&#8221; tag changing to &#8220;Fiducial&#8221; from &#8220;Finger/Object&#8221; (See the screenshot below).<a rel="attachment wp-att-427" href="http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/fiducial-mode/"><img title="fiducial mode" src="http://amitsarangi.files.wordpress.com/2010/08/fiducial-mode.jpg?w=600&#038;h=392" alt="" width="600" height="392" /></a></li>
<li>Now you can adjust the filters so that you can see clear fiducials on the Binary Image. <strong>Note : If Fiducial mode is not enabled in the &#8220;Track&#8221; panel , you will see either a blank image or a still image.</strong></li>
<li>For better understanding , think of it like this. The camera image is copied into two images, one of them is analyzed for Finger/Objects and other for fiducials. Initially (when Filter is &#8220;Finger/Object&#8221;), all the sliders and controls are used to control the image that is analyzed for &#8220;Finger/Object&#8221;. When you press &#8220;i&#8221;, now all the sliders and controls are used to control the image that is analyzed for fiducials.</li>
<li>The blob counter in the information window shows the count of finger blobs, object blobs and fiducial blobs respectively.</li>
</ol>
<ul>
<li><strong>For Fingers+Objects+Fiducials- </strong>(**Not recommended for all**)<strong> </strong>This was something which was disabled initially because Fiducial tracking solves the problem of Object tracking. But again , we decided to give the user the freedom to choose what they have to track.  In this mode, most likely Objects and Fiducial will be confused (e.g. the image below)</li>
</ul>
<p><a rel="attachment wp-att-432" href="http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/confuse/"><img class="aligncenter size-full wp-image-432" title="Confusion" src="http://amitsarangi.files.wordpress.com/2010/09/confuse.jpg?w=600&#038;h=217" alt="" width="600" height="217" /></a></p>
<p>But of course you need to be very lucky to get this mode working. A lot of adjustment will be required. But it is worth trying <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p><strong>Tests :</strong></p>
<p>Thanks to jimmy hertz, he has tested this version of CCV with his DI setup. Here are some images from his test.</p>
<p><a rel="attachment wp-att-437" href="http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/fingerfidobject/"><img class="aligncenter size-full wp-image-437" title="finger+fid+object" src="http://amitsarangi.files.wordpress.com/2010/09/fingerfidobject.jpg?w=600&#038;h=216" alt="" width="600" height="216" /></a><a rel="attachment wp-att-438" href="http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/fiducials/"></a></p>
<p><a rel="attachment wp-att-438" href="http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/fiducials/"><img class="aligncenter size-full wp-image-438" title="fiducials" src="http://amitsarangi.files.wordpress.com/2010/09/fiducials.jpg?w=600" alt=""   /></a></p>
<p>In case of any doubts/suggestions get back to me by <a href="mailto://amit.getinfo@gmail.com">mail</a>/<a href="http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/#comments">comment</a>/<a href="http://twitter.com/amitsarangi">twitter</a>/<a href="http://facebook.com/amitsarangi">Facebook </a> or by whatever mean you can. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . It is now released on NUIGroup. Grab your own copy here :</p>
<p><span style="text-decoration:line-through;"><span style="color:#0000ff;"><a href="http://nuicode.com/attachments/download/182/CCV-1.4.0-win-bin-preview.zip"><strong>DOWNLOAD : CCV-1.4.0-win-bin-preview.zip</strong></a></span></span></p>
<p><del><span style="color:#ff0000;"><strong><a href="http://nuicode.com/attachments/download/183/ccv-1.4-win-bin.zip" target="_blank">DOWNLOAD : CCV-1.4.0-win-bin-final.zip</a></strong></span></del></p>
<p><del><span style="color:#ff0000;"><strong><a href="http://nuicode.com/attachments/download/184/ccv-1.4-lin-32-bin.tar.gz">DOWNLOAD : CCV-1.4.0-lin-32-bin.tar.gz</a></strong></span></del></p>
<p>&nbsp;</p>
<p><span style="color:#ff0000;"><strong><a href="http://nuicode.com/projects/ccv/files">DOWNLOAD CCV 1.4.0 For your own Platform</a></strong></span></p>
<p><span style="color:#ff0000;"><span style="line-height:0;"><strong>Or</strong></span></span></p>
<p><span style="color:#ff0000;"><span style="line-height:0;"><strong>Compile it yourself from <a href="http://nuicode.com/projects/ccv/repository" target="_blank">LATEST SOURCE CODE</a></strong></span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/416/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/416/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/416/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=416&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/09/02/ccv-1-4/feed/</wfw:commentRss>
		<slash:comments>106</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/08/finger-mode.jpg" medium="image">
			<media:title type="html">Finger Mode</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/08/fiducial-mode.jpg" medium="image">
			<media:title type="html">fiducial mode</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/09/confuse.jpg" medium="image">
			<media:title type="html">Confusion</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/09/fingerfidobject.jpg" medium="image">
			<media:title type="html">finger+fid+object</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/09/fiducials.jpg" medium="image">
			<media:title type="html">fiducials</media:title>
		</media:content>
	</item>
		<item>
		<title>CCV-COT : Update 2</title>
		<link>http://amitsarangi.wordpress.com/2010/08/08/ccv-cot-update-2-2/</link>
		<comments>http://amitsarangi.wordpress.com/2010/08/08/ccv-cot-update-2-2/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 18:40:19 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[MultiTouch Programming]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=409</guid>
		<description><![CDATA[Hi everyone , was a bit busy with work on CCV-COT. There were a few bugs slipped in which took most of the time. Here is the summary of some works which I did after my last post. Fiducial addon integratoin completed. Tried with paper fiducials and they work good with that. Used 2 different [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=409&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi everyone , was a bit busy with work on CCV-COT. There were a few bugs slipped in which took most of the time. Here is the summary of some works which I did after my last post.</p>
<ul>
<li>Fiducial addon integratoin completed. Tried with paper fiducials and they work good with that. Used 2 different filter chains , one for finger+objects and other for fiducials. Both have the same settings. Also Modified the GUI to allow either Objects or Fiducial at once (so that there is no confusion between Fiducial&#8217;s part and Finger/Objects). Fiducial TUIO sending done.</li>
<li>In the preview release , people pointed out a <a href="http://nuigroup.com/forums/viewthread/10136/#56764">bug </a>with the TUIO XML part, which was due to an extra [/TCP] in the TCP messages. The [/TCP] was added by the openFrameworks network addon to distinguish between different TCP messages. I had to remove this tag manually.</li>
<li>One more TUIO bug was to use different &#8220;fseq&#8221; tag for same messages which I fixed by using same &#8220;fseq&#8221; tags. But again that caused another problem. Jerky response to the Object touch events. That was because I was sending 2 different messages for Objects and Fingers. Now I have combined them to a single message before sending.</li>
<li>Object calculation of dx,dy and acceleration added.</li>
<li>Fiducial Crash bug solved. And also in the TUIO UDP data there were some corrections (change in the format)</li>
</ul>
<p>Somethings which are added to the roadmap are :</p>
<ul>
<li>Releasing the CCV-COT 1.3.2</li>
<li>Sample Application (AS3) which can distinguish Objects and Fingers.</li>
<li>Use of 2Dobj messages and include all the calculations for it (angle, angle acceleration etc.)</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/409/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=409&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/08/08/ccv-cot-update-2-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>
	</item>
		<item>
		<title>CCV-COT : Update</title>
		<link>http://amitsarangi.wordpress.com/2010/07/23/ccv-cot-update/</link>
		<comments>http://amitsarangi.wordpress.com/2010/07/23/ccv-cot-update/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 15:11:35 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[MultiTouch Programming]]></category>
		<category><![CDATA[ccv debug mode]]></category>
		<category><![CDATA[ccv fiducial integration]]></category>
		<category><![CDATA[ccv-cot]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=391</guid>
		<description><![CDATA[In the past weeks, I have been working on my Last Post&#8217;s TO DO List, and this post is to update you with my work. CCV Debug Mode : As the CCV users may be knowing , CCV logging was removed in CCV 1.3. This was due to several users reporting a bug  that the logs [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=391&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">In the past weeks, I have been working on my <a href="http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/" target="_blank">Last Post&#8217;s</a> TO DO List, and this post is to update you with my work.</p>
<p style="text-align:justify;"><strong><span style="text-decoration:underline;">CCV Debug Mode</span></strong> <strong>:</strong></p>
<p style="text-align:justify;">As the CCV users may be knowing , CCV logging was removed in CCV 1.3. This was due to several users reporting a bug  that the logs become very big size(sometimes in GBs). Logs help developers to visualize a crash situation, so its quite an important part. Therefore I have tried a workaround for that. Instead of logging every time, we make the logging optional. This is called CCV Debugging mode. You just have to pass a command line argument -d for that e.g.</p>
<p><pre class="brush: plain;">
&quot;Community Core Vision.exe&quot; -d
</pre></p>
<p style="text-align:justify;">And CCV Debugging mode is activated. Also , to make it simpler , in the next release a shortcut to CCV Debug mode will be included with the binaries. As usual this saves the Logs into the &#8220;logs&#8221; folder with the timestamp as the filename.</p>
<p style="text-align:justify;"><span style="text-decoration:underline;"><strong>CCV </strong></span><strong><span style="text-decoration:underline;">Fiducial</span></strong>:</p>
<p style="text-align:justify;">I know, this has been much awaited and many people have tried to do this before. Here is <a href="http://nuicode.com/projects/tbeta/repository/browse/branches/tbeta/CCV-fid">Stefan Schlupek&#8217;s repo</a> where he managed to do it properly. I have integrated Fiducial support in CCV-COT.</p>
<p style="text-align:justify;"><strong><span style="text-decoration:underline;">Things TBD</span></strong> :</p>
<ul>
<li>First of all , I have to test the Fiducial additions ASAP and do all the corrections.</li>
<li>Sending 2DObj messages for Objects (right now it is 2DCur) also for Fiducials.</li>
<li>The TUIO bug , that has been many reports of TUIO not working properly. Have to look into that.</li>
<li>Better Object Tracking algorithm (after all the integrations are done)</li>
</ul>
<p><strong><span style="text-decoration:underline;">Release</span></strong> <strong>:</strong></p>
<p>I am not releasing this time, as I have not tested them well. So in next few days, there will be changes going on. I will release them after testing it out. It must be soon though ! In case you are in a hurry to try it out , you can do it yourself by checking out the repository and compiling the code yourself. In case you run into any problems, just let me know via comments/<a href="mailto:amit.getinfo@gmail.com">mail</a>.</p>
<p>Also for my previous version , slugmobile(noah) has compiled binaries for Mac OSX . In case you want to try them out, check <a href="http://nuigroup.com/forums/viewthread/10136/P15/#57201" target="_blank">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/391/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/391/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/391/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=391&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/07/23/ccv-cot-update/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>
	</item>
		<item>
		<title>CCV-COT : Getting Started</title>
		<link>http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/</link>
		<comments>http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 10:59:18 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[MultiTouch Programming]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=331</guid>
		<description><![CDATA[CCV-COT or CCV Custom Object Tracker is the modified CCV to do the object tracking. For a getting started guide to CCV, refer here : Getting Started with CCV . This post assumes that you have a basic understanding of CCV , as I will be explaining only the difference my work has. DOWNLOAD : [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=331&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><strong>CCV-COT</strong> or <strong>CCV Custom Object Tracker</strong> is the modified CCV to do the object tracking. For a getting started guide to CCV, refer here : <a href="http://wiki.nuigroup.com/Getting_Started_with_tbeta" target="_blank">Getting Started with CCV</a> . This post assumes that you have a basic understanding of CCV , as I will be explaining only the difference my work has.</p>
<p style="text-align:justify;"><strong><span style="color:#ff0000;">DOWNLOAD :</span><span style="color:#ff0000;"> <a href="http://nuicode.com/attachments/download/166/CCV-COT-1.3.2-win-bin.zip" target="_self"><span style="color:#0000ff;">CCV-Custom Object Tracker</span></a></span></strong></p>
<p style="text-align:justify;"><strong><span style="color:#ff0000;">SOURCECODE : <a href="https://ccv-tt.googlecode.com/svn/trunk/CCV-COT" target="_blank"><span style="color:#0000ff;">Googlecode SVN</span></a></span></strong></p>
<h2><strong><span style="text-decoration:underline;">Source-code Structure Changes</span> :</strong></h2>
<ul>
<li>Moved to OpenFrameworks 0.61.Using  OpenFrameworks 0.61 precompiled library instead of source.</li>
<li>A new module in the sourcecode named &#8220;Templates&#8221; in ofxNCore.</li>
<li>A very simple tracking process now, which will be changed in next releases.</li>
<li>Modularized tracking of fingers/objects/fiducials.</li>
<li>Calculation time minimized, even in finger tracking by removing some extra calculation.</li>
</ul>
<h2><strong><span style="text-decoration:underline;">Changes in GUI</span></strong><strong> : </strong></h2>
<p style="text-align:justify;"><strong><a rel="attachment wp-att-336" href="http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/ccv-cot-2/"><img class="aligncenter size-full wp-image-336" title="CCV-Custom Object Tracker" src="http://amitsarangi.files.wordpress.com/2010/07/ccv-cot.jpg?w=600&#038;h=396" alt="" width="600" height="396" /></a><span style="font-weight:normal;">This diagram only mentions the difference it has from CCV 1.3 . For a complete Description refer &#8211; <a href="http://wiki.nuigroup.com/Getting_Started_with_tbeta#Overview_Diagram" target="_blank">http://wiki.nuigroup.com/Getting_Started_with_tbeta#Overview_Diagram</a></span></strong></p>
<ol>
<li>Camera/Video toggle &#8211; Instead of having 2 buttons one button controls it. And yes, the crash on multiple switching between camera and video is fixed.</li>
<li>Template Area Panel &#8211; The use will be described later in this post. This may change according to the algorithm used.</li>
<li>Track Panel &#8211; Now you have a panel to choose what you want to track. Whether finger/objects/fiducial. Fiducial tracking is not yet integrated.</li>
<li>Save/Load Template &#8211; These are two more buttons in the Settings Panel. As it says SAVE TEMPLATES saves template data stored, and LOAD TEMPLATES load the templates. The file used is &#8220;templates.xml&#8221;.</li>
</ol>
<h2><span style="text-decoration:underline;"><strong>ID Assignment Rules</strong></span> :</h2>
<p style="text-align:justify;">
<p style="text-align:justify;"><a rel="attachment wp-att-362" href="http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/id_assignment/"><img class="aligncenter size-full wp-image-362" title="ID_Assignment" src="http://amitsarangi.files.wordpress.com/2010/07/id_assignment1.jpg?w=600" alt=""   /></a></p>
<p style="text-align:justify;">
<h2 style="text-align:justify;"><strong><span style="text-decoration:underline;">Configuration &amp; Calibration</span> </strong><strong>:</strong></h2>
<p>The configuration of this is pretty much similar to the configuration of CCV 1.3 : <a href="http://wiki.nuigroup.com/Getting_Started_with_tbeta#Configuration">http://wiki.nuigroup.com/Getting_Started_with_tbeta#Configuration</a> . <span style="color:#ff0000;">While configuring for fingers switch on the Finger Tracking, to be able to see id/outlines of fingers detected.</span></p>
<p>There are some changes in the XML structure in config.xml, which end users need not worry about.</p>
<p>The use camera button [1] in the figure, is used for camera and video also.</p>
<p>The Calibration is same as the calibration of CCV 1.3 : <a href="http://wiki.nuigroup.com/Getting_Started_with_tbeta#Calibration">http://wiki.nuigroup.com/Getting_Started_with_tbeta#Calibration</a></p>
<p>You should first configure your CCV to track finger blobs and then you should do the calibration with finger blobs. The calibration can be done by the Object tracking also, but that would not be precise.</p>
<h2><span style="font-weight:normal;font-size:13px;">Changing the settings in config.xml file:  <a href="http://wiki.nuigroup.com/Getting_Started_with_tbeta#Changing_Input_Resolution.2C_Frame_Rate.2C_Communication.2C_Video.2C_and_Blob_Settings">http://wiki.nuigroup.com/Getting_Started_with_tbeta#Changing_Input_Resolution.2C_Frame_Rate.2C_Communication.2C_Video.2C_and_Blob_Settings</a></span></h2>
<p>Till now is what mostly same as in CCV 1.3.</p>
<h2><strong><span style="text-decoration:underline;">Process</span> :</strong></h2>
<ul>
<li>Configure and Calibrate.</li>
</ul>
<ul>
<li>Check that &#8220;template.xml&#8221; is present. Which is empty (if you have no template saved), or has template data in the following format.</li>
</ul>
<p><pre class="brush: xml;">
&lt;TEMPLATE&gt;
    &lt;WIDTH&gt;36.000000&lt;/WIDTH&gt;
    &lt;HEIGHT&gt;55.000000&lt;/HEIGHT&gt;
    &lt;MINWIDTH&gt;25.520044&lt;/MINWIDTH&gt;
    &lt;MINHEIGHT&gt;38.988960&lt;/MINHEIGHT&gt;
    &lt;MAXWIDTH&gt;46.833553&lt;/MAXWIDTH&gt;
    &lt;MAXHEIGHT&gt;71.551262&lt;/MAXHEIGHT&gt;
    &lt;&lt;strong&gt;TRUEID&lt;/strong&gt;&gt;0&lt;/&lt;strong&gt;TRUEID&lt;/strong&gt;&gt;
    &lt;ID&gt;180&lt;/ID&gt;
&lt;/TEMPLATE&gt;
</pre></p>
<ul>
<li>In case you want to assign a particular ID to this blob, change the  &#8221;<strong>TRUEID</strong>&#8221; tag to 1 and &#8220;<strong>ID</strong>&#8221; tag to the particular ID you want to give this template. Say in the previous example, it would look like</li>
</ul>
<p><pre class="brush: xml; highlight: [8,9];">
&lt;TEMPLATE&gt;
    &lt;WIDTH&gt;36.000000&lt;/WIDTH&gt;
    &lt;HEIGHT&gt;55.000000&lt;/HEIGHT&gt;
    &lt;MINWIDTH&gt;25.520044&lt;/MINWIDTH&gt;
    &lt;MINHEIGHT&gt;38.988960&lt;/MINHEIGHT&gt;
    &lt;MAXWIDTH&gt;46.833553&lt;/MAXWIDTH&gt;
    &lt;MAXHEIGHT&gt;71.551262&lt;/MAXHEIGHT&gt;
    &lt;TRUEID&gt;1&lt;/TRUEID&gt;
    &lt;ID&gt;189&lt;/ID&gt;
&lt;/TEMPLATE&gt;
</pre></p>
<ul>
<li><span style="color:#ff0000;">MAKE SURE THAT THE ID ASSIGNED IS ACCORDING TO THE RULES</span> . Or else this will cause problems as object ID/Finger ID/ Fiducial ID will be confused.</li>
</ul>
<ul>
<li>If you want to clear all templates, you have to delete all the lines from &#8220;template.xml&#8221; manually.</li>
</ul>
<ul>
<li>For adding a new template, make sure that tracking &#8220;Objects&#8221; in &#8220;Track&#8221; panel is on. Put the object which you want to track on the surface. You should be able to see a binary image on the &#8220;Tracked&#8221; image panel (Right big one). Draw an rectangle with mouse drag from upper-left corner to bottom-right corner , surrounding the object (The red rectangle in the image). Be as close as possible. Then adjust the &#8220;Template Area&#8221; panel&#8217;s minimum Area and maximum Area sliders to select the maximum and minimum variation of the contour (blue and green rectangle respectively).</li>
</ul>
<p><a rel="attachment wp-att-367" href="http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/object_selection/"><img class="aligncenter size-full wp-image-367" title="object_selection" src="http://amitsarangi.files.wordpress.com/2010/07/object_selection.jpg?w=600&#038;h=249" alt="" width="600" height="249" /></a></p>
<ul>
<li>Then press &#8220;Enter&#8221; to add the template.</li>
<li>Check the video for more details -</li>
</ul>
<span style="text-align:center; display: block;"><a href="http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/"><img src="http://img.youtube.com/vi/Cewvev1k-SM/2.jpg" alt="" /></a></span>
<ul>
<li>If you want to change the ID of a template while running, then first Add the template using the previous instructions. Save Templates. Open the templates.xml file. Change the ID to the wanted ID number and TRUEID to 1 for the template. And then Load Templates.</li>
</ul>
<h2><strong>Coming Soon :</strong></h2>
<ul>
<li>Fiducial Integration.</li>
<li>Better Tracking method (The current one is very very crude).</li>
<li>CCV in Debug mode (As logging is not there).</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/331/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/331/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/331/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=331&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/07/06/ccv-cot/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/07/ccv-cot.jpg" medium="image">
			<media:title type="html">CCV-Custom Object Tracker</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/07/id_assignment1.jpg" medium="image">
			<media:title type="html">ID_Assignment</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/07/object_selection.jpg" medium="image">
			<media:title type="html">object_selection</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC 2010 : CCV Template Matching</title>
		<link>http://amitsarangi.wordpress.com/2010/06/28/gsoc-2010-ccv-template-matching/</link>
		<comments>http://amitsarangi.wordpress.com/2010/06/28/gsoc-2010-ccv-template-matching/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 00:55:31 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[CCV]]></category>
		<category><![CDATA[finger tracking]]></category>
		<category><![CDATA[object tracking]]></category>
		<category><![CDATA[template matching]]></category>
		<category><![CDATA[template selection tool]]></category>
		<category><![CDATA[tuio]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=315</guid>
		<description><![CDATA[Hello everyone , its a little long since my last post but yes, I had been busy coding and thought of posting after I got some results. Now that I am getting some results, I thought of posting an article about my work and plans. Also I want to tell you that there was a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=315&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Hello everyone , its a little long since my last post but yes, I had been busy coding and thought of posting after I got some results. Now that I am getting some results, I thought of posting an article about my work and plans.</p>
<p style="text-align:justify;">Also I want to tell you that there was a slight deviation of my plan/road-map from my <a href="http://amitsarangi.wordpress.com/2010/06/10/ccv-t-overview/" target="_blank">last post</a>. In that post I mentioned regarding the two parts, one for template selection and one for template matching. Well, I have changed the plan a little bit. Instead of having 2 tools, one for selection and one for tracking, I integrated selection and tracking into one.So it will be just modification of CCV, which will do both template selection and tracking. Initially I thought it will be a bit slow, but it turned out to be effective. You can follow my work on <a href="http://code.google.com/p/ccv-tt/">http://code.google.com/p/ccv-tt</a>.</p>
<p style="text-align:justify;">Here is a small preview of what I did.<a rel="attachment wp-att-316" href="http://amitsarangi.wordpress.com/2010/06/28/gsoc-2010-ccv-template-matching/screenshot-ccv-mod/"><img class="aligncenter size-full wp-image-316" title="screenshot-ccv-mod" src="http://amitsarangi.files.wordpress.com/2010/06/screenshot-ccv-mod.jpg?w=600&#038;h=395" alt="" width="600" height="395" /></a></p>
<p style="text-align:justify;">As you can see, in the GUI I have added  a &#8220;Track&#8221; section where you specify what to track (fingers/objects/fiducial). Also I added a &#8220;Template Area&#8221; panel , which decided the blue and green rectangle you see in the figure. Also I modified the settings section to have Save templates and Load templates.</p>
<p style="text-align:justify;">Also I have included the TemplateUtils class in the sourcecode which takes care of all the template works. The templates are saved in &#8220;templates.xml&#8221; file in &#8220;data&#8221; folder.The ID will be auto assigned. In case you want to change it , you can change in the xml file and load the xml again while the CCV is running.</p>
<p style="text-align:justify;">Right now , I am able to track objects(I am able to differentiate them from finger blob). Next what I will be doing is :</p>
<ul style="text-align:justify;">
<li>Template ID assignment</li>
<li>x,y points conversion of the templates.</li>
<li>Drawing of the tracked objects</li>
<li>TUIO message sending</li>
<li>Better Template matching method (Right now it is very simple)</li>
<li>CCV shortcut keys for templates</li>
<li>Fiducial integration</li>
</ul>
<p style="text-align:justify;">In next week, I will be implementing some of these functions and testing. Once it is ready for the release, I will have a release package for alpha testers and have a video showing the work. Also then I will be posting a step by step documentation soon how to work with this. Look for the posts here in near future.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/315/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/315/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/315/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=315&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/06/28/gsoc-2010-ccv-template-matching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/06/screenshot-ccv-mod.jpg" medium="image">
			<media:title type="html">screenshot-ccv-mod</media:title>
		</media:content>
	</item>
		<item>
		<title>CCV-Template Matching Tool : Roadmap</title>
		<link>http://amitsarangi.wordpress.com/2010/06/10/ccv-t-overview/</link>
		<comments>http://amitsarangi.wordpress.com/2010/06/10/ccv-t-overview/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 22:32:31 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[MultiTouch Programming]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=307</guid>
		<description><![CDATA[Hello people ! My GSoC work has been going on. In this post I will be briefing more about my project. For the working convenience and time splitting, I have divided my project into 4 major parts ! I will be describing each of them in detail below. ALGORITHM : This is the baseline of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=307&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Hello people ! My GSoC work has been going on. In this post I will be briefing more about my project. For the working convenience and time splitting, I have divided my project into 4 major parts ! I will be describing each of them in detail below.</p>
<ul style="text-align:justify;">
<li><strong>ALGORITHM</strong> : This is the baseline of the project. This part of the project decides what is the template selection and matching algorithm is to be . I am almost done with this part. You can see the tests/results in the <a href="http://code.google.com/p/ccv-tt/source/browse/#svn/branches/test" target="_blank">googlecode svn</a>. Finally I have decided to do the contour bounding rectangle matching. Also I have planned to include a button for more accurate matching which will do the contour matching test. With this algorithm it will be a good for shape matching.</li>
</ul>
<ul style="text-align:justify;">
<li><strong>TEMPLATE SELECTION TOOL </strong>: This will be acting as addon to the existing CCV project. With the use of this tool, you can select the particular templates which you can use for matching . For better options, I will include sliders for minimum and maximum area of the contour to filter out the best contours. Also you will have the option to see the binary video also. You click-and-drag over the contour which you want to select and it saves the selected contour in an XML file. The XML file can be modified to change the id also.</li>
</ul>
<ul style="text-align:justify;">
<li><strong>TEMPLATE MATCHING TOOL</strong> :  This part of the application will be handling the main tracking part. This will be a modification to CCV. It will load the xml data generated by the template selection tool and do all the calculations and do the TUIO sending Part. I will work hard on this to optimize the performance.</li>
</ul>
<ul>
<li><strong>APPLICATION :</strong> Once the previous part is done , I will work on this part. The applications will use the TUIO sent from the Template Matching Tool. I am planning to do this part with the help of PyMT/ TUIO AS3 API. Will decide based on the time remaining and complications which arise. This will be the last part of the project.</li>
</ul>
<p>In this way, I have divided the work which I am doing. More detailed posts with instruction will be there once I have crossed the milestones. Right now I am working on the &#8220;Template Selection Tool&#8221;. Its high time to shift the gear to maximum. I will keep updating <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/307/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=307&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/06/10/ccv-t-overview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>
	</item>
		<item>
		<title>Template Matching Invariant of Rotation</title>
		<link>http://amitsarangi.wordpress.com/2010/06/01/rotation-invariant-template-matching/</link>
		<comments>http://amitsarangi.wordpress.com/2010/06/01/rotation-invariant-template-matching/#comments</comments>
		<pubDate>Mon, 31 May 2010 22:45:10 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[GSoC 2010]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=278</guid>
		<description><![CDATA[The first week of GSoC 2010 is over.In the mean time, I created a project on code.google.com . All my updates will be in that google-code svn repository, so if you have svn command line or svn client such as Totoise SVN you can checkout the source. I also have committed my openSURF experimentation source-code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=278&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The first week of GSoC 2010 is over.In the mean time, I created a <a href="http://code.google.com/p/ccv-tt/" target="_blank">project on code.google.com</a> . All my updates will be in that google-code svn repository, so if you have svn command line or svn client such as Totoise SVN you can checkout the source. I also have committed my openSURF experimentation source-code there in<a href="http://code.google.com/p/ccv-tt/source/browse/#svn/branches/test/OpenSURF%20Test" target="_blank"> /branch/test</a> folder. All my experimentation will be going into that folder.</p>
<p>As of now I have worked on different algorithms. I am planning to make <a href="http://code.google.com/p/ccv-tt/">CCV-TT</a> modular so that any algorithm can be fit into it easily, so that it will be easy for future developments also. I will be writing the structure of the project in my next posts when I start coding for the Template Selection Tool.</p>
<p>So as the topic says I had experimented on contour matching. The source-code can be found on the <a href="http://code.google.com/p/ccv-tt/source/browse/#svn/branches/test/ContourMatchingTest%3Fstate%3Dclosed">googlecode repository</a>. It includes the images in Images folder. The test images are :</p>
<p><a rel="attachment wp-att-185" href="http://amitsarangi.wordpress.com/2010/06/01/rotation-invariant-template-matching/main/"><img class="size-full wp-image-185 aligncenter" title="main" src="http://amitsarangi.files.wordpress.com/2010/03/main.jpg?w=600" alt=""   /></a><a rel="attachment wp-att-184" href="http://amitsarangi.wordpress.com/2010/06/01/rotation-invariant-template-matching/template/"><img class="size-full wp-image-184 aligncenter" title="template" src="http://amitsarangi.files.wordpress.com/2010/03/template.jpg?w=600" alt=""   /></a>The first image is the main image where the matching has to be done (say a frame from video/camera). The second is the template provided by the user. I have tried using SURF to find out the feature points and got only single feature point among them.Which was quite slow and will not be good to track (feature point was not at the center). Therefore I moved on to contour matching. Then I realized that contour matching may give very good results [cvMatchShapes(...) returns 0 ] when tried on the same template [the one cropped and transformed from the main pic]. But when tried on different picture&#8217;s templates [like the images shown] it gave quite bad results. You can see the difference in the drawing of the contour.</p>
<p><a rel="attachment wp-att-281" href="http://amitsarangi.wordpress.com/2010/06/01/rotation-invariant-template-matching/contours/"><img class="aligncenter size-full wp-image-281" title="contours" src="http://amitsarangi.files.wordpress.com/2010/06/contours.jpg?w=600&#038;h=476" alt="" width="600" height="476" /></a></p>
<p>After seeing the contours [drawn in white in both ], the difference can be seen, it can give bad results or say can match to arbitrary curves on the surface/image. Therefore I thought of new plan, say contour-bounding-rectangle matching. The advantages and disadvantages are :</p>
<p><strong>Advantages : </strong></p>
<ul>
<li>Faster &#8211; It will involve very basic level math calculation.</li>
<li>Saving into files/Loading from files, as these are of CvBox2D data type, it can be saved in files/loaded from files. This will also fasten the process a lot, reducing the time for finding contour for every image saved and calculation.</li>
<li>minArea, maxArea for each contour- which will make it even more accurate.</li>
<li>Detection and tracking of angles- from the rectangle that has been matched.</li>
</ul>
<p><strong>Disadvantages : </strong></p>
<ul>
<li>It will not be very accurate.</li>
<li>It will be more like shape matching.</li>
</ul>
<p>As I had done experiments on this, You can see this clearly from results. Or you can checkout the google-code repository and perform the experiment by yourself.</p>
<p><a rel="attachment wp-att-286" href="http://amitsarangi.wordpress.com/2010/06/01/rotation-invariant-template-matching/matched/"><img class="aligncenter size-full wp-image-286" title="matched" src="http://amitsarangi.files.wordpress.com/2010/06/matched.jpg?w=600&#038;h=500" alt="" width="600" height="500" /></a></p>
<p><a rel="attachment wp-att-302" href="http://amitsarangi.wordpress.com/2010/06/01/rotation-invariant-template-matching/small_match/"><img class="aligncenter size-full wp-image-302" title="small_match" src="http://amitsarangi.files.wordpress.com/2010/06/small_match.jpg?w=600" alt=""   /></a></p>
<p>As you can see the result, the actual contour bounding rectangle is matched. In case you want to know the contour matching results, just include the line</p>
<p><pre class="brush: cpp;">

cvMatchShape(contours,tempContours,CV_CONTOUR_MATCH_I1);

</pre></p>
<p>in the for loop where the draw_box(&#8230;) is used. This will return a double value. For the best detection it will return 0.This code basically has 2 funtions-to match the images, or to see the drawn contours. You can see the match(&#8230;) and check(&#8230;) for more details as it is documented. For match(&#8230;) you have to define PROCEDURE as 1 and for check(&#8230;) , you have to define PROCEDURE as 2. It is better explained in source.</p>
<p>Also for the linux users, just copy the main.cpp and you can compile it with g++. But you need to have openCV2.0 installed.</p>
<p>This is all for now. Next I will be coding the template matching tool on OpenFrameworks. I will be coding it as CCV mod. For the progress of the work, watch out this space or the <a href="http://code.google.com/p/ccv-tt/" target="_blank">googlecode </a>project.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/278/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=278&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/06/01/rotation-invariant-template-matching/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/03/main.jpg" medium="image">
			<media:title type="html">main</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/03/template.jpg" medium="image">
			<media:title type="html">template</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/06/contours.jpg" medium="image">
			<media:title type="html">contours</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/06/matched.jpg" medium="image">
			<media:title type="html">matched</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/06/small_match.jpg" medium="image">
			<media:title type="html">small_match</media:title>
		</media:content>
	</item>
		<item>
		<title>SURF and OpenSURF : Usage of OpenSURF library</title>
		<link>http://amitsarangi.wordpress.com/2010/05/25/surf-and-opensurf-usage-of-opensurf-library/</link>
		<comments>http://amitsarangi.wordpress.com/2010/05/25/surf-and-opensurf-usage-of-opensurf-library/#comments</comments>
		<pubDate>Mon, 24 May 2010 21:43:03 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[implementation]]></category>
		<category><![CDATA[OpenSURF]]></category>
		<category><![CDATA[SURF]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=268</guid>
		<description><![CDATA[As I said before OpenSURF is an open source implementation of SURF library, which is being used for feature extraction and matching. In my last post I have provided the results of my experimentation. This post is for description of the methods and how to do it all by yourself. Well, first of all you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=268&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">As I said before OpenSURF is an open source implementation of SURF library, which is being used for feature extraction and matching. In my last post I have provided the results of my experimentation. This post is for description of the methods and how to do it all by yourself.</p>
<p style="text-align:justify;">Well, first of all you need to configure your IDE for using openCV dlls and libs. Then add the <a href="http://code.google.com/p/opensurf1/" target="_blank">openSURF</a> library to your project(else for testing you can create inside openSURF project e.g. see main.cpp). All you need is to include &#8220;surflib.h&#8221; from the openSURF library which contains all the main function you need for the implementation.</p>
<p style="text-align:justify;">The main functions are :</p>
<p><pre class="brush: cpp;">
//! Library function builds vector of described interest points  (from surflib.h)
inline void surfDetDes(IplImage *img,  /* image to find Ipoints in */
std::vector&lt;Ipoint&gt; &amp;ipts, /* reference to vector of Ipoints */
bool upright = false, /* run in rotation invariant mode? */
int octaves = OCTAVES, /* number of octaves to calculate */
int intervals = INTERVALS, /* number of intervals per octave */
int init_sample = INIT_SAMPLE, /* initial sampling step */
float thres = THRES /* blob response threshold */)

//To get matches between two Ipoints (from ipoints.h)
void getMatches(IpVec &amp;ipts1, IpVec &amp;ipts2, IpPairVec &amp;matches);

//! Draw all the Ipoints in the provided vector (from utils.h)
void drawIpoints(IplImage *img, std::vector&lt;Ipoint&gt; &amp;ipts, int tailSize = 0);

//! Save the SURF features to file (from utils.h)
void saveSurf(char *filename, std::vector&lt;Ipoint&gt; &amp;ipts);

//! Load the SURF features from file ( from utils.h)
void loadSurf(char *filename, std::vector&lt;Ipoint&gt; &amp;ipts);
</pre></p>
<p>So as the very first function says, it calculates all the ipoints(Interest Points) from the image and stores them in the ipts vector.</p>
<p>As indicated by comments, the drawIpoints(&#8230;) method draws the interest points found by the previous method, saveSurf(&#8230;) saves the ipoints to a file and loadSurf(&#8230;) loads the ipoints from a file to a variable.</p>
<p>So once all interest points of the image are found, you can match them to the interest points of another image by the getMatches(), which stores all the matched points to the matches variable. The definition of IpPairVec is</p>
<p><pre class="brush: cpp;">
typedef std::vector&lt;std::pair&lt;Ipoint, Ipoint&gt; &gt; IpPairVec;
</pre></p>
<p>So in case you want to connect all the match points by cvLine you can use the following code snippet (see the 5th procedure in main.cpp)</p>
<p><pre class="brush: cpp;">
  for (unsigned int i = 0; i &lt; matches.size(); ++i)
  {
    drawPoint(img1,matches[i].first);
    drawPoint(img2,matches[i].second);

    const int &amp; w = img1-&gt;width;
    cvLine(img1,cvPoint(matches[i].first.x,matches[i].first.y),cvPoint(matches[i].second.x+w,matches[i].second.y), cvScalar(255,255,255),1);
    cvLine(img2,cvPoint(matches[i].first.x-w,matches[i].first.y),cvPoint(matches[i].second.x,matches[i].second.y), cvScalar(255,255,255),1);
  }
</pre></p>
<p>So this is all for now, I will keep you updated about my work !</p>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:938px;width:1px;height:1px;overflow:hidden;">
<p>So as the very first function says, it calculates all the  ipoints(Interest Points) from the image and stores them in the ipts  vector.</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=268&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/05/25/surf-and-opensurf-usage-of-opensurf-library/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>
	</item>
		<item>
		<title>SURF and OpenSURF</title>
		<link>http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/</link>
		<comments>http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/#comments</comments>
		<pubDate>Sun, 23 May 2010 18:54:55 +0000</pubDate>
		<dc:creator>Amit</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[Feature Extraction]]></category>
		<category><![CDATA[OpenCV features]]></category>
		<category><![CDATA[OpenSURF]]></category>
		<category><![CDATA[Statistics]]></category>
		<category><![CDATA[SURF]]></category>

		<guid isPermaLink="false">http://amitsarangi.wordpress.com/?p=225</guid>
		<description><![CDATA[GSoC 2010 work has already started. As the very first phase, I have to choose a good algorithm to implement the pattern matching technique.Initially I am concentrating on the pattern matching on images and after this I will be concentrating upon integrating into CCV. The application may need to handle multiple image matching in real-time, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=225&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">GSoC 2010 work has already started. As the very first phase, I have to choose a good algorithm to implement the pattern matching technique.Initially I am concentrating on the pattern matching on images and after this I will be concentrating upon integrating into <a href="http://ccv.nuigroup.com/" target="_blank">CCV</a>. The application may need to handle multiple image matching in real-time, therefore a good algorithm is needed. So as my mentor Pawel suggested, I looked around for different algorithms on feature extraction. Features of images remain same on different condition of images. Therefore it seems like a good idea.</p>
<p style="text-align:justify;">The very first thing that I got regarding this was <a href="http://en.wikipedia.org/wiki/Scale-invariant_feature_transform" target="_blank">SIFT (Scale Invariant Feature Transform)</a>. Then I came across <a href="http://en.wikipedia.org/wiki/SURF" target="_blank">SURF (Speeded Up Robust Features)</a> which is inspired by SIFT and has better performance. Also there are some implementations of SURF around internet which are listed in the wiki page. Even SURF has been integrated into openCV.  But I have come across another open-source implementation named <a href="http://code.google.com/p/opensurf1/" target="_blank">OpenSURF</a>. It was quite nicely documented and had this <a href="http://sites.google.com/site/chrisevansdev/files/opensurf.pdf" target="_blank">Notes on openSURF library </a>which has awesome explanation. But you should really check out the source as that has nice examples. Also each header files contain the use of each function.</p>
<p style="text-align:justify;">One more good feature in SURF is that the Interest Points(IPoints) can be saved to a file and loaded for use which takes very less time than calculating interest points everytime. There are some specific parameters of iPoints which need to be saved/loaded. Those are scale,x,y,laplacian and the 64 descriptors acquainted with it.</p>
<p style="text-align:justify;">I had carried out this experiment on 4 set of images. The results can be downloaded <span style="color:#ff0000;"><a href="http://www.box.net/shared/xb9pkq2tok">here</a></span>. Each image features are extracted to a file of the same name and with &#8220;.txt&#8221; extension.In this post I will be analyzing one of the categories in details. You can see the result of all the categories by downloading the link I provided.</p>
<p style="text-align:justify;">The Categories are <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> Click on the Image to see it in actual size)</p>
<p style="text-align:center;"><a rel="attachment wp-att-238" href="http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/a1/"><img class="size-medium wp-image-238 aligncenter" title="a1" src="http://amitsarangi.files.wordpress.com/2010/05/a1.jpg?w=300&#038;h=188" alt="" width="300" height="188" /></a><a rel="attachment wp-att-239" href="http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/b2/"><img class="size-medium wp-image-239 aligncenter" title="b2" src="http://amitsarangi.files.wordpress.com/2010/05/b2.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a></p>
<p style="text-align:justify;"><a rel="attachment wp-att-240" href="http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/c1-2/"><img class="size-medium wp-image-240 aligncenter" title="c1" src="http://amitsarangi.files.wordpress.com/2010/05/c11.jpg?w=300&#038;h=196" alt="" width="300" height="196" /></a><a rel="attachment wp-att-241" href="http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/d1/"><img class="size-medium wp-image-241 aligncenter" title="d1" src="http://amitsarangi.files.wordpress.com/2010/05/d1.jpg?w=262&#038;h=300" alt="" width="262" height="300" /></a></p>
<p style="text-align:justify;">I will be analyzing the last category in which I got good results.</p>
<p style="text-align:justify;">Here are the results in the image form. The matches are joined together with lines.</p>
<p style="text-align:justify;"><a rel="attachment wp-att-246" href="http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/matches3/"><img class="size-medium wp-image-245 aligncenter" title="With Background Difference" src="http://amitsarangi.files.wordpress.com/2010/05/matches2.jpg?w=300&#038;h=253" alt="" width="300" height="253" /></a></p>
<p style="text-align:justify;"><a rel="attachment wp-att-242" href="http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/matches/"><img class="aligncenter size-medium wp-image-242" title="With change in Size" src="http://amitsarangi.files.wordpress.com/2010/05/matches.jpg?w=300&#038;h=165" alt="" width="300" height="165" /></a></p>
<p style="text-align:center;"><a rel="attachment wp-att-246" href="http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/matches3/"><img class="size-medium wp-image-246 aligncenter" title="With major Difference" src="http://amitsarangi.files.wordpress.com/2010/05/matches3.jpg?w=300&#038;h=170" alt="" width="300" height="170" /></a></p>
<p>If you see the third image, out of the 3 matches, only one match is correct. Similarly I have found from my work that, if the images are very much similar then SURF works very well. But in case there is a major viewpoint change or major difference, then SURF fails to identify the features. With the Samples I have provided, see the Ferrari Images [c1.jpg-c5.jpg], there were no matches found in them (1 wrong match found).</p>
<p>The time taken for calculation depends upon the size of the image and also how the image is . In the process of my work, I have seen images with 2 Ipoints to 5k iPoints.As the number of iPoints increase, the time taken is more.For me some images took ~25 seconds and some tool 0.015 seconds for the iPoints calculation.</p>
<p>So this algorithm is not as good as the one used in <a href="http://similar-images.googlelabs.com/">Google Similar Images</a>. But yes, if the images are quite similar (with rotation/change in lightening), then SURF seems to work awesome !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amitsarangi.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amitsarangi.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amitsarangi.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amitsarangi.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/amitsarangi.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/amitsarangi.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/amitsarangi.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/amitsarangi.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amitsarangi.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amitsarangi.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amitsarangi.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amitsarangi.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amitsarangi.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amitsarangi.wordpress.com/225/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amitsarangi.wordpress.com&amp;blog=9374078&amp;post=225&amp;subd=amitsarangi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://amitsarangi.wordpress.com/2010/05/24/surf-and-opensurf/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/155d85b783f078ff7fd56b66857e8588?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Amit</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/05/a1.jpg?w=300" medium="image">
			<media:title type="html">a1</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/05/b2.jpg?w=300" medium="image">
			<media:title type="html">b2</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/05/c11.jpg?w=300" medium="image">
			<media:title type="html">c1</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/05/d1.jpg?w=262" medium="image">
			<media:title type="html">d1</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/05/matches2.jpg?w=300" medium="image">
			<media:title type="html">With Background Difference</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/05/matches.jpg?w=300" medium="image">
			<media:title type="html">With change in Size</media:title>
		</media:content>

		<media:content url="http://amitsarangi.files.wordpress.com/2010/05/matches3.jpg?w=300" medium="image">
			<media:title type="html">With major Difference</media:title>
		</media:content>
	</item>
	</channel>
</rss>
