<?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/"
	>

<channel>
	<title>Andol</title>
	<atom:link href="http://www.andol.info/feed" rel="self" type="application/rss+xml" />
	<link>http://www.andol.info</link>
	<description>Just value your mind</description>
	<lastBuildDate>Wed, 20 Mar 2013 12:07:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Considering video vibration helpful</title>
		<link>http://www.andol.info/research/2071.htm</link>
		<comments>http://www.andol.info/research/2071.htm#comments</comments>
		<pubDate>Wed, 20 Mar 2013 12:07:15 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[augmented reality]]></category>
		<category><![CDATA[object recognition]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2071</guid>
		<description><![CDATA[The video vibration is annoying, because as we know it, this causes big barriers to programmers from recognising objects/people accurately. However, the thing is, when the vibrations are amplified, i mean hugely amplified with a set of algorithms, there are amazing results happenning, as demonsted in this picture. If this is used in realistic application, [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2013/03/teaser.jpg"><img src="http://www.andol.info/wp-content/uploads/2013/03/teaser-230x90.jpg" alt="teaser - http://people.csail.mit.edu/mrub/vidmag/" width="230" height="90" class="alignnone size-thumbnail wp-image-2072" /></a></p>
<p>The video vibration is annoying, because as we know it, this causes big barriers to programmers from recognising objects/people accurately. However, the thing is, when the vibrations are amplified, i mean hugely amplified with a set of algorithms, there are amazing results happenning, as demonsted in this picture.</p>
<p><span id="more-2071"></span>If this is used in realistic application, such like video chat or remote hospital, one can see the other&#8217;s heart beating, which indicates whether they are anxious of exciting. </p>
<p>For more information, refer to the original source of the project: <a href="http://people.csail.mit.edu/mrub/vidmag/" title="http://people.csail.mit.edu/mrub/vidmag/" target="_blank">http://people.csail.mit.edu/mrub/vidmag/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/research/2071.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Happy New Year</title>
		<link>http://www.andol.info/life/2067.htm</link>
		<comments>http://www.andol.info/life/2067.htm#comments</comments>
		<pubDate>Mon, 31 Dec 2012 12:17:24 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2067</guid>
		<description><![CDATA[Happy New Year, and Hello, 2013]]></description>
				<content:encoded><![CDATA[<p><strong style="color: #c00; font-size: 32px;"></p>
<p>Happy New Year, and<br />
Hello, 2013</p>
<p></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/2067.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release of HAAR classifier trained for hand gesture recognition</title>
		<link>http://www.andol.info/hci/2059.htm</link>
		<comments>http://www.andol.info/hci/2059.htm#comments</comments>
		<pubDate>Thu, 08 Nov 2012 14:24:29 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand database]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2059</guid>
		<description><![CDATA[The release of HAAR training classifier for hand gesture detection This is the last post of the GSoC hand gesture detection series, and the trained HAAT classifier is finally released here. This is only a short announcement, but the classifier in .xml file can be reached here in https://github.com/yandol/GstHanddetect. The release contains two .xml classifier [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/11/finger.jpg"><img src="http://www.andol.info/wp-content/uploads/2012/11/finger-e1352384348784-230x90.jpg" alt="hand detection" title="hand detection" width="230" height="90" class="alignnone size-thumbnail wp-image-2060" /></a></p>
<h3>The release of HAAR training classifier for hand gesture detection</h3>
<p>This is the last post of the GSoC hand gesture detection series, and the trained HAAT classifier is finally released here.<br />
This is only a short announcement, but the classifier in .xml file can be reached here in <a href="https://github.com/yandol/GstHanddetect" title=".xml classifier for hand gesture detection" target="_blank"><strong>https://github.com/yandol/GstHanddetect</strong></a>.<br />
The release contains two .xml classifier files, respectively they are for <strong>CLOSED PALM</strong> and <strong>FIST</strong> detection. </p>
<p>Hope this is useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/2059.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A method of detecting and recognising hand gestures using OpenCV (2)</title>
		<link>http://www.andol.info/hci/1984.htm</link>
		<comments>http://www.andol.info/hci/1984.htm#comments</comments>
		<pubDate>Thu, 08 Nov 2012 14:12:39 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[opencv ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1984</guid>
		<description><![CDATA[A previous article has described a method to detect and recognise hand gestures using OpenCV, actually the c# wrapper of OpenCV called emgu CV. Details of this method can be found here a method of detecting and recognising hand gestures using Opencv. But Tongo&#8217;s project wrapped in emgu CV may not be easy to configure, [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/03/hand-detection-opencv.jpg"><img class="alignnone size-thumbnail wp-image-1985" title="hand detection opencv" src="http://www.andol.info/wp-content/uploads/2012/03/hand-detection-opencv-230x90.jpg" alt="hand detection opencv" width="230" height="90" /></a></p>
<p>A previous article has described a method to detect and recognise hand gestures using OpenCV, actually the c# wrapper of OpenCV called emgu CV. Details of this method can be found here <strong><a title="A method of detecting and recognising hand gestures using openCV" href="http://www.andol.info/hci/1661.htm">a method of detecting and recognising hand gestures using Opencv</a></strong>. But Tongo&#8217;s project wrapped in emgu CV may not be easy to configure, so this article gives a new example transfering thet project to plain c++ OpenCV environment.</p>
<p><span id="more-1984"></span>The example codes of the project, as well as the configurations, are described bellow.</p>
<h3>Structure of previous hand gesture detection and recognition project</h3>
<p>To make a clear tutorial of how the previous project did the hand gesture detection and recognition, the functions used in the project are listed below, through which I hope it can make a clear picture of this project&#8217;s algorithm flow.</p>
<p>1) reading video files. The project did not read video images from live webcam, rather it provided a video file as the source of video images. Similar functions were used to query video image one by one by using the function &#8211; <strong>grabber.QueryFrame()</strong>.</p>
<div class="code">grabber = new Emgu.CV.Capture(@&#8221;.\..\..\..\M2U00253.MPG&#8221;);</div>
<p>2) extracting contours and hulls of hand gestures. In this part, the method used HSV colour ranges to extract hand colours &#8211; the range can be adjusted dynamically according to background environments. A set of functions were applied to improve the accuracy of colour detection, such as cvErode and cvDilate. Here is a clip of source code in the project.</p>
<div class="code">public override ImageDetectSkin(ImageImg, IColor min, IColor max)<br />
{<br />
Image currentYCrCbFrame = Img.Convert();<br />
Image skin = new Image(Img.Width, Img.Height);int y, cr, cb, l, x1, y1, value;int rows = Img.Rows;<br />
int cols = Img.Cols;<br />
Byte[, ,] YCrCbData = currentYCrCbFrame.Data;<br />
Byte[, ,] skinData = skin.Data;for (int i = 0; i &lt; rows; i++)<br />
for (int j = 0; j &lt; cols; j++)<br />
{<br />
y = YCrCbData[i, j, 0];<br />
cr = YCrCbData[i, j, 1];<br />
cb = YCrCbData[i, j, 2];</p>
<p>cb -= 109;<br />
cr -= 152;<br />
x1 = (819 * cr &#8211; 614 * cb) / 32 + 51;<br />
y1 = (819 * cr + 614 * cb) / 32 + 77;<br />
x1 = x1 * 41 / 1024;<br />
y1 = y1 * 73 / 1024;<br />
value = x1 * x1 + y1 * y1;<br />
if (y &lt; 100)<br />
skinData[i, j, 0] = (value &lt; 700) ? (byte)255 : (byte)0;<br />
else<br />
skinData[i, j, 0] = (value &lt; 850) ? (byte)255 : (byte)0;</p>
<p>}<br />
StructuringElementEx rect_6 = new StructuringElementEx(6, 6, 3, 3, Emgu.CV.CvEnum.CV_ELEMENT_SHAPE.CV_SHAPE_RECT);<br />
CvInvoke.cvErode(skin, skin, rect_6, 1);<br />
CvInvoke.cvDilate(skin, skin, rect_6, 2);<br />
return skin;</p>
<p>}</p>
</div>
<p>3) selecting the right contours. The skin detection generated many contours, including face shapes with similar colours as hands. So, the right contours need to be pick up from all these contours. In this project, the author used a simple method by comparing the size of contours &#8211; usually the hand in the image had the biggest contour size.</p>
<div class="code">Double Result1 = 0;<br />
Double Result2 = 0;<br />
while (contours != null)<br />
{<br />
Result1 = contours.Area;<br />
if (Result1 &gt; Result2)<br />
{<br />
Result2 = Result1;<br />
biggestContour = contours;<br />
}<br />
contours = contours.HNext;<br />
}</div>
<p>4) if the biggest contour existed, then counting the finger number from detected contours. During this progress some basic markings such as drawing a rectangle or eclipse are helpful to identify the right object. Counting the finger was realised via a function of defect detection. There were obvious defects between finger contours with up and down shapes.</p>
<div class="code">#region defects drawing<br />
for (int i = 0; i &lt; defects.Total; i++)<br />
{<br />
PointF startPoint = new PointF((float)defectArray[i].StartPoint.X,<br />
(float)defectArray[i].StartPoint.Y);PointF depthPoint = new PointF((float)defectArray[i].DepthPoint.X,<br />
(float)defectArray[i].DepthPoint.Y);PointF endPoint = new PointF((float)defectArray[i].EndPoint.X,<br />
(float)defectArray[i].EndPoint.Y);LineSegment2D startDepthLine = new LineSegment2D(defectArray[i].StartPoint, defectArray[i].DepthPoint);</p>
<p>LineSegment2D depthEndLine = new LineSegment2D(defectArray[i].DepthPoint, defectArray[i].EndPoint);</p>
<p>CircleF startCircle = new CircleF(startPoint, 5f);</p>
<p>CircleF depthCircle = new CircleF(depthPoint, 5f);</p>
<p>CircleF endCircle = new CircleF(endPoint, 5f);</p>
<p>//Custom heuristic based on some experiment, double check it before use<br />
if ((startCircle.Center.Y &lt; box.center.Y || depthCircle.Center.Y &lt; box.center.Y) &amp;&amp; (startCircle.Center.Y &lt; depthCircle.Center.Y) &amp;&amp; (Math.Sqrt(Math.Pow(startCircle.Center.X &#8211; depthCircle.Center.X, 2) + Math.Pow(startCircle.Center.Y &#8211; depthCircle.Center.Y, 2)) &gt; box.size.Height / 6.5))<br />
{<br />
fingerNum++;<br />
currentFrame.Draw(startDepthLine, new Bgr(Color.Green), 2);<br />
//currentFrame.Draw(depthEndLine, new Bgr(Color.Magenta), 2);<br />
}</p>
<p>currentFrame.Draw(startCircle, new Bgr(Color.Red), 2);<br />
currentFrame.Draw(depthCircle, new Bgr(Color.Yellow), 5);<br />
//currentFrame.Draw(endCircle, new Bgr(Color.DarkBlue), 4);<br />
}<br />
#endregion</p>
</div>
<h3>Transferring previous project to c++</h3>
<p>Based on the understanding of hand gesture detection and recognition algorithm flow described above, it is possible to map the flow in c++ projects. The c++ project used similar OpenCV functions to realise the detection and recognition, and it followed the same flow of detection. Below is a screenshot of the c++ project detecting and recognition simple finger gestures as numbers. The source code of this project is also included in the bottom of this post and the <strong><a title="c++ hand detection and recognition code example - andol.info" href="http://www.andol.info/downloads">download </a></strong>page as well.</p>
<h3>Code example</h3>
<p>See the example codes in download page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1984.htm/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>First trial of classifier training – the good and bad</title>
		<link>http://www.andol.info/hci/2049.htm</link>
		<comments>http://www.andol.info/hci/2049.htm#comments</comments>
		<pubDate>Sat, 29 Sep 2012 05:13:17 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2049</guid>
		<description><![CDATA[Forewords The first try of HAAR training was based on the tutorial mentioned in the previous post (see Collection of own hand gesture samples – the call for pictures, training method, tool and results). The aim was to go through all steps of HAAR training and see: 1) How positive and negative samples should be [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/08/IMG00737-20120828-1621.jpg"><img class="alignnone size-thumbnail wp-image-2050" title="hand gestures" src="http://www.andol.info/wp-content/uploads/2012/08/IMG00737-20120828-1621-230x90.jpg" alt="hand gestures" width="230" height="90" /></a></p>
<h3>Forewords</h3>
<p>The first try of HAAR training was based on the tutorial mentioned in the previous post (see <a title="Collection of own hand gesture samples – the call for pictures, training method, tool and results" href="http://www.andol.info/hci/2045.htm"><em>Collection of own hand gesture samples – the call for pictures, training method, tool and results</em></a>). The aim was to go through all steps of HAAR training and see:</p>
<p>1) How positive and negative samples should be captured and setup for training?<br />
<span id="more-2049"></span>2) How large should the scale of sample be? This is, what exactly are these differences between 1000 samples&#8217; training and 9000 samples&#8217; training in terms of accuracy and effectiveness.</p>
<h3>The trial training</h3>
<p>Full details of the trial training can be found in the previous post <a href="http://www.andol.info/hci/1996.htm" title="A failed example of hand gesture recognition using openCV haartraining classifiers"><em>A failed example of hand gesture recognition using openCV haartraining classifiers</em></a>. </p>
<p>As mentioned in the old post, the size of samples were crucial to the training. There is a size for best training results, which is around 20X20. Bigger sizes of course are helpful to improve the detection accuracy but the memory of training machine can easily running out. </p>
<h3>Lessens learnt &#8211; good and bad</h3>
<p>As described in the failed example of HAAR training, the sample pictures should not contain too much background information. For example, if detecting a open palm the backgrounds between fingers were also captured and trained as a part of palm, which led to very low detection accuracy. Rather, the sample pictures should be captured in a manner of such for face detection &#8211; <strong>with more important features but less backgrounds</strong>. </p>
<p>Although the failed example had nearly 10,000 samples its results were still poor. This does not require the increase of training samples. In another run of the failed example of training, after training closed palm gestures, 800 positive samples gave a result with approximately 70% accuracy, and the robustness seemed to be possibly improved through using more samples in different scenarios. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/2049.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Collection of own hand gesture samples &#8211; the call for pictures, training method, tool and results</title>
		<link>http://www.andol.info/hci/2045.htm</link>
		<comments>http://www.andol.info/hci/2045.htm#comments</comments>
		<pubDate>Wed, 22 Aug 2012 18:24:13 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2045</guid>
		<description><![CDATA[The call for hand gesture samples Quite long time ago a call for hand gesture samples was made in here, unfortunately this call received few responses making contributions to the samples. Guess if I post free databases of hand gestures for high quality HAAR training then the situation would be quite different &#8211; kidding. The [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/08/handgesturesamples.png"><img src="http://www.andol.info/wp-content/uploads/2012/08/handgesturesamples-230x90.png" alt="handgesturesamples" title="handgesturesamples" width="230" height="90" class="alignnone size-thumbnail wp-image-2046" /></a></p>
<h3>The call for hand gesture samples</h3>
<p>Quite long time ago a call for hand gesture samples was made in <a href="http://www.andol.info/hci/1989.htm" title="Needed!!! High quality positive/negative hand pictures needed!!!">here</a>, unfortunately this call received few responses making contributions to the samples. Guess if I post free databases of hand gestures for high quality HAAR training then the situation would be quite different &#8211; kidding.</p>
<p><span id="more-2045"></span><br />
<h3>The quality of samples matters!!!</h3>
<p>Of course high quality samples can improve the training results, but the real situation is that it is not easy to take thousands of hand gesture photos in a short time and these photos need to be in a series and include target detection features. Plus cropping these features out of photos manually, this is overloaded. So that is why we need some hand gesture databases to do the job. In my project I had a chance to use Cambridge&#8217;s hand gesture database, these samples were in 80&#215;60 size and had most hand gestures. However the backgrounds were black and the features were not very well cropped, so I have to give up, and instead, starting to collect my own samples. I wish someday I could publish these as another hand gesture database sharing with the public.</p>
<p>Based on my experiences of training so far, the samples from webcam used to have good enough quality for the training. Normal webcams can produce 320&#215;240 pictures, and nowadays 640&#215;480 is quite common. With the webcam, then with a short programme using openCV to grab webcam streams and save these as specifically sized samples, the sample collection work is done. An example of using openCv to collect sample pictures can go here <a href="http://www.andol.info/hci/1991.htm" title="Writing a simple hand gesture picture sampler for classifier training"><strong>Writing a simple hand gesture picture sampler for classifier training</strong></a>. Also, in Naotoshi&#8217;s tutorial, another tool was provided to speed the manual cropping of sample pictures, the link is here <a href="http://code.google.com/p/imageclipper/" title="image cropper" target="_blank"><strong>image cropper</strong></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/08/imagecropper.png"><img src="http://www.andol.info/wp-content/uploads/2012/08/imagecropper-230x90.png" alt="image cropper" title="imagecropper" width="230" height="90" class="alignnone size-thumbnail wp-image-2047" /></a></p>
<h3>Negative samples ALSO matter</h3>
<p>Negative samples are those pictures without target features, so theoretically any background pictures off the hands can be used as negative samples. Therefore this is easier to collect. What I intend to mention here is, I made a stupid mistake in my project and that led to very bad detection results, no matter how much positive samples were collected and cropped. I resized the background pictures to 40&#215;30 size, and the positive samples were with 20&#215;20 size. Based on that, the detection results generated unbelievably high false detection rate, as I mentioned in a previous post here <a href="http://www.andol.info/hci/1996.htm" title="A failed example of hand gesture recognition using openCV haartraining classifiers" target="_blank"><strong>A failed example of hand gesture recognition using openCV haartraining classifiers</strong></a>.</p>
<p>And after I found out and changed these negative samples to normal sizes like 320&#215;240, bingo~ I got quite good improvements, and I could see the differences of detection accuracy each time I added positive and negative samples for training. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/2045.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Analysis of openCV’s face detection – the sample, method and performance</title>
		<link>http://www.andol.info/hci/2042.htm</link>
		<comments>http://www.andol.info/hci/2042.htm#comments</comments>
		<pubDate>Mon, 20 Aug 2012 10:11:36 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2042</guid>
		<description><![CDATA[From the picture of face detection in openCV website&#8230; This post is the first of series articles discussing openCV HAAR classifier training and use, as it was implemented in GSoc 2012 project. Here in this post there is no complex algorithms presented, instead, this focuses on requirements and techniques for successful classifier training using openCV. [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/08/opencv-face-detection.gif"><img class="alignnone size-thumbnail wp-image-2043" title="opencv face detection" src="http://www.andol.info/wp-content/uploads/2012/08/opencv-face-detection-e1345392171879-230x90.gif" alt="opencv face detection" width="230" height="90" /></a></p>
<h3>From the picture of face detection in openCV website&#8230;</h3>
<p>This post is the first of series articles discussing openCV HAAR classifier training and use, as it was implemented in GSoc 2012 project. Here in this post there is no complex algorithms presented, instead, this focuses on requirements and techniques for successful classifier training using openCV.</p>
<p><span id="more-2042"></span></p>
<h3>Samples used in openCV face detection</h3>
<p>3,000 negative pictures, 5,000 positive frontal face pictures were used and resulted in openCV&#8217;s good accuracy of face detection. These 5k pictures were from 1,000 individuals. Put aside how difficult it was to collect so many pictures (which I will talk about in another post), this number is believed to be able to achieve satisfied results due to the fact that the most common features should be covered, such like the dark eyes, bright nose and the relative positions amongst these parts. Special features, such like the colours of eyes, the height of nose and the width of face cheeks, are less worthy of training.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/08/show-off-your-eye-colour-0.jpg"><img class="alignnone size-thumbnail wp-image-2044" title="show-off-your-eye-colour-0" src="http://www.andol.info/wp-content/uploads/2012/08/show-off-your-eye-colour-0-230x90.jpg" alt="show-off-your-eye-colour-0 -picture from http://8makeup.com/show-off-your-eye-colour-9574.html" width="230" height="90" /></a></p>
<p>Downloads of face samples, as mentioned in Naotoshi&#8217;s tutorials, can be referred in <strong>http://note.sonots.com/SciSoftware/haartraining.html#x15ebd98</strong>.</p>
<h3>How these samples were used</h3>
<p>openCV never told how these samples were used. As openCV only provides xml files, the only thing clear is how many stages used in the training with these samples. Neither were the cropping of pictures nor ultimate picture sizes provided. As far as concerned,</p>
<blockquote><p>Kuranov et. al. [3] states as 20&#215;20 of sample size achieved the highest hit rate. Furthermore, they states as &#8220;For 18&#215;18 four split nodes performed best, while for 20&#215;20 two nodes were slightly better. Thus, -w 20 -h 20 would be good</p></blockquote>
<p>And, how the picture cropping affects the quality of training will be discussed in a later post.</p>
<h3>Method of training</h3>
<p>To save some words, the detailed procedures of sample training as well as parameter introductions please refer to Naotoshi&#8217;s tutorial. Here I introduce .bat files used in my training. These files save good time to deal with command lines.</p>
<p>create_samples.bat</p>
<div class="code">
cd dir<br />
opencv_createsamples.exe -info ./contract_palm4/filelist.dat -vec ./contract_palm4/output.vec -num 7430 -bg ./neg3/filelist.dat -bgcolor 0 -w 20 -h 20<br />
pause<br />
exit
</div>
<p>haartraining.bat</p>
<div class="code">
echo &#8220;haartraining in progress&#8230;&#8221;<br />
cd opencv_haartraining.exe -data<br />
./contract_palm4/haarcascade -vec<br />
./contract_palm4/output.vec -bg ./neg3/filelist.dat -nstages 20 -nsplits 2 -minhitrate 0.999 -maxfalsealarm 0.0005 -weighttrimming = 0.95 -npos 7430 -nneg 4300 -w 20 -h 20 -mem 1024 -nonsym -mode ALL<br />
pause<br />
exit
</div>
<p>and, cascadeconvert.bat (opencv_cascadeconvert.exe is not included in openCV installation)</p>
<div class="code">
cd opencv_cascadeconvert.exe &#8211;size=&#8221;20&#215;20&#8243;<br />
./contract_palm4/haarcascade ./contract_palm4/haarcascade/CP04.xml<br />
pause<br />
exit</div>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/2042.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coming soon &#8211; closed palm detection in openCV</title>
		<link>http://www.andol.info/hci/2038.htm</link>
		<comments>http://www.andol.info/hci/2038.htm#comments</comments>
		<pubDate>Sat, 18 Aug 2012 21:01:16 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv mailing list]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2038</guid>
		<description><![CDATA[Coming soon&#8230; Due to the end of this year&#8217;s Google Summer of Code 2012 is approaching soon, the development of hand gesture detection plugin for Gstreamer is also going to be packed. As one of important outputs of this project, herewith I forecast the good results of natural hand gesture detection using openCV HAAR training [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/08/00098.jpg"><img class="alignnone size-thumbnail wp-image-2040" title="binary hand gesture" src="http://www.andol.info/wp-content/uploads/2012/08/00098-230x90.jpg" alt="binary hand gesture" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2012/08/00017.jpg"><img class="alignnone size-thumbnail wp-image-2039" title="binary hand gesture2" src="http://www.andol.info/wp-content/uploads/2012/08/00017-230x90.jpg" alt="binary hand gesture2" width="230" height="90" /></a></p>
<h3>Coming soon&#8230;</h3>
<p>Due to the end of this year&#8217;s Google Summer of Code 2012 is approaching soon, the development of hand gesture detection plugin for Gstreamer is also going to be packed. As one of important outputs of this project, herewith I forecast the good results of natural hand gesture detection using openCV HAAR training classifiers, mainly including the gestures of fist and closed palm.</p>
<p>Relevant posts regarding to this project, for example, how the call for hand gesture pictures was passively responded and how the classifier was going when insufficient samples were provided, will be published shortly in a series. Topics will cover:</p>
<p>1. Analysis of openCV&#8217;s face detection &#8211; the sample, method and performance<br />
2. Collection of own hand gesture samples &#8211; the call for pictures, training method, tool and results<br />
3. First trial of classifier training &#8211; the good and bad<br />
4. Improved classifier training &#8211; the changes and lessens learned<br />
5. Dead try &#8211; the keys to successful classifier training (samples and parameters)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/2038.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meet the Google Street car</title>
		<link>http://www.andol.info/life/2033.htm</link>
		<comments>http://www.andol.info/life/2033.htm#comments</comments>
		<pubDate>Mon, 13 Aug 2012 08:45:58 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2033</guid>
		<description><![CDATA[Met the google street car in the town twice yesterday. The fist time was on my way home, and the other time was at traffic lights &#8211; I was sitting in a bus and the google street car stopped beside me, so I could take photos easily.]]></description>
				<content:encoded><![CDATA[<p>Met the google street car in the town twice yesterday. The fist time was on my way home, and the other time was at traffic lights &#8211; I was sitting in a bus and the google street car stopped beside me, so I could take photos easily.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/08/IMG00726-20120811-1544.jpg"><img class="alignnone size-thumbnail wp-image-2034" title="google street car" src="http://www.andol.info/wp-content/uploads/2012/08/IMG00726-20120811-1544-230x90.jpg" alt="" width="230" height="90" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/08/IMG00727-20120811-1544.jpg"><img class="alignnone size-thumbnail wp-image-2035" title="google street car" src="http://www.andol.info/wp-content/uploads/2012/08/IMG00727-20120811-1544-230x90.jpg" alt="" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/2033.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hand gesture detection and recognition using openCV 2</title>
		<link>http://www.andol.info/hci/2020.htm</link>
		<comments>http://www.andol.info/hci/2020.htm#comments</comments>
		<pubDate>Tue, 10 Jul 2012 11:40:21 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2020</guid>
		<description><![CDATA[Before the example &#8211; why haar classifiers for hand gesture detection As mentioned in one of early articles such like hand gesture detection and recognition using openCV, there are two main ways to detect hand gestures, including skin colour segmentation and haar classifier training, although recently some feature-detecting algorithms are used to detect hand gestures [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/07/Screenshot-from-2012-07-10-120013.png"><img class="alignnone size-thumbnail wp-image-2021" title="hand gesture detect using openCV" src="http://www.andol.info/wp-content/uploads/2012/07/Screenshot-from-2012-07-10-120013-174x90.png" alt="hand gesture detect using openCV - demo" width="174" height="90" /></a></p>
<h3>Before the example &#8211; why haar classifiers for hand gesture detection</h3>
<p>As mentioned in one of early articles such like <a title="Hand gesture detection and recognition using openCV" href="http://www.andol.info/hci/895.htm"><strong>hand gesture detection and recognition using openCV</strong></a>, there are two main ways to detect hand gestures, including skin colour segmentation and haar classifier training, although recently some feature-detecting algorithms are used to detect hand gestures such like swift. Skin colour segmentation is a dead end &#8211; hand colours can be white, or black, or any other colours &#8211; depends on the varieties of environmental light conditions. So using a skin colour model (as in <a title="The colour range for HSV skin extraction" href="http://www.andol.info/hci/2010.htm">The colour range for HSV skin extraction</a>) with a specific colour range can do hand gesture recognition quite well in strict scenarios but this still faces tough challenges for other use.</p>
<p><span id="more-2020"></span></p>
<h3>The source codes</h3>
<div class="code">//============================================================================<br />
// Name : opencv_handdetect.cpp<br />
// Author : andol li, andol@andol.info<br />
// Version : 0.1<br />
// Copyright : 2012<br />
// Description : using haartraining results to detect the hand gesture of FIST in video stream.<br />
//<br />
//============================================================================<br />
#include &lt;opencv/cv.h&gt;<br />
#include &lt;opencv/cxcore.h&gt;<br />
#include &lt;opencv/highgui.h&gt;#include<br />
#include</p>
<p>using namespace cv;<br />
using namespace std;</p>
<p>const double scale = 1.1;</p>
<p>//1.0 api version<br />
CvMemStorage* storage = 0;<br />
CvHaarClassifierCascade* cascade = 0;<br />
void detectAndDraw(IplImage *input_image);<br />
const char* cascade_name = &#8220;fist.xml&#8221;;</p>
<p>//define the path to cascade file<br />
string cascadeName = &#8220;fist.xml&#8221;; /*ROBUST-fist detection haartraining file*/</p>
<p>int main()<br />
{<br />
//1.0 api version<br />
CvCapture *capture =0;<br />
IplImage *frame, *frame_copy = 0;<br />
cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 );<br />
if( !cascade ){<br />
fprintf( stderr, &#8220;ERROR: Could not load classifier cascade\n&#8221; );<br />
return -1;<br />
}<br />
storage = cvCreateMemStorage(0);<br />
capture = cvCaptureFromCAM(0);<br />
cvNamedWindow(&#8220;result&#8221;, 1);<br />
if(capture){<br />
for(;;){<br />
if(!cvGrabFrame(capture)) break;<br />
frame = cvRetrieveFrame( capture);<br />
if(!frame) break;<br />
if(!frame_copy) frame_copy = cvCreateImage(cvSize(frame-&gt;width, frame-&gt;height), IPL_DEPTH_8U, frame-&gt;nChannels);<br />
if(frame-&gt;origin == IPL_ORIGIN_TL)<br />
cvCopy(frame, frame_copy, 0);<br />
else<br />
cvFlip(frame, frame_copy, 0);<br />
detectAndDraw(frame_copy);<br />
if(cvWaitKey(10) &gt;= 0) break;<br />
}<br />
cvReleaseImage( &amp;frame_copy );<br />
cvReleaseCapture( &amp;capture );<br />
}</p>
<p>return 0;<br />
}</p>
<p>void detectAndDraw(IplImage *img)<br />
{<br />
double scale = 1.1;<br />
IplImage* temp = cvCreateImage( cvSize(img-&gt;width/scale,img-&gt;height/scale), 8, 3 );<br />
CvPoint pt1, pt2;<br />
int i;</p>
<p>cvClearMemStorage( storage );<br />
if(cascade){<br />
CvSeq* faces = cvHaarDetectObjects(<br />
img,<br />
cascade,<br />
storage,<br />
scale, 2, CV_HAAR_DO_CANNY_PRUNING,<br />
cvSize(24, 24) );<br />
for( i = 0; i &lt; (faces ? faces-&gt;total : 0); i++ )<br />
{<br />
CvRect* r = (CvRect*)cvGetSeqElem( faces, i );<br />
pt1.x = r-&gt;x*scale;<br />
pt2.x = (r-&gt;x+r-&gt;width)*scale;<br />
pt1.y = r-&gt;y*scale;<br />
pt2.y = (r-&gt;y+r-&gt;height)*scale;<br />
cvRectangle( img, pt1, pt2, CV_RGB(200, 0, 0), 1, 8, 0 );<br />
}<br />
}<br />
cvShowImage(&#8220;result&#8221;, img);<br />
cvReleaseImage( &amp;temp );<br />
}</p>
</div>
<p>it can be downloaded from here <a title="source codes - hand gesture detection and recognition using openCV" href="http://www.andol.info/wp-content/uploads/2012/07/hand-gesture-detect-source-codes.cpp_.zip">SOURCE CODES OF HAND GESTURE DETECTION AND RECOGNITION USING OPENCV</a>, relevant files/codes are for requests.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/2020.htm/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>2012 LONDON OLYMPIC torch relay in Huddersfield</title>
		<link>http://www.andol.info/life/2013.htm</link>
		<comments>http://www.andol.info/life/2013.htm#comments</comments>
		<pubDate>Sun, 24 Jun 2012 19:12:35 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2013</guid>
		<description><![CDATA[24-06-2012, 2012 London Olympic Torch Relay in Huddersfield.]]></description>
				<content:encoded><![CDATA[<p>24-06-2012, 2012 London Olympic Torch Relay in Huddersfield.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/06/IMG00673-20120624-1212.jpg"><img src="http://www.andol.info/wp-content/uploads/2012/06/IMG00673-20120624-1212-230x90.jpg" alt="torch relay in Huddersfield" title="IMG00673-20120624-1212" width="230" height="90" class="alignnone size-thumbnail wp-image-2014" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/06/IMG00685-20120624-1226.jpg"><img src="http://www.andol.info/wp-content/uploads/2012/06/IMG00685-20120624-1226-230x90.jpg" alt="torch relay in Huddersfield" title="IMG00685-20120624-1226" width="230" height="90" class="alignnone size-thumbnail wp-image-2016" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/06/IMG00675-20120624-1213.jpg"><img src="http://www.andol.info/wp-content/uploads/2012/06/IMG00675-20120624-1213-230x90.jpg" alt="torch relay in Huddersfield" title="IMG00675-20120624-1213" width="230" height="90" class="alignnone size-thumbnail wp-image-2015" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/2013.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The colour range for HSV skin extraction</title>
		<link>http://www.andol.info/hci/2010.htm</link>
		<comments>http://www.andol.info/hci/2010.htm#comments</comments>
		<pubDate>Sun, 20 May 2012 11:07:29 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand database]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=2010</guid>
		<description><![CDATA[The question raised about hsv colour values Several days ago I got an email from a developer who asked why there were differences in the hsv threshold values between my example and the theoretical values from a paper. Well, my answer is that my example was designed to fit with the specific environment the application [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/05/handHSVRange.png"><img class="alignnone size-thumbnail wp-image-2011" title="handHSVRange" src="http://www.andol.info/wp-content/uploads/2012/05/handHSVRange-230x90.png" alt="handHSVRange" width="230" height="90" /></a></p>
<h3>The question raised about hsv colour values</h3>
<p>Several days ago I got an email from a developer who asked why there were differences in the hsv threshold values between my example and the theoretical values from a paper. Well, my answer is that my example was designed to fit with the specific environment the application was implemented, which could be somehow smaller or larger than the theoretical range.</p>
<p><span id="more-2010"></span></p>
<h3>A simple demonstration</h3>
<p>As recently I am working on a hand posture/gesture recognition project, I am curious about how the range of the hand colour would be different from the previous example. So I wrote a little piece of code and followed the hsv value from a paper which talks about the statistical skin colour ranges between different populations. A range of H for asian population was used, as it was specified to be between <strong>0-50</strong>, and the range of S was between <strong>0.23-0.68</strong>.</h3>
<p>I had a quick run-out, and the results were showed as the first picture said, which seemed quite nice. But, as I moved my hands close to the window with rich sunshine, the palms became white and the colour range cannot recognise accurately any more.</p>
<h3>Conclusions</h3>
<p>Using hsv colour to extract skin areas in the picture is, indeed, an efficient way, based on current dominant computers it is a good way to have real-time results.</p>
<p>using hsv is not a very stable way that can be relied on to detect hand gestures, as demonstrated clearly above, the contextual environments had significant influence on the accuracy of the results.</p>
<p>Fortunately, only if, the environment the applications aim to use in, the hsv can be a good way to achieve your goal by <strong>carefully configuring the colour range</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/2010.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A failed example of hand gesture recognition using openCV haartraining classifiers</title>
		<link>http://www.andol.info/hci/1996.htm</link>
		<comments>http://www.andol.info/hci/1996.htm#comments</comments>
		<pubDate>Sun, 06 May 2012 15:36:08 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[hand database]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[opencv ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1996</guid>
		<description><![CDATA[This example aimed to provide a good classifier that was able to recognise a flat contract palm in videos, but the results, as demonstrated in the haar performance evaluation, turned out quite disappointed. Here I list the details of this example, including the first stage of sampler extract, creating samples, training samples, and the final [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/05/haartraining-result.png"><img class="alignnone size-thumbnail wp-image-1997" title="haartraining result" src="http://www.andol.info/wp-content/uploads/2012/05/haartraining-result-230x90.png" alt="haartraining result" width="230" height="90" /></a></p>
<p>This example aimed to provide a good classifier that was able to recognise a flat contract palm in videos, but the results, as demonstrated in the haar performance evaluation, turned out quite disappointed. Here I list the details of this example, including the first stage of sampler extract, creating samples, training samples, and the final evaluation.</p>
<p><span id="more-1996"></span>Note that this example was a very typical in terms of hand gesture recognition &#8211; it followed good procedural flows of haartraining and evaluation, but with low level accuracy of hand gesture recognition in video streams.</p>
<h3>What this example aimed to do?</h3>
<p>So far when I was typing these words there were still very few functions provided by openCV to be able to recognise natural hand gestures accurately, some laboratory demos may should improved recognition performance though.</p>
<p>For this reason, this example was proposed to provide a good hand gesture recognition function that was based on openCV haartraining. As a good starting point to detect complicated hand gestures, the example focused on flat contract palm gesture.</p>
<h3>Progresses</h3>
<p>The example started from collecting a good number of gesture pictures, as required by haartraining, both positive pictures and negative pictures were collected with 4,000-5,000 pictures each category. A simple picture sampler was described in one prior article here <a title="Writing a simple hand gesture picture sampler for classifier training" href="http://www.andol.info/hci/1991.htm"><strong>haartraining sample picture collector</strong></a>.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/05/hand-gestures.png"><img class="alignnone  wp-image-1999" title="hand gestures" src="http://www.andol.info/wp-content/uploads/2012/05/hand-gestures-414x240.png" alt="hand gestures" width="328" height="190" /></a></p>
<p>haartraining progresses:</p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/05/haartraining-start.png"><img class="alignnone size-large wp-image-2005" title="haartraining start" src="http://www.andol.info/wp-content/uploads/2012/05/haartraining-start-279x240.png" alt="haartraining start" width="279" height="240" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/05/haartraining-results.png"><img class="alignnone size-large wp-image-2001" title="haartraining results" src="http://www.andol.info/wp-content/uploads/2012/05/haartraining-results-161x240.png" alt="haartraining results" width="161" height="240" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/05/haartraining-results2.png"><img class="alignnone size-large wp-image-2002" title="haartraining results2" src="http://www.andol.info/wp-content/uploads/2012/05/haartraining-results2-161x240.png" alt="haartraining results2" width="161" height="240" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/05/haartraining-results3.png"><img class="alignnone size-large wp-image-2003" title="haartraining results3" src="http://www.andol.info/wp-content/uploads/2012/05/haartraining-results3-342x240.png" alt="haartraining results3" width="342" height="240" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/05/haartraining-results4.png"><img class="alignnone size-large wp-image-2004" title="haartraining results4" src="http://www.andol.info/wp-content/uploads/2012/05/haartraining-results4-342x240.png" alt="haartraining results4" width="342" height="240" /></a></p>
<p>all haartraining done until here.</p>
<p>//</p>
<h3>Outcomes</h3>
<p>Since the original outcomes of the haartraining were .txt files in respective folders, it needed a converter to produce .xml file for test use. The txt2xml converter can be found her <a href="http://www.andol.info/wp-content/uploads/2012/05/haar-converter.zip"><strong>haar converter</strong></a>.</p>
<p>Finally the test programme to see how the trained haar classifier worked with video streams. The test codes can be found here <a href="http://www.andol.info/wp-content/uploads/2012/05/hand-gesture-haar-test.zip"><strong>hand gesture haar test</strong></a>.</p>
<p>and the final outcomes:</p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/05/haartraining-performance.png"><img class="alignnone size-large wp-image-1998" title="haartraining performance" src="http://www.andol.info/wp-content/uploads/2012/05/haartraining-performance-347x240.png" alt="haartraining performance" width="347" height="240" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1996.htm/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Writing a simple hand gesture picture sampler for classifier training</title>
		<link>http://www.andol.info/hci/1991.htm</link>
		<comments>http://www.andol.info/hci/1991.htm#comments</comments>
		<pubDate>Wed, 02 May 2012 16:49:41 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1991</guid>
		<description><![CDATA[Progresses in training a classifier for hand gesture recognition is never an easy job, one of the difficulties that needs to overcome is the collection of sample images, both positive and negative. Collecting thousands of sample pictures for each hand gesture is a huge task that requires enormous time and energy on this. Also, inviting [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/05/hand-gestures.jpg"><img class="alignnone size-thumbnail wp-image-1992" title="hand gestures" src="http://www.andol.info/wp-content/uploads/2012/05/hand-gestures-230x90.jpg" alt="hand gestures" width="230" height="90" /></a></p>
<p>Progresses in training a classifier for hand gesture recognition is never an easy job, one of the difficulties that needs to overcome is the collection of sample images, both positive and negative. Collecting thousands of sample pictures for each hand gesture is a huge task that requires enormous time and energy on this. Also, inviting so many users to give hand gesture pictures seems a big challenge.</p>
<p><span id="more-1991"></span>Need a quick and dirty solution?</p>
<h3>A easy way</h3>
<p>Inspired by cambridge&#8217;s hand gesture database, in which there are a series of pictures having very similar hand gestures, My guess is that their sample work probably used video cameras as gestures sample sources. Indeed, it is quick and and easy &#8211; suppose one second&#8217;s video could generate 25 frames that means, 400 seconds (= 6 minutes 40 seconds) could give 10,000 hand gesture pictures, and the number is still growing.</p>
<h3>The automation tool</h3>
<p>It is wise to take good and many samples from videos, but is not so smart if doing the sampling work one frame by one frame &#8211; this should be done automatically!!!</p>
<p>For this reason, a simple programme was written in couple minutes. Using several basic functions in c++ and opencv 2.4, the source code can be found here &#8211; <a href="http://www.andol.info/wp-content/uploads/2012/05/hand-gesture-sampler.zip">hand gesture sampler</a>, or in download page in <strong>http://download.andol.info/hand%20gesture%20sampler.cpp</strong>.</p>
<h3>Test</h3>
<p>This little programme is able to control if taking samples when monitoring the webcam. By taking snapshots from webcam video streams, it makes taking the hand gesture samples much easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1991.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Needed!!! High quality positive/negative hand pictures needed!!!</title>
		<link>http://www.andol.info/hci/1989.htm</link>
		<comments>http://www.andol.info/hci/1989.htm#comments</comments>
		<pubDate>Wed, 25 Apr 2012 14:48:36 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[hand database]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[hand recognition]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv linux]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1989</guid>
		<description><![CDATA[Give me your hands!!! As a new hand gesture recognition project is launched recently, there is a strong need to collect a big number of good quality hand pictures &#8211; it is a pity I have only two hands. So I need your hands, do not worry, I am not using that for criminal purposes [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/04/baby-hand.gif"><img class="alignnone size-thumbnail wp-image-1990" title="baby-hand" src="http://www.andol.info/wp-content/uploads/2012/04/baby-hand-e1335364590389-216x90.gif" alt="baby-hand" width="216" height="90" /></a></p>
<p>Give me your hands!!!</p>
<p>As a new hand gesture recognition project is launched recently, there is a strong need to collect a big number of good quality hand pictures &#8211; it is a pity I have only two hands. So I need your hands, do not worry, I am not using that for criminal purposes nor for dangerous operations, just need some pictures to train my programme to be capable to recognise beautiful hands like yours.</p>
<p>And the most important thing is, <strong>you will be paid</strong> to contributing your hand or other people&#8217;s high quality pictures of hand. The requirements are simple as follows.</p>
<p><span id="more-1989"></span>1. a positive hand picture should be given with clear backgrounds, e.g. hands on white backgrounds;</p>
<p>2. a positive hand picture should be given together with a negative picture which does not have the hand in the picture;</p>
<p>3. note the resolution of pictures, should be at least 320*240;</p>
<p>4. try to cover as many as possible hand gestures;</p>
<p>5. zip and send the pictures to my email gsoc[at]andol.info, your payment will be subject to the quality of pictures provided.</p>
<p>Thanks in advance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1989.htm/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A new hand gesture recognition -related project launched</title>
		<link>http://www.andol.info/hci/1986.htm</link>
		<comments>http://www.andol.info/hci/1986.htm#comments</comments>
		<pubDate>Tue, 24 Apr 2012 08:25:51 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[hand recognition]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1986</guid>
		<description><![CDATA[A new project launching of hand gesture recognition in gstreamer &#8211; as the proposal to developing a gstreamer plugin for accurate hand gesture recognition in multimedia streams has been accepted successfully, more practical activities are going to start soon. The expected results of this project is to develop a gstreamer plugin that is capable to [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/04/GSoC2012_300x200.png"><img class="alignnone size-thumbnail wp-image-1987" title="GSoC2012_300x200" src="http://www.andol.info/wp-content/uploads/2012/04/GSoC2012_300x200-230x90.png" alt="GSoC2012_300x200" width="230" height="90" /></a></p>
<p>A new project launching of hand gesture recognition in gstreamer &#8211; as the proposal to developing a gstreamer plugin for accurate hand gesture recognition in multimedia streams has been accepted successfully, more practical activities are going to start soon. The expected results of this project is to develop a gstreamer plugin that is capable to support hand gesture index in video streams, also, recognising real time hand gestures in live video stream, thus enabling developers to build up advanced applications such like video playing control using fingers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1986.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using hand gestures to control mouse pointer in c sharp</title>
		<link>http://www.andol.info/hci/1981.htm</link>
		<comments>http://www.andol.info/hci/1981.htm#comments</comments>
		<pubDate>Sat, 17 Mar 2012 15:49:42 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[c sharp tutorials]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[hand recognitions]]></category>
		<category><![CDATA[mouse pointer control]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1981</guid>
		<description><![CDATA[Why mapping hand gestures to system mouse pointer controls? Hand gesture recognition, including hand gestures and movements, is becoming increasingly attractive. Many people are currently working on it to achieve natural interaction. One important step between hand gesture recognition and natural-interaction applications is to map detected hand gestures to system mouse pointer control. In one [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/03/mouse-cursor-hand-pointer.jpg"><img class="alignnone size-large wp-image-1982" title="mouse-cursor-hand-pointer" src="http://www.andol.info/wp-content/uploads/2012/03/mouse-cursor-hand-pointer-184x240.jpg" alt="mouse-cursor-hand-pointer" width="184" height="240" /></a></p>
<h3>Why mapping hand gestures to system mouse pointer controls?</h3>
<p>Hand gesture recognition, including hand gestures and movements, is becoming increasingly attractive. Many people are currently working on it to achieve natural interaction. One important step between hand gesture recognition and natural-interaction applications is to map detected hand gestures to system mouse pointer control. In one of previous articles <a title="Mapping object positions to mouse coordinates in openCV" href="http://www.andol.info/research/1756.htm"><strong>here</strong></a>. </p>
<p><span id="more-1981"></span>In this article an simple example is provided to demonstrate how to map detected hand gestures&#8217; movements to system mouse pointer position using <strong>c#</strong>.</p>
<h3>An example</h3>
<p>Because my current work is focusing on c#, this example is written in c#. For other programme languages, such as c++ and c, the principle is similar, the detail functions may be different though. </p>
<p>Below is the source codes of this example, comments are given to explain what does each line mean.</p>
<div class="code">
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Text;</p>
<p>using System.ComponentModel;<br />
using System.Data;<br />
using System.Drawing;<br />
using System.Text;<br />
using System.Windows.Forms;<br />
using System.Runtime.InteropServices;</p>
<p>namespace pointerCtrl<br />
{<br />
    class Program<br />
    {<br />
        //load system dll file user32.dll<br />
        [DllImport("user32.dll")]<br />
        //define a static function as entrance of user32.dll<br />
        static extern int SetCursorPos(int x, int y);</p>
<p>        //the main function<br />
        static void Main(string[] args)<br />
        {<br />
            //a 1000 loop<br />
            for (int i = 0; i < 1000; i++)<br />
            {<br />
                //key part: set mouse position to specific position<br />
                SetCursorPos(i, i);<br />
                //press any key to continue to next position<br />
                Console.ReadKey(true);<br />
            }<br />
        }<br />
    }<br />
}
</div>
<p><br/></p>
<h3>Step further &#8211; more operations with mouse pointer control</h3>
<p>There are other functions specified to take over system mouse pointer control.</p>
<div class="code">
   [DllImport("user32.dll")]<br />
   static extern void mouse_event(MouseEventFlag flags, int x, int y, unit data, UIntPrt extraInfo);<br />
   [Flags]<br />
   enum MouseEventFlag : Unit<br />
   {<br />
            Move = 0&#215;0001,<br />
            LeftDown = 0&#215;0002,<br />
            LeftUp = 0&#215;0004,<br />
            RightDown = 0&#215;0008,<br />
            RightUp = 0&#215;0010,<br />
            MiddleDown = 0&#215;0020,<br />
            MiddleUp = 0&#215;0040,<br />
            XDown = 0&#215;0080,<br />
            XUp = 0&#215;0100,<br />
            Wheel = 0&#215;0800,<br />
            VirtualDesk = 0&#215;4000,<br />
            Absolute = 0&#215;8000<br />
   }
</div>
<p>It is not working to use<br />
<em>mouse_event(MouseEventFlag.LeftDown, 100,100,0,UIntPtr.Zero)</em><br />
to trigger a mouse left button click at [10,10].</p>
<p>To realise that, there needs two steps.<br />
1) moving pointer to right position [10,10].<br />
2) triggering a left button click event, by using<br />
<em>mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero)</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1981.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8220;Silverlight.CSharp.targets was not found&#8221; problem</title>
		<link>http://www.andol.info/hci/1978.htm</link>
		<comments>http://www.andol.info/hci/1978.htm#comments</comments>
		<pubDate>Thu, 26 Jan 2012 15:44:48 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[compiling errors]]></category>
		<category><![CDATA[visual studio 2010]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1978</guid>
		<description><![CDATA[When I was building up a new silverlight project based on existing silverlight 3d template, I met a problem that said &#8216;error  : Unable to read the project file &#8216;OverlappingTabs.cspro &#8230; C:\Program Files\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets&#8221; was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.&#8217; This problem happened because of [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/vs2010-error.jpg"><img class="alignnone size-medium wp-image-1979" title="vs2010 error" src="http://www.andol.info/wp-content/uploads/2012/01/vs2010-error-202x190.jpg" alt="vs2010 error" width="202" height="190" /></a></p>
<p>When I was building up a new silverlight project based on existing silverlight 3d template, I met a problem that said &#8216;error  : Unable to read the project file &#8216;OverlappingTabs.cspro &#8230; C:\Program Files\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets&#8221; was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.&#8217;</p>
<p><span id="more-1978"></span>This problem happened because of the support of silverlight, as the visual studio 2010 did not have the required silverlight supporting files installed. To fix this problem, just setup &#8216;<a href="http://www.microsoft.com/download/en/confirmation.aspx?id=28358" title="http://www.microsoft.com/download/en/confirmation.aspx?id=28358" target="_blank"><strong>Microsoft® Silverlight® 5 Tools for Visual Studio® 2010 SP</strong>1</a>&#8216;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1978.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Chinese New Year of Dragon!!!</title>
		<link>http://www.andol.info/life/1976.htm</link>
		<comments>http://www.andol.info/life/1976.htm#comments</comments>
		<pubDate>Mon, 23 Jan 2012 10:22:32 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1976</guid>
		<description><![CDATA[Happy new year of dragon! &#160; picture quoted from http://mytechquest.com/wallpaper/20-lovely-chinese-new-year-of-dragon-2012-wallpapers/]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/chinese_new_year_dragon_2012_by_lemongraphic-04.jpg"><img class="alignnone size-medium wp-image-1977" title="chinese_new_year_dragon_2012_by_lemongraphic-04" src="http://www.andol.info/wp-content/uploads/2012/01/chinese_new_year_dragon_2012_by_lemongraphic-04-285x190.jpg" alt="chinese_new_year_dragon_2012_by_lemongraphic-04" width="285" height="190" /></a></p>
<div style="font-size: 24px; color: #c00;">Happy new year of dragon!</div>
<p>&nbsp;</p>
<address><span style="color: #c0c0c0;"><em>picture quoted from http://mytechquest.com/wallpaper/20-lovely-chinese-new-year-of-dragon-2012-wallpapers/</em></span></address>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1976.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breaking Asus Xtion pro into parts</title>
		<link>http://www.andol.info/hci/1963.htm</link>
		<comments>http://www.andol.info/hci/1963.htm#comments</comments>
		<pubDate>Sat, 21 Jan 2012 12:12:46 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv ubuntu]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[xtion pro]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1963</guid>
		<description><![CDATA[This post demonstrates the breaking down of xtion pro into parts. For more pictures reading the whole post.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00600-20120120-2139.jpg"><img class="alignnone size-medium wp-image-1964" title="IMG00600-20120120-2139" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00600-20120120-2139-253x190.jpg" alt="IMG00600-20120120-2139" width="253" height="190" /></a></p>
<p>This post demonstrates the breaking down of xtion pro into parts. For more pictures reading the whole post.</p>
<p><span id="more-1963"></span><a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00599-20120120-2139.jpg"><img class="alignnone size-medium wp-image-1974" title="IMG00599-20120120-2139" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00599-20120120-2139-253x190.jpg" alt="IMG00599-20120120-2139" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00598-20120120-2138.jpg"><img class="alignnone size-medium wp-image-1973" title="IMG00598-20120120-2138" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00598-20120120-2138-253x190.jpg" alt="IMG00598-20120120-2138" width="253" height="190" /></a><br />
<a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00597-20120120-2138.jpg"><img class="alignnone size-medium wp-image-1972" title="IMG00597-20120120-2138" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00597-20120120-2138-253x190.jpg" alt="IMG00597-20120120-2138" width="253" height="190" /></a><br />
<a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00596-20120120-2138.jpg"><img class="alignnone size-medium wp-image-1971" title="IMG00596-20120120-2138" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00596-20120120-2138-253x190.jpg" alt="IMG00596-20120120-2138" width="253" height="190" /></a><br />
<a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00595-20120120-2137.jpg"><img class="alignnone size-medium wp-image-1970" title="IMG00595-20120120-2137" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00595-20120120-2137-253x190.jpg" alt="IMG00595-20120120-2137" width="253" height="190" /></a><br />
<a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00605-20120120-2141.jpg"><img class="alignnone size-medium wp-image-1969" title="IMG00605-20120120-2141" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00605-20120120-2141-253x190.jpg" alt="IMG00605-20120120-2141" width="253" height="190" /></a><br />
<a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00604-20120120-2141.jpg"><img class="alignnone size-medium wp-image-1968" title="IMG00604-20120120-2141" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00604-20120120-2141-253x190.jpg" alt="IMG00604-20120120-2141" width="253" height="190" /></a><br />
<a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00603-20120120-2140.jpg"><img class="alignnone size-medium wp-image-1967" title="IMG00603-20120120-2140" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00603-20120120-2140-253x190.jpg" alt="IMG00603-20120120-2140" width="253" height="190" /></a><br />
<a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00602-20120120-2140.jpg"><img class="alignnone size-medium wp-image-1966" title="IMG00602-20120120-2140" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00602-20120120-2140-253x190.jpg" alt="IMG00602-20120120-2140" width="253" height="190" /></a><br />
<a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00601-20120120-2139.jpg"><img class="alignnone size-medium wp-image-1965" title="IMG00601-20120120-2139" src="http://www.andol.info/wp-content/uploads/2012/01/IMG00601-20120120-2139-253x190.jpg" alt="IMG00601-20120120-2139" width="253" height="190" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1963.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The error of &#8216;VIDIOC_QUERYMENU: Invalid argument&#8217;</title>
		<link>http://www.andol.info/hci/1961.htm</link>
		<comments>http://www.andol.info/hci/1961.htm#comments</comments>
		<pubDate>Thu, 19 Jan 2012 21:11:42 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1961</guid>
		<description><![CDATA[When I was writing a simple example of OpenCV below, an repeating error happened as &#8216;VIDIOC_QUERYMENU:Invalid argument&#8217;. Is this because the Qt for drawing the output of openCV? The code The code that caused the above error is like this: #include &#8220;opencv2/highgui/highgui.hpp&#8221; #include &#8220;opencv2/core/core.hpp&#8221; #include &#8220;opencv2/imgproc/imgproc.hpp&#8221; #include &#8220;opencv2/video/video.hpp&#8221; using namespace cv; // #include using namespace [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-C-C++-rgbwebcam-src-rgbwebcam.cpp-Eclipse-SDK-.png"><img class="alignnone size-medium wp-image-1962" title="Screenshot-C-C++ - rgbwebcam-src-rgbwebcam.cpp - Eclipse SDK" src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-C-C++-rgbwebcam-src-rgbwebcam.cpp-Eclipse-SDK--391x190.png" alt="Screenshot-C-C++ - rgbwebcam-src-rgbwebcam.cpp - Eclipse SDK" width="391" height="190" /></a></p>
<p>When I was writing a simple example of OpenCV below, an repeating error happened as &#8216;VIDIOC_QUERYMENU:Invalid argument&#8217;. </p>
<p><span id="more-1961"></span>Is this because the Qt for drawing the output of openCV?</p>
<h3>The code</h3>
<p>The code that caused the above error is like this:</p>
<div class="code">
#include &#8220;opencv2/highgui/highgui.hpp&#8221;<br />
#include &#8220;opencv2/core/core.hpp&#8221;<br />
#include &#8220;opencv2/imgproc/imgproc.hpp&#8221;<br />
#include &#8220;opencv2/video/video.hpp&#8221;<br />
using namespace cv;<br />
//<br />
#include <iostream><br />
using namespace std;<br />
//<br />
int main(int argc, char *argv[])<br />
{<br />
    VideoCapture cap(0);<br />
    Mat frame;<br />
    for(;;)<br />
    {<br />
        cap >> frame;<br />
        imshow(&#8220;frame&#8221;,frame);<br />
        if(waitKey(30) == 27) break;<br />
    }<br />
    return 0;<br />
}
</div>
<p>The error happened when initialising the webcam, but the webcam was working fine even though the errors were given in the console window.</p>
<h3>The fix</h3>
<p>From a post from stackoverflow, this problem was</p>
<blockquote><p>
with Qt handling its own event loop and thus the event loop of OpenCV is starved and never get run.</p>
<p>The way to get them to work together is quite simple: Display your OpenCV as a QPixmap (by convert your image to QImage then use QLabel to display it). Then add this QLabel to your QWidget. Your QWidget can either be embedded or become the main widget of your QApplication.
</p></blockquote>
<p>But it may not be so easy to get rid of, as other posts also mentioned that</p>
<blockquote><p>
You can&#8217;t mix openCV&#8217;s control of the event loop and qt&#8217;s app.exec</p>
<p>Either use the Qt flavour of the cvNamedWindow, or simple grab images from openCV and display them in a QLabel. Or better inherit from QWidget and write your own QImage painter</p>
<div class="code">
void OpencvWidget::paintEvent(QPaintEvent*)<br />
{<br />
    //m_win is the window size<br />
    QPainter p(this);<br />
    p.drawImage(m_win,m_image,m_image.rect());</p>
<p>}
</p></div>
</blockquote>
<h3>The best way to fix &#8216;VIDIOC_QUERYMENU:Invalid argument&#8217;</h3>
<blockquote><p>
I have faced a similar problem recently (displaying webcam information using OpenCV and Qt as the final GUI). The best way that I find out to play the video (which is basically a set of images) is to use a GLWidget.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1961.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu 11.04, ASUS Xtion pro, ARM and OpenNI</title>
		<link>http://www.andol.info/hci/1949.htm</link>
		<comments>http://www.andol.info/hci/1949.htm#comments</comments>
		<pubDate>Wed, 18 Jan 2012 16:10:18 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[openni]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[opencv ubuntu]]></category>
		<category><![CDATA[openni nite]]></category>
		<category><![CDATA[openni xtion]]></category>
		<category><![CDATA[openni xtion install]]></category>
		<category><![CDATA[ubuntu 11.04]]></category>
		<category><![CDATA[ubuntu openni]]></category>
		<category><![CDATA[ubuntu x86 nite]]></category>
		<category><![CDATA[ubuntu xtion]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1949</guid>
		<description><![CDATA[This is a brief summary of the work that has been done previously, including the ubuntu 11.04 install, Xtion depth camera setting, openCV 2.3.1 installing, and the final openNI install and configure. Because this is an overview of the past work, the source codes are not included here. Ubuntu 11.04 on pandaboard The installation of [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/IMG00594-20120112-2239.jpg"><img src="http://www.andol.info/wp-content/uploads/2012/01/IMG00594-20120112-2239-253x190.jpg" alt="IMG00594-20120112-2239" title="IMG00594-20120112-2239" width="253" height="190" class="alignnone size-medium wp-image-1955" /></a></p>
<p>This is a brief summary of the work that has been done previously, including the ubuntu 11.04 install, Xtion depth camera setting, openCV 2.3.1 installing, and the final openNI install and configure. </p>
<p><span id="more-1949"></span>Because this is an overview of the past work, the source codes are not included here.</p>
<h3>Ubuntu 11.04 on pandaboard</h3>
<p>The installation of Ubuntu 11.04 in the pandaboard did spend me some time. Since there was no hard drive in the pandaboard the SD card was specified to play that role. This means the whole Ubuntu 11.04 system should be written to the SD card. Especially, the becaue the pandaboard was based on ARM cup, it needed a special version of ubuntu &#8211; a pre-install ubuntu version for OMAP4. Downloading the system image, then the system install stared. </p>
<p>The hard part I met was not in the downloading, but the image system writing. Since the image was formated in RAW image, normal image burning software e.g. nero was not able to burn such image. Although the official instruction in ubuntu provided <a href="http://www.andol.info/hci/1808.htm" title="Burning Ubuntu in SD card" target="_blank"><strong>the instructions of burning the system image</strong></a> within three different systems windows, linux, and mac. </p>
<p>The instruction of windows system was not working. A disk writer software called &#8216;disimagewriter&#8217; did not work functionally, at least in my and my coleagues&#8217; computers. And currently, there was no other software that could do the same thing. I had a macbook but unfortunately the official instructions were not lucky to me. </p>
<p>Finally I found a shortcut. I downloaded a software to mount the RAW image as a system drive, and then used another software to copy the whole disk drive to another. In other words, I copied the RAW image -based drive to the SD card drive. It turned out successfully. The details can be reached <a href="http://www.andol.info/hci/1850.htm" title="Doing openCV in pandaboard 3 – successful installation" target="_blank"><strong>here</strong></a>. </p>
<p>After an installation the ubuntu now was running on the pandaboard &#8211; feels pretty good, but the wifi signal sucked.</p>
<h3>Webcams and the Xtion depth camera</h3>
<h3>Install openCV 2.3.1 in Ubuntu 11.04 with pandaboard</h3>
<p>Ubuntu systems have good supports for webcams, but most of these are based on normal x86/x64 systems, not for ARM systems. I was worried about this problem, as the cameras to use with the system were quite special &#8211; not only the rgb webcams, but also the depth camera from ASUS Xtion pro camera. </p>
<p>A good way to use the cameras and to get proper drivers is to install some universal drivers, such as v4l, and ffmpeg. </p>
<p>During<a href="http://www.andol.info/hci/1940.htm" title="Fixing ‘ QMainWindow: No such file or directory’ in v4l installation with Ubuntu" target="_blank"> <strong>the install of openCV in the system</strong></a>, these libraries were particularly important. </p>
<h3>Install openNI, NITE and depth camera driver for natural interaction app development</h3>
<p>Install openNI for ARM-linux was quite easy, as there were three key components ready to download in the <a href="http://openni.org" title="openni offical site" target="_blank"><strong>openni.org</strong> </a>.</p>
<p>Downloading the unstable versions &#8211; openNI binary for ARM, sensor openNI for ARM, unzipping the packages and using the <strong><em>sudo ./install.sh&#8217;</em></strong> command to complete the install. </p>
<p>* be aware of that, there is currently no openNI middleware package for ARM -based linux system, which means, some of the advanced features of openNI such like &#8216;user generators&#8217; and &#8216;skeleton generators&#8217; could not be used. The middleware for linux x86 was tested, but with no luck. The error&#8217; <a href="http://www.andol.info/hci/1952.htm " title="openni error - one or more of the following nodes could not be enumerated" target="_blank"><strong>one or more of the following nodes could not be enumerated</strong></a>&#8216; was actually caused by that factor.</p>
<p>Anyway, I ve got rgb and depth images to use. Hopefully the middleware for arm-linux comes out sooner.</p>
<h3>The summary</h3>
<p>It is hard to describe all details in a short post. As posted in the previous articles, the lessens learnt from the whole procedures are valuable, and more important, I wish these would be shared to give guidances to other people&#8217;s work. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1949.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Unknown error: &#8216;One or more of the following nodes could not be enumerated:&#8217;</title>
		<link>http://www.andol.info/hci/1952.htm</link>
		<comments>http://www.andol.info/hci/1952.htm#comments</comments>
		<pubDate>Mon, 16 Jan 2012 10:18:40 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[openni]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[motion sensor xtion]]></category>
		<category><![CDATA[opencv ubuntu]]></category>
		<category><![CDATA[openni linux]]></category>
		<category><![CDATA[openni linux-arm]]></category>
		<category><![CDATA[openni omap4]]></category>
		<category><![CDATA[openni xtion]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1952</guid>
		<description><![CDATA[ERROR &#8211; &#8216;One or more of the following nodes could not be enumerated:&#8217; STATUS: not solved yet &#8211; still a big headache Xn::UserGenerator and OpenNI Install OpenNI in Linux with Arm is never a easy job &#8211; few people work on it &#8211; most of the work is based on windows and kinect rather than [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop-Documents-OpenNI-1.5.2.23-Platform-Linux-Bin-Arm-Release.png"><img src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop-Documents-OpenNI-1.5.2.23-Platform-Linux-Bin-Arm-Release-219x190.png" alt="Screenshot-cw418@hud-desktop: ~-Documents-OpenNI-1.5.2.23-Platform-Linux-Bin-Arm-Release" title="Screenshot-cw418@hud-desktop: ~-Documents-OpenNI-1.5.2.23-Platform-Linux-Bin-Arm-Release" width="219" height="190" class="alignnone size-medium wp-image-1953" /></a></p>
<p>ERROR &#8211; &#8216;One or more of the following nodes could not be enumerated:&#8217;</p>
<p><span id="more-1952"></span>STATUS: not solved yet &#8211; still a big headache</p>
<h3>Xn::UserGenerator and OpenNI</h3>
<p>Install OpenNI in Linux with Arm is never a easy job &#8211; few people work on it &#8211; most of the work is based on windows and kinect rather than ubuntu and xtion and the arm board, and little experience is shared over the internet. So when I tried to run the usertracker example from the sample folder, I got this error with no luck or idea. </p>
<p>The thing is that, I installed OpenNI, NITE and driver, that referred to the install work of others &#8211; sorry not to mention a few here. The simpleviewer example worked fine, the image and depth maps were successfully captured.</p>
<p>But, the problem happened when &#8211; creating usergenerators, like:</p>
<div class="code">
Xn::Context g_context;<br />
Xn::UserGenerator g_user;<br />
rc = g_user.Create(g_context);<br />
//print out rc, it was not XN_STATUS_OK, in specific, it showed the error above.
</div>
<h3>Help needed</h3>
<p>ImageGenerator and DepthGenerator have been tested with well working. Any other generators do not work, and keep giving the same error.</p>
<p>Any ideas would be very much appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1952.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>HIGHGUI ERROR: V4L: index 0 is not correct</title>
		<link>http://www.andol.info/hci/1950.htm</link>
		<comments>http://www.andol.info/hci/1950.htm#comments</comments>
		<pubDate>Sat, 14 Jan 2012 19:55:17 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[opencv ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1950</guid>
		<description><![CDATA[When I moved the openCV development platform from the home to the office, a wired thing happened &#8211; the programme that I debugged smoothly in the home did not work at all in the office &#8211; even the simplest openCV camera view example, and the error said that &#8211; &#8216;HIGHGUI ERROR: V4L: index 0 is [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop-workspace-readwebcam-src.png"><img class="alignnone size-medium wp-image-1951" title="Screenshot-cw418@hud-desktop: ~-workspace-readwebcam-src" src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop-workspace-readwebcam-src-273x190.png" alt="Screenshot-cw418@hud-desktop: ~-workspace-readwebcam-src" width="273" height="190" /></a></p>
<p>When I moved the openCV development platform from the home to the office, a wired thing happened &#8211; the programme that I debugged smoothly in the home did not work at all in the office &#8211; even the simplest openCV camera view example, and the error said that &#8211; &#8216;<strong>HIGHGUI ERROR: V4L: index 0 is not correct</strong>&#8216; &#8211; but nothing of openCV configurations were changed at all!</p>
<p><span id="more-1950"></span>So, where was the error from and, how to fix that wired error?</p>
<h3>What caused this error?</h3>
<p>Firstly I searched google for &#8216;HIGHGUI ERROR: V4L: index 0 is not correct&#8217;. This issue should be relevant with V4L.</p>
<p>Some pages the search results suggested to remove the v4l in Ubuntu, and then reinstall it again cleanly.</p>
<p>Some others suggested that re-configure and compile the openCV 2.3.1 might be solving the problem &#8211; as there was a file called &#8216;cvcap_libv4l.cpp&#8217; in the source compiling folder, and a bug function was called in that file &#8211; find a line with &#8216;<strong>mman</strong>&#8216; function, and it supposed to be &#8216;<strong>libv4l_mman</strong>&#8216;.</p>
<p>But, reconfiguring and re-compiling the openCV? That would take ages!</p>
<h3>The unexpected solution</h3>
<p>Before starting the re-compiling thing, be aware of this &#8211; the camera, yes, the camera!</p>
<p>Changing another camera may help? Why not bother to have a dead try?!</p>
<p>Oh-my&#8212; my camera was not plugged in!!!</p>
<p>Plugged in the camera, bingo~ everything worked fine.</p>
<h3>Appendix &#8211; reading images from the webcam</h3>
<div class="code">
#include &#8220;opencv2/video/tracking.hpp&#8221;<br />
#include &#8220;opencv2/imgproc/imgproc.hpp&#8221;<br />
#include &#8220;opencv2/highgui/highgui.hpp&#8221;<br />
#include &#8220;opencv2/core/core.hpp&#8221;</p>
<p>#include <iostream><br />
using namespace std;<br />
using namespace cv;</p>
<p>int main(int, char**)<br />
{<br />
    VideoCapture <strong>cap(0)</strong>; // open the default camera, here generates the camera issue<br />
    if(!cap.isOpened())  // check if webcam open succeeded<br />
        {cout<<"!!!camera not opened."<<endl; return -1;}</p>
<p>    Mat frame;</p>
<p>    namedWindow("edges",1);<br />
    for(;;)<br />
    {<br />
        cap >> frame; // get a new frame from camera<br />
        imshow(&#8220;edges&#8221;, frame);<br />
        if(waitKey(30) >= 0) break;<br />
    }<br />
    // the camera will be deinitialized automatically in VideoCapture destructor<br />
    return 0;<br />
}
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1950.htm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Capturing images from webcams using openCV in Ubuntu 11.04</title>
		<link>http://www.andol.info/hci/1909.htm</link>
		<comments>http://www.andol.info/hci/1909.htm#comments</comments>
		<pubDate>Fri, 13 Jan 2012 23:35:54 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv image]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv omap4]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[opencv ubuntu]]></category>
		<category><![CDATA[opencv video capture]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1909</guid>
		<description><![CDATA[This is a simple example of capturing live images from webcams using the new installed OpenCV 2.3.1 in the Ubuntu. The relevant information of OpenCV 2.3.1 install can see my previous posts - Installing openCV in Ubuntu with pandaboard part 1 Installing openCV in Ubuntu with pandaboard part 2 Installing openCV in Ubuntu with pandaboard [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/opencv-2.3.1-video-capture-image.png"><img class="alignnone size-medium wp-image-1944" title="opencv 2.3.1-video-capture-image" src="http://www.andol.info/wp-content/uploads/2011/12/opencv-2.3.1-video-capture-image-e1325979460922-243x190.png" alt="opencv 2.3.1-video-capture-image" width="243" height="190" /></a></p>
<p>This is a simple example of capturing live images from webcams using the new installed OpenCV 2.3.1 in the Ubuntu. The relevant information of OpenCV 2.3.1 install can see my previous posts -</p>
<p><strong><br />
<a title="Installing openCV in Ubuntu with pandaboard part 1" href="http://www.andol.info/hci/1870.htm">Installing openCV in Ubuntu with pandaboard part 1</a><br />
<a title="Installing openCV in Ubuntu with pandaboard part 2" href="http://www.andol.info/hci/1873.htm">Installing openCV in Ubuntu with pandaboard part 2</a><br />
<a title="Installing openCV in Ubuntu with pandaboard part 3 – the network proxy" href="http://www.andol.info/hci/1886.htm">Installing openCV in Ubuntu with pandaboard part 3 – the network proxy</a><br />
<a title="Installing openCV in Ubuntu with pandaboard part 4 – compiling openCV 2.3.1" href="http://www.andol.info/hci/1884.htm">Installing openCV in Ubuntu with pandaboard part 4 – compiling openCV 2.3.1</a><br />
<a title="Installing openCV in Ubuntu with pandaboard part 5 – running openCV 2.3.1 examples" href="http://www.andol.info/hci/1901.htm">Installing openCV in Ubuntu with pandaboard part 5 – running openCV 2.3.1 examples</a>, and<br />
<a title="Tutorial: A Comprehensive Guide to Installing and Configuring OpenCV 2.3.1 on Ubuntu" href="http://ozbots.org/opencv-installation/#comment-1562" target="_blank">Tutorial: A Comprehensive Guide to Installing and Configuring OpenCV 2.3.1 on Ubuntu</a><br />
</strong></p>
<p><span id="more-1909"></span>This simple example includes lines of source codes using the new OpenCV API, for your convenience.</p>
<h3>The source code</h3>
<div class="code">#include &#8220;opencv2/video/tracking.hpp&#8221;<br />
#include &#8220;opencv2/imgproc/imgproc.hpp&#8221;<br />
#include &#8220;opencv2/highgui/highgui.hpp&#8221;<br />
#include &#8220;opencv2/core/core.hpp&#8221;#include<br />
using namespace std;<br />
using namespace cv;int main(int, char**)<br />
{<br />
VideoCapture cap(0); // open the default camera<br />
if(!cap.isOpened()) // check if we succeeded<br />
{cout&lt;</p>
<p>g++ `pkg-config opencv &#8211;cflags` `pkg-config opencv &#8211;libs` readwebcam.cpp -o readwebcam</p>
</div>
<h3>The source file compiling</h3>
<p>Save the source file as &#8216;readwebcam&#8217; for example, go to the directory containing the file.</p>
<p>Open the terminal, and type in the command like:</p>
<div class="code">
<p>g++ `pkg-config opencv &#8211;cflags` `pkg-config opencv &#8211;libs` readwebcam.cpp -o readwebcam</p>
</div>
<p>Then run it:</p>
<div class="code">
<p>./readwebcam</p>
</div>
<p>Here it is! Now let&#8217;s start rocking the hand gesture recognition!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1909.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing &#8216;[libavutil/libavutil.so.51] Error 1&#8242; in ffmpeg make for openCV 2.3.1 install</title>
		<link>http://www.andol.info/hci/1942.htm</link>
		<comments>http://www.andol.info/hci/1942.htm#comments</comments>
		<pubDate>Wed, 11 Jan 2012 11:49:39 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[pandaboard]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1942</guid>
		<description><![CDATA[This post describes an error and its solution in ffmpeg make for openCV install. It is based on Osman&#8217;s comprehensive troubleshooting of openCV 2.3.1 installing and configuring, but adds an additional error &#8211; &#8216;[libavutil/libavutil.so.51] Error 1&#8216; and the solution. This error happens when running &#8216;make&#8217; command after the ffmpeg configuration. It is a fatal error [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop-Documents-OpenCV-2.3.1-build-1.png"><img src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop-Documents-OpenCV-2.3.1-build-1-240x190.png" alt="Screenshot-cw418@hud-desktop: ~-Documents-OpenCV-2.3.1-build-1" title="Screenshot-cw418@hud-desktop: ~-Documents-OpenCV-2.3.1-build-1" width="240" height="190" class="alignnone size-medium wp-image-1943" /></a></p>
<p>This post describes an error and its solution in ffmpeg make for openCV install. It is based on <a href="http://ozbots.org/opencv-install-troubleshooting/" title="opencv 2.3.1 install troubleshooting" target="_blank"><strong>Osman&#8217;s comprehensive troubleshooting of openCV 2.3.1 installing and configuring</strong></a>, but adds an additional error &#8211; &#8216;<strong>[libavutil/libavutil.so.51] Error 1</strong>&#8216; and the solution.</p>
<p><span id="more-1942"></span>This error happens when running &#8216;make&#8217; command after the ffmpeg configuration. It is a fatal error which directly stops the make process and fails the ffmpeg install.</p>
<h3>why &#8216;[libavutil/libavutil.so.51] Error 1&#8242; happens</h3>
<p>Osman&#8217;s configurations for ffmpeg install are like this:</p>
<div class="code">
<em>./configure &#8211;enable-gpl &#8211;enable-libfaac &#8211;enable-libmp3lame &#8211;enable-libopencore-amrnb &#8211;enable-libopencore-amrwb &#8211;enable-libtheora &#8211;enable-libvorbis &#8211;enable-libx264 &#8211;enable-libxvid &#8211;enable-nonfree &#8211;enable-postproc &#8211;enable-version3 &#8211;enable-x11grab</em>
</div>
<p>This was used in my first ffmpeg install, and was added with another line as:</p>
<div class="code">
&#8211;enable-shared &#8211;enable-pic #sorry forgot which prior error this line addressed
</div>
<p>But the result turned out this error &#8211; [libavutil/libavutil.so.51] Error 1</p>
<h3>The solution</h3>
<p>It was suggested over the internet that this problem was caused by the lack of &#8216;libvpx&#8217; &#8211; this was essential to be used with &#8216;&#8211;enable-shared&#8217;.</p>
<p>So, clean the previous make using &#8216;make clean&#8217; or &#8216;make distclean&#8217;, then re-configure the install as:</p>
<div class="code">
./configure <strong>&#8211;enable-shared &#8211;enable-libvpx &#8211;enable-pic</strong> &#8211;enable-gpl &#8211;enable-libfaac &#8211;enable-libmp3lame &#8211;enable-libopencore-amrnb &#8211;enable-libopencore-amrwb &#8211;enable-libtheora &#8211;enable-libvorbis &#8211;enable-libx264 &#8211;enable-libxvid &#8211;enable-nonfree &#8211;enable-postproc &#8211;enable-version3 &#8211;enable-x11grab
</div>
<p>Then &#8216;make&#8217; &#8211; bingo~ errors gone!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1942.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fixing &#8216; QMainWindow: No such file or directory&#8217; in v4l installation with Ubuntu</title>
		<link>http://www.andol.info/hci/1940.htm</link>
		<comments>http://www.andol.info/hci/1940.htm#comments</comments>
		<pubDate>Tue, 10 Jan 2012 09:30:56 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[opencv ubuntu]]></category>
		<category><![CDATA[ubuntu opencv compiling]]></category>
		<category><![CDATA[ubuntu v4l]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1940</guid>
		<description><![CDATA[Thanks to the comprehensive troubleshooting guide to opencv installation posted by Osman, some install errors could be referred and fixed. But some errors are not included in that guide, as the chance of the error is various. The point of this post is to add another minor error that encountered in my v4l making for [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop-Documents-OpenCV-2.3.1-build.png"><img class="alignnone size-thumbnail wp-image-1941" title="Screenshot-cw418@hud-desktop: ~-Documents-OpenCV-2.3.1-build" src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop-Documents-OpenCV-2.3.1-build-230x90.png" alt="Screenshot-cw418@hud-desktop: ~-Documents-OpenCV-2.3.1-build" width="230" height="90" /></a></p>
<p>Thanks to the <a href="http://ozbots.org/opencv-install-troubleshooting/" title="opencv install troubleshooting" target="_blank"><strong>comprehensive troubleshooting guide to opencv installation</strong></a> posted by Osman, some install errors could be referred and fixed. But some errors are not included in that guide, as the chance of the error is various. </p>
<p><span id="more-1940"></span>The point of this post is to add another minor error that encountered in my v4l making for opencv installing. </p>
<h3>&#8216;QMainWindow: No such file or directory&#8217;</h3>
<p>&#8216;No such file or directory&#8217;, this type of error used to be caused by the lack of some libraries not installed yet. The potential ways to fix these are to install the lacked libs, of course. But it may take a little time to check which libs are lacked, as the error message used to tell limited information.</p>
<p>In this example, &#8216;QMainWindow&#8217; turned out to be relevant with libqt4-dev after a quick search in the internet. So, using the command below could easily solve that problem.</p>
<div class="code">
sudo apt-get install libaqt4-dev
</div>
<p>Carrying on the installation until it finishes. Then redo the v4l make, binggo~ the problem&#8217;s gone!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1940.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The first set of images captured from the Xtion pro with Ubuntu on Pandaboard</title>
		<link>http://www.andol.info/hci/1936.htm</link>
		<comments>http://www.andol.info/hci/1936.htm#comments</comments>
		<pubDate>Sun, 08 Jan 2012 09:13:32 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[openni]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand database]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[openni instsall]]></category>
		<category><![CDATA[openni linux]]></category>
		<category><![CDATA[openni linux-arm]]></category>
		<category><![CDATA[openni omap4]]></category>
		<category><![CDATA[openni tutorials]]></category>
		<category><![CDATA[openni xtion]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1936</guid>
		<description><![CDATA[The initial outcomes of the OpenNI installation A previous post has described an overall progress of installing OpenNI in Linux-arm -based pandaboard with Xtion pro. This post is a sequence of the instsallation, which demonstrates the success of OpenNI installation, and the working of Xtion pro with Linux-arm Ubuntu. Subsequent developments The first depth image [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot.png"><img class="alignnone size-medium wp-image-1937" title="Screenshot - xtion depth image 1" src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-263x190.png" alt="Screenshot - xtion depth image 1" width="263" height="190" /></a></p>
<h3>The initial outcomes of the OpenNI installation</h3>
<p>A previous post has described an overall progress of<a title="Installing OpenNI for Linux-ARM in Ubuntu Pandaboard" href="http://www.andol.info/hci/1924.htm" target="_blank"><strong> installing OpenNI in Linux-arm -based pandaboard with Xtion pro</strong></a>. This post is a sequence of the instsallation, which demonstrates the success of OpenNI installation, and the working of Xtion pro with Linux-arm Ubuntu.</p>
<p><span id="more-1936"></span><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-OpenNI-Simple-Viewer.net-1.png"><img class="alignnone size-medium wp-image-1939" title="Screenshot-OpenNI Simple Viewer.net-1" src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-OpenNI-Simple-Viewer.net-1-265x190.png" alt="Screenshot-OpenNI Simple Viewer.net-1" width="265" height="190" /></a></p>
<h3>Subsequent developments</h3>
<p>The first depth image in this post reminds me a potential breakthrough of hand detection &#8211; the fingers could be easily extracted from the backgrounds, no matter how complicated these are. Combined with the OpenCV 2.3.1 installed days ago, the hand detection could be developing some interesting applications.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-OpenNI-Simple-Viewer.net_.png"><img class="alignnone size-medium wp-image-1938" title="Screenshot-OpenNI Simple Viewer.net" src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-OpenNI-Simple-Viewer.net_-265x190.png" alt="Screenshot-OpenNI Simple Viewer.net" width="265" height="190" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1936.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing OpenNI for Linux-ARM in Ubuntu Pandaboard</title>
		<link>http://www.andol.info/hci/1924.htm</link>
		<comments>http://www.andol.info/hci/1924.htm#comments</comments>
		<pubDate>Sat, 07 Jan 2012 11:04:39 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[openni]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[openni linux]]></category>
		<category><![CDATA[openni linux-arm]]></category>
		<category><![CDATA[openni omap4]]></category>
		<category><![CDATA[openni xtion]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1924</guid>
		<description><![CDATA[About OpenNI OpenNI has shown some lights to natural interactions by using depth map images together with RGB images from cameras. Natural human gestures, e.g. hand moving, limbs movements are all being developed fast. Microsoft Kinect is a typical example that demonstrated the huge potential of the OpenNI in terms of game applications. While, more [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop_-Documents-OpenNI-Platform-Linux-Build-1-make-install.png"><img class="alignnone size-medium wp-image-1929" title="Screenshot-cw418@hud-desktop_ ~-Documents-OpenNI-Platform-Linux-Build-1-make-install" src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-cw418@hud-desktop_-Documents-OpenNI-Platform-Linux-Build-1-make-install-126x190.png" alt="Screenshot-cw418@hud-desktop_ ~-Documents-OpenNI-Platform-Linux-Build-1-make-install" width="126" height="190" /></a></p>
<h3>About OpenNI</h3>
<p>OpenNI has shown some lights to natural interactions by using depth map images together with RGB images from cameras. Natural human gestures, e.g. hand moving, limbs movements are all being developed fast. Microsoft Kinect is a typical example that demonstrated the huge potential of the OpenNI in terms of game applications. While, more work could be done with OpenNI, with other devices that could capture depth images, e.g. ASUS&#8217;s Xtion pro. In the OpenNI community supported by manufacturers e.g. Primesense, Microsoft and Asus more information could be found in <a title="openni org" href="http://www.openni.org" target="_blank"><strong>openni.org</strong></a>.</p>
<p><span id="more-1924"></span><a href="http://www.andol.info/wp-content/uploads/2011/12/asus-xtion-3d-camera.jpg"><img class="alignnone size-medium wp-image-1857" title="asus xtion 3d camera" src="http://www.andol.info/wp-content/uploads/2011/12/asus-xtion-3d-camera-253x190.jpg" alt="asus xtion 3d camera" width="253" height="190" /></a></p>
<h3>About installing OpenNI</h3>
<p>Many tutorials can be search out in the internet, there vary from different operation systems to different installation packages and to various installation errors and solutions as well. Mostly, these focus on three popular systems &#8211; windows, linux and mac os. In the windows systems, of course, the installation is relatively the easiest as a good population of developers are working on it. In the mac os, it is ok to install the OpenNI as it is intuitive and with good support from the community. In the Linux system the situation is more complicated as different sub systems were involved. Firstly, different versions of Linux and their configurations, secondly, the Linux running on a broad range of devices with diverse system structures.</p>
<p>And here in this post, it is about installing OpenNI in a Linux version &#8211; Ubuntu 11.04 Natty in a ARM -based device &#8211; the <a title="pandaboard org" href="http://pandaboard.org/" target="_blank"><strong>pandaboard</strong></a>.</p>
<h3>The Installation steps</h3>
<p>Jatin Sharma posted an article talking about <a title="installing openni in beagleboard" href="http://youngindiafellowship.academia.edu/JatinSharma/Blog/48864/OpenNI-on-Beagle-Board-XM" target="_blank"><strong>how to install OpenNI on Beagleboard with Kinect</strong></a> &#8211; just seem this as a similar version of pandaboard and Xtion pro. That post is referable to the installations described in this article. So I would &#8216;borrow&#8217; some of the procedures to better demonstrate my installations of OpenNI.</p>
<p>1. certain packages are required pior to the installations of OpenNI. Try the commands below to do fetch and install these packages.</p>
<div class="code">
sudo apt-get install git-core<br />
sudo apt-get install cmake<br />
sudo apt-get install libglut3-dev<br />
sudo apt-get install pkg-config<br />
sudo apt-get install gcc g++ build-essential<br />
sudo apt-get install libxmu-dev<br />
sudo apt-get install libxi-dev<br />
sudo apt-get install libusb-1.0-0-dev<br />
sudo apt-get install doxygen<br />
sudo apt-get install graphviz<br />
sudo apt-get install git
</div>
<p>* Jatin mentioned an error in &#8216;libglut3-dev&#8217;, as this lib has been replaced by &#8216;freeglut3-dev&#8217;, so you can directly try the later one. But actually I installed the &#8216;libglut3-dev&#8217; successfully in Synaptic Package Manager, as well as &#8216;freeglut3-dev&#8217;. But never mind, as long as the required package is installed and working properly.</p>
<p>2. fetch the OpenNI package</p>
<p>Making a new directory to hold this package would be a good idea, that gives you much convenience. Let&#8217;s say to make it &#8216;~/Documents/OpenNI&#8217;</p>
<p>using the command below to get the package of OpenNI:</p>
<div class="code">git clone https://github.com/OpenNI/OpenNI.git</div>
<p>*depends on the versions, the contents of the OpenNi folder may be different.But the common thing is to get into the &#8216;Build&#8217; folder. Mine is under &#8216;~/Documents/OpenNI/Platform/Linux/Build&#8217;.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-Build.png"><img src="http://www.andol.info/wp-content/uploads/2012/01/Screenshot-Build-274x190.png" alt="Screenshot-Build" title="Screenshot-Build" width="274" height="190" class="alignnone size-medium wp-image-1934" /></a></p>
<p>* Please be aware of Jatin&#8217;s information that</p>
<blockquote><p>
Edit the make file in ~/kinect/OpenNI/Platform/Linux-x86/Build<br />
In the latest version of OpenNI, the ARM platform has been included by the name Linux-ARM. However if we go into ~/kinect/OpenNI/Platform/Linux-ARM/Build/ and try to build it you’ll face errors thus better would be to use the old Linux-x86 platform files with some modifications.</p>
<p>Open ~/kinect/OpenNI/Platform/Linux-x86/Build/CommonMakefile and comment out these lines:</p>
<p>  CFLAGS += -malign-double<br />
  and<br />
  ifeq ($(SSE_GENERATION), 2)<br />
        CFLAGS += -msse2<br />
  else<br />
        ifeq ($(SSE_GENERATION), 3)<br />
              CFLAGS += -msse3<br />
        else<br />
              ($error &#8220;Only SSE2 and SSE3 are supported&#8221;)<br />
        endif<br />
  endif</p>
<p>We need to do this because ‘ -malign-double’ and ‘-msse3’ flags are valid only for x86 platform and will not work for gcc on ARM. Commenting out these statements makes the code usable for ARM.
</p></blockquote>
<h3>Make and Make install</h3>
<p><a href="http://www.andol.info/wp-content/uploads/2012/01/SJ4GU9E.png"><img src="http://www.andol.info/wp-content/uploads/2012/01/SJ4GU9E-202x190.png" alt="make openni build" title="SJ4GU9~E" width="202" height="190" class="alignnone size-medium wp-image-1935" /></a></p>
<h3>Future work</h3>
<p>This installation has not yet been validated if the OpenNI samples are working or not. The sample validation and programming part will be published in another post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1924.htm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Merry Xmas and Happy New Year 2012</title>
		<link>http://www.andol.info/life/1907.htm</link>
		<comments>http://www.andol.info/life/1907.htm#comments</comments>
		<pubDate>Fri, 23 Dec 2011 08:34:51 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1907</guid>
		<description><![CDATA[Hi my friend, Thanks for your continuous supports, interests, and valuable comments to ANDOL.INFO, I would remember all of these, and make the coming year better. Merry Xmas and Happy New Year 2012!!! Best wishes, Andol Li]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Christmas-Ornaments-and-Design-Elements_24.jpg"><img class="alignnone size-full wp-image-1908" title="Christmas" src="http://www.andol.info/wp-content/uploads/2011/12/Christmas-Ornaments-and-Design-Elements_24-e1324485905944.jpg" alt="Christmas" width="468" height="361" /></a></p>
<p>Hi my friend,</p>
<p>Thanks for your continuous supports, interests, and valuable comments to ANDOL.INFO, I would remember all of these, and make the coming year better.</p>
<p><span style="color: #c00; font-size: 48px;">Merry Xmas</span></p>
<p>and</p>
<p><span style="color: #c00; font-size: 48px;">Happy New Year 2012!!!</span></p>
<p>Best wishes,</p>
<p>Andol Li</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1907.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing openCV in Ubuntu with pandaboard part 5 – running openCV 2.3.1 examples</title>
		<link>http://www.andol.info/hci/1901.htm</link>
		<comments>http://www.andol.info/hci/1901.htm#comments</comments>
		<pubDate>Thu, 22 Dec 2011 08:42:42 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mainling list]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1901</guid>
		<description><![CDATA[The last tutorial about installing opencv in ubuntu with pandaboard 4 &#8211; compiling the opencv 2.3.1 did not complete the final compile steps, this post aims to complete that. Continue the compiling of openCV 2.3.1 I assume you have finished the openCV compiling using cmake ., make, and make install commands in the terminal. Bear [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.11.png"><img class="alignnone size-medium wp-image-1902" title="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.11-243x190.png" alt="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1" width="243" height="190" /></a></p>
<p>The last tutorial about <a title="Installing openCV in Ubuntu with pandaboard part 4 – compiling openCV 2.3.1" href="http://www.andol.info/hci/1884.htm" target="_blank"><strong>installing opencv in ubuntu with pandaboard 4 &#8211; compiling the opencv 2.3.1</strong></a> did not complete the final compile steps, this post aims to complete that.</p>
<h3>Continue the compiling of openCV 2.3.1</h3>
<p>I assume you have finished the openCV compiling using cmake ., make, and make install commands in the terminal. Bear in my mind there is one thing I need to remind &#8211; be aware of the system date and time, as I left that incorrect and made some unnecessary compiling mistakes.</p>
<p><span id="more-1901"></span><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-11.png"><img class="alignnone size-medium wp-image-1903" title="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-1" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-11-243x190.png" alt="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-1" width="243" height="190" /></a></p>
<h3>The system configurations</h3>
<p>After the &#8216;make install&#8217; commands was executed, the system configurations needed to be set up.</p>
<p>1. use the command below to set the opencv&#8217;s lib links in opencv.conf file.</p>
<div class="code">sudo gedit /etc/ld.so.conf.d/opencv.conf</div>
<p>adding the following link to the end of the file: <span class="code">/usr/local/lib</span></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-opencv.conf-Read-Only-etc-ld.so_.conf_.d-gedit.png"><img class="alignnone size-medium wp-image-1904" title="Screenshot-opencv.conf [Read-Only] (-etc-ld.so.conf.d) - gedit" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-opencv.conf-Read-Only-etc-ld.so_.conf_.d-gedit-250x190.png" alt="Screenshot-opencv.conf [Read-Only] (-etc-ld.so.conf.d) - gedit" width="250" height="190" /></a></p>
<p>2. need to load the configuration file by using</p>
<div class="code">sudo ldconfig</div>
<p>3. open another file and add the configuration file path, adding the highlighted contents as in the below picture.</p>
<div class="code">sudo gedit /etc/bash.bashrc</div>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-bash.bashrc-etc-gedit.png"><img class="alignnone size-medium wp-image-1905" title="Screenshot-bash.bashrc (-etc) - gedit" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-bash.bashrc-etc-gedit-266x190.png" alt="Screenshot-bash.bashrc (-etc) - gedit" width="266" height="190" /></a></p>
<p>4. that&#8217;s done! Let&#8217;s launch an example to have a look if it works.</p>
<h3>Running the example</h3>
<p>1. make sure the build-essential is installed for opencv programme compiling, if not, using this:</p>
<p><strong class="code">sudo apt-get install build-essential</strong></p>
<p>2. open the terminal, and go to the place holding the sample files, e.g. <em>opencv-2.3.1/samples/c</em></p>
<p>3. change the target file mod, if you receive permission errors:</p>
<div class="code">chmod +x contours.c</div>
<p>4. get the file compiled ready:</p>
<div class="code">gcc -Wall -W -Werror contours.c -o contours</div>
<p>this command invokes the GNU C compiler to compile the file contours.c and make it an executable file called &#8216;contours&#8217;.</p>
<p>5. run the executable file contours:</p>
<div class="code">./contours</div>
<p>dang-dang&#8230;.. here it is&#8230;</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot.png"><img class="alignnone size-medium wp-image-1906" title="Screenshot - compile operncv samples" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-187x190.png" alt="Screenshot - compile operncv samples" width="187" height="190" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1901.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing openCV in Ubuntu with pandaboard part 4 &#8211; compiling openCV 2.3.1</title>
		<link>http://www.andol.info/hci/1884.htm</link>
		<comments>http://www.andol.info/hci/1884.htm#comments</comments>
		<pubDate>Wed, 21 Dec 2011 11:27:52 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv at]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[ubuntu opencv compiling]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1884</guid>
		<description><![CDATA[Before the compiling I was about to write a post about compiling the newest openCV 2.3.1 in Ubuntu with pandaboard, but because of the proxy network problem in Ubuntu software update and the right solution to the proxy network settings, this post was postponed. So this post will be focusing on compiling openCV 2.3.1 in [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Downloads.png"><img class="alignnone size-medium wp-image-1892" title="Screenshot-Downloads" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Downloads-262x190.png" alt="Screenshot-Downloads" width="262" height="190" /></a></p>
<h3>Before the compiling</h3>
<p>I was about to write a post about compiling the newest openCV 2.3.1 in Ubuntu with pandaboard, but because of <a title="Installing openCV in Ubuntu with pandaboard part 2" href="http://www.andol.info/hci/1873.htm" target="_blank"><strong>the proxy network problem in Ubuntu software update</strong></a> and <a title="Installing openCV in Ubuntu with pandaboard part 3 – the network proxy" href="http://www.andol.info/hci/1886.htm" target="_blank"><strong>the right solution to the proxy network settings</strong></a>, this post was postponed.</p>
<p><span id="more-1884"></span>So this post will be focusing on compiling openCV 2.3.1 in Ubuntu, with the right proxy networking settings and the synaptic package manager in working states.<a title="installing opencv in ubuntu" href="http://samontab.com/web/2010/04/installing-opencv-2-1-in-ubuntu/" rel="external" target="_blank"><em>Sebastian Montabone</em></a> has made a tutorial about installing openCV in Ubuntu, but that used openCV 2.0 and was not up-to-date. So, this tutorial aims to add an update of the newest version of openCV 2.3.1 installation.</p>
<h3>Software updating</h3>
<p>The compiling starts from software updating, which aims to prepare all necessary installation packages in the system. To make these packages needed for installations clear, I post these in forms of terminal commands, so you can type these commands one by one to see if they are installed already, or need updates.</p>
<div class="code">sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev</div>
<p>Please be aware that, this post assumes the openCV 2.3.1 installation package has been downloaded in the local folder called &#8216;Download&#8217;, and has been unzipped into a folder called &#8216;OpenCV-2.3.1&#8242;.</p>
<h3>Compiling steps</h3>
<p>1. open the terminal, go to the directory where the openCV folder is located in, in this example, it is &#8216;/home/cw418/Downloads/OpenCV-2.3.1&#8242;.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Downloads-1.png"><img class="alignnone size-medium wp-image-1893" title="Screenshot-Downloads-1" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Downloads-1-262x190.png" alt="Screenshot-Downloads-1" width="262" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Downloads1.png"><img class="alignnone size-medium wp-image-1894" title="Screenshot-Downloads" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Downloads1-262x190.png" alt="Screenshot-Downloads" width="262" height="190" /></a></p>
<p>2. type the cmake command in the terminal. please be aware there is a small &#8216;.&#8217; after the cmake command.</p>
<div class="code">cmake .</div>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1.png"><img class="alignnone size-medium wp-image-1895" title="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-243x190.png" alt="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1" width="243" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-1.png"><img class="alignnone size-medium wp-image-1896" title="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-1" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-1-243x190.png" alt="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-1" width="243" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-2.png"><img class="alignnone size-medium wp-image-1897" title="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-2" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-2-243x190.png" alt="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-2" width="243" height="190" /></a></p>
<p>3. after the cmake command is executed, type new make command.</p>
<div class="code">make</div>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-3.png"><img class="alignnone size-medium wp-image-1898" title="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-3" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-3-243x190.png" alt="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-3" width="243" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-4.png"><img class="alignnone size-medium wp-image-1899" title="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-4" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-4-243x190.png" alt="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-4" width="243" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-5.png"><img class="alignnone size-medium wp-image-1900" title="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-5" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-root@hud-desktop-Downloads-OpenCV-2.3.1-5-243x190.png" alt="Screenshot-root@hud-desktop: ~-Downloads-OpenCV-2.3.1-5" width="243" height="190" /></a></p>
<p>This may take a while, so you can go and have a cup of tea first.<br />
The tutorial continues on the next post &#8211; installing openCV 2.3.1 in ubuntu with pandaboard part 5.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1884.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing openCV in Ubuntu with pandaboard part 3 &#8211; the network proxy</title>
		<link>http://www.andol.info/hci/1886.htm</link>
		<comments>http://www.andol.info/hci/1886.htm#comments</comments>
		<pubDate>Tue, 20 Dec 2011 22:04:32 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[failed to fetch ubuntu]]></category>
		<category><![CDATA[opencv install]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[opencv ubuntu]]></category>
		<category><![CDATA[opencv ubuntu proxy]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1886</guid>
		<description><![CDATA[The problem of networking proxy in ubuntu for openCV installation In the last post instsalling openCV in Ubuntu with pandaboard a networking proxy problem was raised. The problem is relevant to software updates and installations in Ubuntu, before and after openCV installation. There were two general suggestions made in the previous post &#8211; finding a [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Synaptic-Package-Manager-.png"><img class="alignnone size-medium wp-image-1887" title="Screenshot-Synaptic Package Manager" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Synaptic-Package-Manager--240x190.png" alt="Screenshot-Synaptic Package Manager" width="240" height="190" /></a></p>
<h3>The problem of networking proxy in ubuntu for openCV installation</h3>
<p>In the last post <a title="Installing openCV in Ubuntu with pandaboard part 2" href="http://www.andol.info/hci/1873.htm" rel="internal" target="_blank"><strong>instsalling openCV in Ubuntu with pandaboard</strong></a> a networking proxy problem was raised. The problem is relevant to software updates and installations in Ubuntu, before and after openCV installation. There were two general suggestions made in the previous post &#8211; finding a new network environment, or, properly setting up the proxy parameters.<br />
<span id="more-1886"></span></p>
<h3>The solution to ubuntu proxy settings</h3>
<p>For the second suggestion, it seems more difficult than the first one, as it needs to be aware of different applications&#8217; networking settings. This is my empirical experiences that took me nearly four days to get the right place.</p>
<p>1. I assume You have successfully got the proxy address, which used to be like this username:password@wwwproxy.domain.com:8080. This would be useful in the later setting.</p>
<p>2. There are two types of network proxy settings &#8211; application wide and whole system wide. I made mistakes in this stage so several days were wasted.</p>
<p>3. Click the power button on the top right corner, select the &#8216;System Settings&#8217; from the popping up menu.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Control-Center.png"><img class="alignnone size-medium wp-image-1888" title="Screenshot-Control Center" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Control-Center-476x190.png" alt="Screenshot-Control Center" width="476" height="190" /></a></p>
<p>4. Go to &#8216;Network Proxy&#8217; to start configuring the proxy parameters &#8211; if you have automatic scripts for proxy configurations then use that, if not, then fill in the proxy parameters in proper columns. Make sure you are aware of the bottom setting options &#8211; Applying system wide&#8230; click that button and confirm the passwords popping up for system authorisation.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Network-Proxy-Preferences.png"><img class="alignnone size-medium wp-image-1889" title="Screenshot-Network Proxy Preferences" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Network-Proxy-Preferences-485x88.png" alt="Screenshot-Network Proxy Preferences" width="485" height="88" /></a></p>
<p>5. Open firefox and check the network setting to see if it uses system configurations, if yes, see if firefox can open websites.</p>
<p>6. If firefox works, then go to &#8216;synaptic package manager&#8217;, go to &#8216;settings/preferences/network&#8217;, make sure the option is selected as &#8216;direct connection to the internet&#8217;, apply it.</p>
<p>7. Go and check the package manager updates, it should be working now.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Preferences.png"><img class="alignnone size-medium wp-image-1890" title="Screenshot-Preferences" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Preferences-485x134.png" alt="Screenshot-Preferences" width="485" height="134" /></a></p>
<h3>Some errors caused by the incorrect proxy settings</h3>
<p>Some typical errors caused by incorrect proxy settings include</p>
<p>- &#8216;failed to fetch&#8217; error when trying to update the packages using apt-get update<br />
- &#8217;404 not found&#8217; errors in reloading synaptic package manager</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1886.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing openCV in Ubuntu with pandaboard part 2</title>
		<link>http://www.andol.info/hci/1873.htm</link>
		<comments>http://www.andol.info/hci/1873.htm#comments</comments>
		<pubDate>Fri, 16 Dec 2011 20:09:25 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[pandaboard]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1873</guid>
		<description><![CDATA[How to install openCV in Ubuntu without networks In the last post of installing openCV in Ubuntu with pandaboard, the failure of software update of openCV was discussed. But if there was no alternative to switch to other working networks, then the only way to install openCV in Ubuntu is as the way showed in [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-.png"><img class="alignnone size-medium wp-image-1877" title="install opencv in ubuntu 11.04 with pandaboard" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop--295x190.png" alt="install opencv in ubuntu 11.04 with pandaboard" width="295" height="190" /></a></p>
<h3>How to install openCV in Ubuntu without networks</h3>
<p>In the last post of <a title="Installing openCV in Ubuntu with pandaboard part 1" href="http://www.andol.info/hci/1870.htm" rel="internal" target="_blank"><strong>installing openCV in Ubuntu with pandaboard</strong></a>, the failure of software update of openCV was discussed. But if there was no alternative to switch to other working networks, then the only way to install openCV in Ubuntu is as the way showed in this post.</p>
<p>- first, downloading the OpenCV-2.3.1a.tar.bz2 from openCV wiki, selecting &#8216;other announcements&#8217; then going to &#8216;for mac and linux&#8217;, the page will be directed to sourceforge in this page: <a title="opencv 2.3.1 download" href="http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/" target="_blank">http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/</a>.</p>
<p><span id="more-1873"></span><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Open-Computer-Vision-Library-Browse-opencv-unix-at-SourceForge.net-Mozilla-Firefox.png"><img class="alignnone size-medium wp-image-1878" title="download opencv 2.3.1" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Open-Computer-Vision-Library-Browse-opencv-unix-at-SourceForge.net-Mozilla-Firefox-336x190.png" alt="download 2.3.1 - mac/linux version" width="336" height="190" /></a></p>
<p>- copying the downloaded file to Ubuntu system, let&#8217;s make it in &#8216;Download&#8217; folder. Then starting the manual installation &#8211; this part is rarely mentioned in tutorials over Internet.</p>
<h3>How to install openCV in Ubuntu 11.04 manually</h3>
<p>Once the openCV installation file has been ready in the folder, firstly it needs to unzip &#8211; using the commands in terminal:</p>
<p><span class="code">- tar -xvjpf OpenCV-2.3.1a.tar.bz2</span></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/untar-opencv-2.3.1a.png"><img class="alignnone size-medium wp-image-1879" title="untar opencv 2.3.1a" src="http://www.andol.info/wp-content/uploads/2011/12/untar-opencv-2.3.1a-295x190.png" alt="untar opencv 2.3.1a" width="295" height="190" /></a></p>
<p>The untar progress will be running like this for a short while:</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-Downloads.png"><img class="alignnone size-medium wp-image-1880" title="opencv untar" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-Downloads-295x190.png" alt="opencv untar" width="295" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-Downloads-1.png"><img class="alignnone size-medium wp-image-1881" title="opencv untar 1" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-Downloads-1-295x190.png" alt="opencv untar 1" width="295" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-Downloads-2.png"><img class="alignnone size-medium wp-image-1882" title="opencv untar 2" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-Downloads-2-295x190.png" alt="opencv untar 2" width="295" height="190" /></a></p>
<h3>Untar openCV 2.3.1a in Downloads</h3>
<p>After the openCV installation package is successfully untared in the Download folder, the source files can be seen. This is not the ready-to-use version, as the source files still need compiling.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-OpenCV-2.3.1.png"><img class="alignnone size-medium wp-image-1883" title="Screenshot-OpenCV-2.3.1 folder" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-OpenCV-2.3.1-262x190.png" alt="Screenshot-OpenCV-2.3.1 folder" width="262" height="190" /></a></p>
<p>&#8211;<br />
To continue &#8211; part 3 &#8211; Compiling the openCV 2.3.1 within Ubuntu in pandaboard.<br />
a networking-functional version of installing can be reached in Sebastian Montabone&#8217;s post &#8216;<a title="http://www.samontab.com/web/2011/06/installing-opencv-2-2-in-ubuntu-11-04/" href="http://www.samontab.com/web/2011/06/installing-opencv-2-2-in-ubuntu-11-04/" rel="external" target="_blank">Installing OpenCV 2.2 in Ubuntu 11.04</a>&#8216;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1873.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing openCV in Ubuntu with pandaboard part 1</title>
		<link>http://www.andol.info/hci/1870.htm</link>
		<comments>http://www.andol.info/hci/1870.htm#comments</comments>
		<pubDate>Wed, 14 Dec 2011 17:24:56 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[pandaboard]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1870</guid>
		<description><![CDATA[OpenCV at ubuntu with pandaboard At the first beginning of post, I would like to remind a tiny, but sometimes may huge, problem in installing openCV at ubuntu with pandaboard &#8211; the network proxy setting. This tiny issue could be the fatal problem when it was not aware of. I had tried hundreds of times [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/IMG00544-20111213-1935.jpg"><img class="alignnone size-medium wp-image-1871" title="opencv in ubuntu with pandaboard" src="http://www.andol.info/wp-content/uploads/2011/12/IMG00544-20111213-1935-253x190.jpg" alt="opencv in ubuntu with pandaboard" width="253" height="190" /></a></p>
<h3>OpenCV at ubuntu with pandaboard</h3>
<p>At the first beginning of post, I would like to remind a tiny, but sometimes may huge, problem in installing openCV at ubuntu with pandaboard &#8211; the network proxy setting. This tiny issue could be the fatal problem when it was not aware of. I had tried hundreds of times to &#8216;apt-get update&#8217; but nothing worked out. After I searched the problem of &#8216;failed to fetch&#8230;&#8217;, I was not well informed about how severe that problem was. Until I tied to change the Ubuntu Software Center&#8217;s networking settings, I noticed there was an tap used for networking proxy purposes.</p>
<p><span id="more-1870"></span><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-1.png"><img class="alignnone size-medium wp-image-1874" title="opencv at ubuntu with pandaboard" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-cw418@hud-desktop-1-236x190.png" alt="opencv at ubuntu with pandaboard" width="236" height="190" /></a></p>
<h3>How serious is this issue</h3>
<p>It is common that computers setting in universities are behind a boss proxy, it means all computers inside the university intranet have to get through the university server &#8211; data flows, firewalls and connection routines of course. The problem here is, the ubuntu system seems to recognise such super proxy not very well, to be honest, poorly. And what surprised me was that there was little posts in the internet that provided relevant information about how to set up the network connection before starting software update of installations.</p>
<p>As a result, the plan to install JAVA in ubuntu with pandaboard for openCV project development was non-doubtfully postponed &#8211; the reason was for the above.</p>
<h3>How to overcome opencv at ubuntu installation</h3>
<p>Well, the fastest and simplest way directing at the solution of this issue is to change to another network environments, or, use other network connection ways that does not need proxy settings. A good solution is already there &#8211; the wireless network. However, I have to mention that, the wifi signal received by the pandaboard was so poor &#8211; in most occasions there was only one signal bar &#8211; so tiny that I was always worried about if if would fade out. And the results proved that as well &#8211; the connection was unstable and slow.</p>
<p>Ok, no more chatty words, to address the network problem, either a wireless network is needed, or a open network connection that does not hold by a proxy is useful as well.</p>
<p>So, I am going to take the pandabaord home and get new software installed, until then I will be back to post ongoing openCV developments.</p>
<h3>Some problematic screenshots</h3>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Untitled-Window.png"><img class="alignnone size-medium wp-image-1875" title="opencv at ubuntu - error info" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Untitled-Window-251x190.png" alt="opencv at ubuntu - error info" width="251" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Untitled-Window-1.png"><img class="alignnone size-full wp-image-1876" title="opencv at ubuntu - error info 2" src="http://www.andol.info/wp-content/uploads/2011/12/Screenshot-Untitled-Window-1.png" alt="opencv at ubuntu - error info 2" width="419" height="157" /></a></p>
<p><em>If you feel this post not providing the solution to the problem, please make yourself free to post any comments below.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1870.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenCV mailing list &#8211; a collection of resources</title>
		<link>http://www.andol.info/hci/1866.htm</link>
		<comments>http://www.andol.info/hci/1866.htm#comments</comments>
		<pubDate>Mon, 12 Dec 2011 07:30:19 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv mailing list]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1866</guid>
		<description><![CDATA[Useful openCV mailing list Someone in the comments asked where to get so much information about openCV learning and developing, well, one of my primary source to get openCV related information &#8211; as well as most people&#8217;s issues they are facing recently is the openCV mailing list &#8211; a good way to receive archived threads [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/opencv-mailing-list.jpg"><img class="alignnone size-medium wp-image-1867" title="opencv mailing list" src="http://www.andol.info/wp-content/uploads/2011/12/opencv-mailing-list-485x162.jpg" alt="opencv mailing list" width="485" height="162" /></a></p>
<h3>Useful openCV mailing list</h3>
<p>Someone in the comments asked where to get so much information about openCV learning and developing, well, one of my primary source to get openCV related information &#8211; as well as most people&#8217;s issues they are facing recently is the openCV mailing list &#8211; a good way to receive archived threads and discussions from lots groups such as <a title="yahoo opencv group mailing list" href="http://groups.yahoo.com/subscribe/OpenCV" rel="external" target="_blank">yahoo openCV groups</a> and <a title="google opencv mail listing" href="http://groups.google.com/group/android-opencv?lnk=srg" rel="external" target="_blank">google openCV groups</a>, and even stackoverflow q&amp;a forum, or maybe the canonical <a title="opencv wiki" href="http://opencv.willowgarage.com/wiki/faq" rel="external" target="_blank">openCV wiki</a> is also a good source.<br />
<span id="more-1866"></span></p>
<h3>Benefits to subscribe these sources&#8217; mailing list</h3>
<p>Well, it is obvious that if all of these groups and forums are subscribed by one reader, then the overwhelming information will keep him super hyper busy &#8211; all together these may generate up to thousands of openCV related items &#8211; including all kinds of problems, all levels of issues, and all possibilities of new openCV breakthroughs.</p>
<h3>How to subscribe openCV mailing list</h3>
<p>The simplest way to subscribe the openCV mailing list is to go to the groups or forum, make a registration, and probably there is a slot called &#8216;<em>enter email address</em>&#8216; waiting for your email address to fill in, after confirming the subscription &#8211; probably through emails the openCV mailing list will be like a loyal servant collecting and sending everyday or if you wish every week&#8217;s openCV discussions to your email, enjoy.</p>
<h3>Opencv mailing list&#8217;s risks?</h3>
<p>Well, if I have to say, the only risk is the too much information I receive everyday, I even have to set the mailing list subscription emails into a special category.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1866.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A review of people counting using openCV part 2</title>
		<link>http://www.andol.info/hci/1862.htm</link>
		<comments>http://www.andol.info/hci/1862.htm#comments</comments>
		<pubDate>Sun, 11 Dec 2011 09:03:14 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv c++]]></category>
		<category><![CDATA[opencv camera]]></category>
		<category><![CDATA[opencv tutorial]]></category>
		<category><![CDATA[people counting]]></category>
		<category><![CDATA[usb camera]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1862</guid>
		<description><![CDATA[@丕子&#8216;s comment reminded me to broaden the review area to cover multi-objects detection. Apologise for not making clear what is about to review in the second part, as a continue review of people counting using openCV, as in part 1 the review did not tell a clear content structure. @zhijie thanks for your kind wishes. [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/meanshift-people-counting-opencv-2.jpg"><img class="alignnone size-medium wp-image-1864" title="meanshift people counting opencv 2" src="http://www.andol.info/wp-content/uploads/2011/12/meanshift-people-counting-opencv-2-326x190.jpg" alt="meanshift people counting opencv" width="326" height="190" /></a></p>
<p><em><a title="peizi's blog in machine learning, information index, computer vision and opencv" href="http://www.zhizhihu.com/aboutme" rel="external" target="_blank">@丕子</a>&#8216;s comment reminded me to broaden the review area to cover multi-objects detection. Apologise for not making clear what is about to review in the second part, as a continue review of <a title="A review of people counting using openCV part 1" href="http://www.andol.info/hci/1859.htm" rel="internal" target="_blank"><strong>people counting using openCV</strong></a>, as in part 1 the review did not tell a clear content structure.<br />
@zhijie thanks for your kind wishes.</em></p>
<h3>Challenges for people counting using openCV</h3>
<p>In part 1 the review mentioned some difficulties to apply openCV for people counting, including camera positions, specific detection feature (faces) and overlapping objects.</p>
<p><span id="more-1862"></span>There are some other challenges as well &#8211; <strong>multiple people detection and tracking</strong>. This even concerns previous challenges, like the object overlapping. Someone suggested to use infrared photodetectors to avoid such issue, while that does not make sense here in using openCV and camera.</p>
<h3>Methods of people counting using openCV</h3>
<p><a title="andrey's profile" href="http://stackoverflow.com/users/602828/andrey" rel="external" target="_blank">Andrey</a>&#8216;s suggestions gave three ideas from simple to advance. Simply enough, it was advised to calculate differences between successive frames of video stream and this detected line-crossing event by determining motion masks. A little more complicated, the idea was to use &#8216;<em>running average</em>&#8216; approach, and the most advanced one, was to integrate background subtraction technique to enhance the accuracy. The <em>running average</em> can be reached here <a title="http://opencv.willowgarage.com/documentation/c/imgproc_motion_analysis_and_object_tracking.html#runningavg" href="http://opencv.willowgarage.com/documentation/c/imgproc_motion_analysis_and_object_tracking.html#runningavg" rel="external" target="_blank"><strong>openCV cvRunningAVG</strong></a>. However, there is still a problem &#8211; what if people gather together as a group then enter the room? In other words, how to keep tracking objects that may be combined and separated, unpredictably.</p>
<h3>Counting grouped people using openCV</h3>
<p>A short paper was recommended by someone in overstackflow.com, about human tracking by fast mean shift model seeking. Due to the limitation of time, the post is not demonstrating the details, but a picture is presented for demonstration. The paper can be reached via the link provided on the bottom of the post. This paper shows tracks behind people&#8217;s movements, grouping and separating have little influence on it.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/meanshift-people-counting-opencv.jpg"><img class="alignnone size-medium wp-image-1863" title="meanshift people counting opencv" src="http://www.andol.info/wp-content/uploads/2011/12/meanshift-people-counting-opencv-400x190.jpg" alt="meanshift people counting opencv" width="400" height="190" /></a></p>
<h3>Other ways of people counting using openCV</h3>
<p>Other approaches were also introduced to deal with people group gathering problem. Someone (sorry I forgot the source) used track ID to mark different states of people. Every individual was given a unique track ID, which was binded with pixel-based contours. When two contours emerged together, the two track IDs would follow the common contour, until these people entered the room and were counted by the system.</p>
<h3>A short summary</h3>
<p>Neither <a title="A review of people counting using openCV part 1" href="http://www.andol.info/hci/1859.htm" target="_blank">people counting using openCV in part 1</a> and 2 is posted with some new cutting edge techniques, with which the people counting could be overwhelmingly improved. Rather, the state of people counting using openCV is very briefly introduced, with some concrete methods for people counting use. Wish these could be sparking some new thoughts.</p>
<p>Looking back the methods for people counting using openCV, some achievements have been made, especially in terms of counting a general number of people within specific settings. However, the future developments still face some problems, such as accurate grouped people counting, dwelling people counting and, probably, super density people counting &#8211; will it be possible to do that by counting heads?</p>
<p>Any comments are warmly welcome, including criticisms, as this review is widely open to anyone who is interested in people counting using openCV.</p>
<p><a title="people counting opencv.pdf" href="http://download.andol.info/people counting opencv.pdf" rel="internal" target="_blank"><strong>people counting openCV.pdf</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1862.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A review of people counting using openCV part 1</title>
		<link>http://www.andol.info/hci/1859.htm</link>
		<comments>http://www.andol.info/hci/1859.htm#comments</comments>
		<pubDate>Fri, 09 Dec 2011 15:39:32 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv example]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[opencv tutorial]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1859</guid>
		<description><![CDATA[Why using openCV for people counting? There are alternatives to count people in a public place, for example using microcontrollers and lasers and arduino to design a cool and accurate system to count people in and out a room. But why does it bother to use webcams and, more importantly what the post focuses on, [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/01/Untitled-1-484x243.jpg" rel="internal"><img class="alignnone" title="object extracting" src="http://www.andol.info/wp-content/uploads/2010/01/Untitled-1-484x243.jpg" alt="object extracting" width="484" height="243" /></a></p>
<h3>Why using openCV for people counting?</h3>
<p>There are alternatives to count people in a public place, for example using microcontrollers and lasers and arduino to design a cool and accurate system to count people in and out a room. But why does it bother to use webcams and, more importantly what the post focuses on, openCV?</p>
<p>1. it is easy to set-up. NOTHING is easier to mount a camera over the door and connected with power and data cables. Setting up a laser system? Think about the DIY work.</p>
<p>2. a lot of developers and programmers are working on that &#8211; making openCV more suitable and efficient to count people. A simple example is the blob extracting app.</p>
<p><span id="more-1859"></span><br />
<h3>The state of art of openCV for people counting</h3>
<p><a title="Object tracking using AS3" href="http://www.andol.info/hci/1310.htm" rel="internal" target="_blank"><strong>Blob extracting</strong></a> using openCV or flash (as3) have been researched by many developers. The accuracy has reached a high level, but limited to single objects &#8211; objects should not be overlapped &#8211; if people in the camera could be simply seem as objects.</p>
<p>Codeproject.com shows a <a title="overlapped people counting" href="http://www.codeproject.com/KB/audio-video/Motion_Detection.aspx" rel="external" target="_blank"><strong>new post</strong></a> discussing recognising people even though they are overlapped to some extent, as the picture below shows. The post compares different algorithms from simple <em>threshold </em>to image <em> differences and erosion </em>.</p>
<p><a href="http://www.codeproject.com/KB/audio-video/Motion_Detection/motion.jpg" rel="external"><img class="alignnone" title="motion detection" src="http://www.codeproject.com/KB/audio-video/Motion_Detection/motion.jpg" alt="people counting opencv" width="421" height="380" /></a></p>
<p>A pedestrian detector comes with recent versions of openCV (&gt;=2.2), in <em>modules/objdetect/src/hog.cpp</em>, and <em>samples/cpp/peopledetect.cpp</em>. Unfortunately this new example has not be well documented officially.</p>
<p>If the camera for people counting is mounted statically, a substraction method is suggested by <a title="substraction method for people counting" href="http://stackoverflow.com/users/475944/evident" rel="external" target="_blank">evident&#8217;s work</a>. A relevant paper is linked <em>http://portal.acm.org/citation.cfm?id=1561072&amp;preflayout=flat</em>.</p>
<p>Face detection for people counting using openCV is also concerned, as an example is described in opencv wiki &#8211; <a title="face detection for people counting in openCV" href="http://opencv.willowgarage.com/wiki/FaceDetection" rel="external" target="_blank">face detection using openCV</a>. But the drawbacks are clear &#8211; this method needs faces for people counting. In other words, top-view cameras do not fit.</p>
<p>The rest part of review is published in the second part &#8211; <a href="http://www.andol.info/hci/1862.htm" title="A review of people counting using openCV part 2" target="_blank" rel="internal"><strong>a review of people counting using openCV part 2</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1859.htm/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Using webcams/motion sensing cameras in OMAP-based pandaboard</title>
		<link>http://www.andol.info/hci/1856.htm</link>
		<comments>http://www.andol.info/hci/1856.htm#comments</comments>
		<pubDate>Thu, 08 Dec 2011 10:20:12 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv linux]]></category>
		<category><![CDATA[panda board]]></category>
		<category><![CDATA[pandaboard OMAP4]]></category>
		<category><![CDATA[pandaboard ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1856</guid>
		<description><![CDATA[What webcams/motion sensing cameras are available for OMAP4 platforms? As the Ubuntu 11.04 Natty has been successfully installed in the pandaboard, the next step of development work is to plug in webcams and motion sensing cameras (kinect and xtion). About installing necessary software such as openCV and openNI a new post will be dedicated to [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/asus-xtion-3d-camera.jpg"><img class="alignnone size-medium wp-image-1857" title="asus xtion 3d camera" src="http://www.andol.info/wp-content/uploads/2011/12/asus-xtion-3d-camera-253x190.jpg" alt="asus xtion 3d camera" width="253" height="190" /></a></p>
<p><strong>What webcams/motion sensing cameras are available for OMAP4 platforms?</strong></p>
<p>As the Ubuntu 11.04 Natty has been <a title="Doing openCV in pandaboard 3 – successful installation" href="http://www.andol.info/hci/1850.htm" rel="internal" target="_blank"><strong>successfully installed in the pandaboard</strong></a>, the next step of development work is to plug in webcams and motion sensing cameras (kinect and xtion). About installing necessary software such as openCV and openNI a new post will be dedicated to that. This post, mostly, desperately, is about seeking available supports to install motion sensing camera &#8211; especially the ASUS Xtion camera in OMAP4 pandaboard, which currently does not have many documents related to camera use in OMAP4 pandaboard.</p>
<p><span id="more-1856"></span>In pandaboard&#8217;s website a compatible webcam L<a title="logitec webcam pro 9000" href="http://www.pandaboard.org/node/226/" rel="external" target="_blank">ogitech webcam Pro 9000</a> is listed as one of accessories recommended for purchases. However this webcam is exclusively used in Android systems in pandaboard, in other words, there is no source found about Ubuntu based cameras.</p>
<p><strong>Why cameras are not universally compatible?</strong></p>
<p>My guess, to the incompatibility of cameras in pandaboard may be caused by the CPU &#8211; OMAP and normal Intel CPUs may have different structures and command sets. So they need different drivers to make cameras work. The problem is &#8211; where, and how.</p>
<p><strong>Can you help?</strong><br />
There are some forum discusses seeking supports to camera drivers in OMAP4 platforms, <a title="pandaboard google group" href="http://comments.gmane.org/gmane.comp.embedded.pandaboard/3598" rel="external" target="_blank">pandaboard@googlegroups.com</a> has quite many threads about this, but provides no canonical answers.</p>
<p>So this post is not about solving problems, instead, it calls for supports from anyone who may have useful information or experiences, to find a way to using universal cameras in OMAP4 pandaboard.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/pandaboard.jpg"><img class="alignnone size-medium wp-image-1858" title="pandaboard" src="http://www.andol.info/wp-content/uploads/2011/12/pandaboard-253x190.jpg" alt="pandaboard" width="253" height="190" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1856.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Doing openCV in pandaboard 3 &#8211; successful installation</title>
		<link>http://www.andol.info/hci/1850.htm</link>
		<comments>http://www.andol.info/hci/1850.htm#comments</comments>
		<pubDate>Tue, 06 Dec 2011 20:38:50 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[Interaction]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[pandaboard]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1850</guid>
		<description><![CDATA[Intalling ubuntu in pandaboard for opencv development Last post Doing openCV in Pandaboard described a odd mistake happened during the first boot of ubuntu system after the RAW image burning. The screen was frozen on the first booting, did not provide detailed information about any reasons. I searched the internet and found two tools suitable [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00524-20111204-1746.jpg"><img class="alignnone size-medium wp-image-1844" title="intalling ubuntu in pandaboard 2 - select language" src="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00524-20111204-1746-253x190.jpg" alt="intalling ubuntu in pandaboard 2" width="253" height="190" /></a></p>
<p><strong>Intalling ubuntu in pandaboard for opencv development</strong></p>
<p>Last post <a title="Doing openCV in Pandaboard 2 – installing ubuntu 11.04" href="http://www.andol.info/hci/1841.htm" rel="internal" target="_blank"><strong>Doing openCV in Pandaboard</strong></a> described a odd mistake happened during the first boot of ubuntu system after the RAW image burning. The screen was frozen on the first booting, did not provide detailed information about any reasons.</p>
<p>I searched the internet and found two tools suitable to do the job &#8211; mounting the RAW image as a virtual disk in my windows xp pc, then burning the virtual disk image to the SD card. Two respective free-software was download &#8211; <strong>mount image pro</strong> for RAW image mounting as a virtual disk, and, <strong>minitool partition wizard</strong> for disk image copying/burning. <em>These tools have been zipped, and can be reached via the link provided on the bottom of the post</em></p>
<p><span id="more-1850"></span>At this time I installed these two tools, and successfully mounted the RAW image as a virtual disk 2, turned out it had three partitions indeed, the last one was not allocated/formatted yet, the first one was nearly 70 M and the second one was the main partition which had over 2 G contents. But the installation instruction in ubuntu official webpage said the disk space would be resized automatically. So I inserted the SD card and found it was recognised as disk 3. Here came the key operation &#8211; copying the disk 2 to disk 3, and leave the rest space as not resized.</p>
<p>Wait and wait and wait&#8230;&#8230;</p>
<p>The copying was finally over, as the sd adapter did not flash any more. Then copying the MOL and u-boot.bin files to the first partition to guide the system boot.</p>
<p>Taking out the sd card from the host pc, and inserted it in the pandaboard. Exciting moment was finally coming&#8230;</p>
<p><strong>Screenshots of ubuntu intallation on pandaboard</strong></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00525-20111204-1747.jpg"><img class="alignnone size-medium wp-image-1845" title="intalling ubuntu in pandaboard 3 - select time zone" src="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00525-20111204-1747-253x190.jpg" alt="intalling ubuntu in pandaboard 3" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00526-20111204-1747.jpg"><img class="alignnone size-medium wp-image-1846" title="intalling ubuntu in pandaboard 4 -select country" src="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00526-20111204-1747-253x190.jpg" alt="intalling ubuntu in pandaboard 4" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00528-20111204-1749.jpg"><img class="alignnone size-medium wp-image-1847" title="intalling ubuntu in pandaboard 5" src="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00528-20111204-1749-253x190.jpg" alt="intalling ubuntu in pandaboard 5" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00529-20111204-1751.jpg"><img class="alignnone size-medium wp-image-1848" title="intalling ubuntu in pandaboard 6" src="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00529-20111204-1751-253x190.jpg" alt="intalling ubuntu in pandaboard 6" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00530-20111204-1752.jpg"><img class="alignnone size-medium wp-image-1849" title="intalling ubuntu in pandaboard 7" src="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00530-20111204-1752-253x190.jpg" alt="intalling ubuntu in pandaboard 7" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00531-20111204-1753.jpg"><img class="alignnone size-medium wp-image-1842" title="intalling ubuntu in pandaboard - log in" src="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00531-20111204-1753-253x190.jpg" alt="intalling ubuntu in pandaboard  - log in" width="253" height="190" /></a></p>
<p>It was successful! Now the openCV development could start from here <img src='http://www.andol.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The image mounting tool and disk copying tools can be reached via the link below, note the copyrights belonging to original publishers.</p>
<p><a title="sd burning tools" href="http://download.andol.info/http://download.andol.info/sd burning tools.zip" rel="internal" target="_blank"><strong>tools &#8211; mounting RAW image of ubuntu and burning disk copies</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1850.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doing openCV in Pandaboard 2 &#8211; installing ubuntu 11.04</title>
		<link>http://www.andol.info/hci/1841.htm</link>
		<comments>http://www.andol.info/hci/1841.htm#comments</comments>
		<pubDate>Mon, 05 Dec 2011 22:36:35 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[pandaboard]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1841</guid>
		<description><![CDATA[Pandaboard and ubuntu and openCV In last post a brief show-off was given, with some snapshots of the new arriving pandaboard, but the post only had a quick mention of doing opencv jobs in pandaboard. Hence, I draft a new post to describe the environment of using opencv in pandaboard. Mostly it is about installing [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00523-20111204-1557.jpg"><img class="alignnone size-large wp-image-1843" title="intalling ubuntu in pandaboard 1" src="http://www.andol.info/wp-content/uploads/2011/12/Copy-of-IMG00523-20111204-1557-320x240.jpg" alt="intalling ubuntu in pandaboard 1" width="320" height="240" /></a></p>
<p><strong>Pandaboard and ubuntu and openCV</strong></p>
<p>In last post a brief show-off was given, with some snapshots of the new arriving pandaboard, but the post only had a quick mention of <a title="Doing openCV in Pandaboard" href="http://www.andol.info/hci/1802.htm" rel="internal" target="_blank"><strong>doing opencv jobs in pandaboard</strong></a>. Hence, I draft a new post to describe the environment of using opencv in pandaboard. Mostly it is about installing operation system (ubuntu 11.04) in the pandaboard in which to enable opencv development.</p>
<p><span id="more-1841"></span><strong>Issues of burning RAW image to SD card &#8211; ubuntu and openCV</strong></p>
<p>Many tutorials have been given by bloggers, including video tutorials in youtube.com. Since the pandaboard used sd/mmc card memory as main storage, the ubuntu needs to be burned in the sd card to boot the board. <a title="Burning Ubuntu in SD card" href="http://www.andol.info/hci/1808.htm" rel="internal" target="_blank">Buring ubuntu in SD card</a> had a simple glance at the official tutorial to install ubuntu in the pandaboard. However, that tutorial introduced an invalid software to burn RAW image in to the SD card, as it &#8211; win32 image writer kept popping &#8216;error 8&#8242;. All three versions had been tested, still gave same errors, and were finally given up.</p>
<p><strong>Ubuntu RAW image&#8217;s contents &#8211; the head scratches</strong></p>
<p>I looked into the RAW image extracted from the .gz file, found it consisted of three files, specifically, partitions, respectively named as &#8217;0&#8242;, &#8217;1.img&#8217;, and &#8217;2&#8242;. So it seemed I need to project the three-partition image to the SD card. In windows xp, virtual image reading, disk partition copying &#8211; what tools could fix this headache?</p>
<p><strong>Stucked ubuntu booting &#8211; any ideas?</strong><br />
I partitioned the SD card into three parts, as the RAW image did, same size, same files and same partition orders. Then copied related files to three partitions, burned the &#8217;1.img&#8217; to the second partition &#8211; only got cold black screen. Then I changed the first partition&#8217;s setting as active partition &#8211; windows used to boot from active partition. Try again, OOps, it worked this time&#8230;wait&#8230;&#8230;&#8230;stucked&#8230;lots errors&#8230;no booting ;{</p>
<p>(to be continued)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1841.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hand gesture recognition using Adaboost with SIFT</title>
		<link>http://www.andol.info/hci/1839.htm</link>
		<comments>http://www.andol.info/hci/1839.htm#comments</comments>
		<pubDate>Sat, 03 Dec 2011 14:58:55 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[object recognition]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1839</guid>
		<description><![CDATA[In a early post openCV was used to segment natural hand gestures from complicated backgrounds in real environments, as the picture above showed (see the original post hand gesture detection and recognition using openCV). The picture above is a screenshot from a recent paper, about using Ataboost with SIFT (scale invariant feature transform), to detect [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2009/04/handrect1-485x120.jpg"><img class="alignnone" title="hand gesture segmentation" src="http://www.andol.info/wp-content/uploads/2009/04/handrect1-485x120.jpg" alt="hand gesture segmentation" width="485" height="120" /></a></p>
<p>In a early post openCV was used to segment natural hand gestures from complicated backgrounds in real environments, as the picture above showed (see the original post <strong><a title="Hand gesture detection and recognition using openCV" href="http://www.andol.info/hci/895.htm" rel="internal" target="_blank">hand gesture detection and recognition using openCV</a></strong>).</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/12/sift-hand-detection.jpg"><img class="alignnone size-medium wp-image-1840" title="sift hand detection" src="http://www.andol.info/wp-content/uploads/2011/12/sift-hand-detection-469x190.jpg" alt="hand posture detection using sift" width="469" height="190" /></a></p>
<p><span id="more-1839"></span>The picture above is a screenshot from a recent paper, about using Ataboost with SIFT (scale invariant feature transform), to detect natural hand gestures. The SIFT is used in the paper to reduce the background noise in the training stage, and so experimental results demonstrated in the paper show the approach performs with high accuracy.</p>
<p>So, the the adaboost learning algorithm is used after the SIFT background noise reducing. Relevant functions corresponding to these two algorithms have not been checked in openCV, to see if there is any working functions to realise such algorithms. However, more details about the use of Adaboost and SIFT, the paper <strong><a href="http://download.andol.info/hand posture recognition using adaboost with sift.pdf" title="hand posture recognition using adaboost with sift.pdf" target="_blank" rel="internal">hand posture recognition using Adaboost with sift for human robot interaction</a></strong> is reachable in the download page. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1839.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A successful way to disable all WordPress&#8217;s auto-saves and revisions</title>
		<link>http://www.andol.info/life/1837.htm</link>
		<comments>http://www.andol.info/life/1837.htm#comments</comments>
		<pubDate>Fri, 02 Dec 2011 16:08:02 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1837</guid>
		<description><![CDATA[The secret to successfully disable annoying autosaving and revisions in WordPress Searching out the workpress official site there are a number of posts talking about how to stop the autosaving and revision wordpress. If searching the term in google then the answers are numberous. Typically there are two types of solutions. One is of course [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/wordpress-autosave-revision-disable.jpg"><img class="alignnone size-full wp-image-1838" title="wordpress autosave revision disable" src="http://www.andol.info/wp-content/uploads/2011/12/wordpress-autosave-revision-disable.jpg" alt="wordpress autosave revision disable" width="365" height="282" /></a></p>
<p><strong>The secret to successfully disable annoying autosaving and revisions in WordPress</strong></p>
<p>Searching out the workpress official site there are a number of posts talking about how to stop the autosaving and revision wordpress. If searching the term in google then the answers are numberous. Typically there are two types of solutions. One is of course to use plugins to do the job, and the other one is to modify some settings manually. The hand-coding solution used to have two lines:</p>
<div class='code'>define(&#8216;AUTOSAVE_INTERVAL&#8217;,36000);<br />
define(&#8216;WP_POST_REVISIONS&#8217;, false); </div>
<p>But pasting these two lines in the <strong>wp-config.php</strong> file does not work, many users complain about that. </p>
<p><span id="more-1837"></span>The reason is that these two lines are put in wrong places. Putting these lines on the last of the configure file does not make it work, as the <strong>wp-settings.php</strong> has been loaded already. So, the successful secret is that, put these two lines before the code loading the setting file. Have a try, it works in my blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1837.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detecting hand gestures using Haarcascades training</title>
		<link>http://www.andol.info/hci/1830.htm</link>
		<comments>http://www.andol.info/hci/1830.htm#comments</comments>
		<pubDate>Fri, 02 Dec 2011 11:23:27 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Quote]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1830</guid>
		<description><![CDATA[Haarcascades training (haartraining) is seemed an quick tool to achieve accurate hand gesture detection and recognition. The face and body detection examples included in openCV&#8217;s installation example folders (\opencv\data\haarcascades\) demonstrate how fast the haarcascades files help to do the job. More information about how to train the haarcascades files can go to sonots.com. Many face-image [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/12/Picture-003.jpg"><img class="alignnone size-full wp-image-1831" title="Picture 003" src="http://www.andol.info/wp-content/uploads/2011/12/Picture-003.jpg" alt="hand gestures" width="173" height="168" /></a><a href="http://www.andol.info/wp-content/uploads/2011/12/Picture-0031.jpg"><img class="alignnone size-full wp-image-1832" title="Picture 003" src="http://www.andol.info/wp-content/uploads/2011/12/Picture-0031.jpg" alt="recognised hand gesture" width="173" height="168" /></a></p>
<p><strong>Haarcascades training (haartraining)</strong> is seemed an quick tool to achieve accurate <strong>hand gesture detection and recognition</strong>. The face and body detection examples included in openCV&#8217;s installation example folders (\opencv\data\haarcascades\) demonstrate how fast the haarcascades files help to do the job. More information about how to train the haarcascades files can go to <a title="tutorials and examples of training haarcascades files using openCV" href="http://note.sonots.com/SciSoftware/haartraining.html" rel="external" target="_blank">sonots.com</a>.</p>
<p><span id="more-1830"></span>Many face-image databases have been provided for haarcascades training, e.g. <a title="face image database" href="http://www.face-rec.org/databases/" target="_blank">http://www.face-rec.org/databases/</a>. But hand images are less contributed for haarcascades training. At least, these are more difficult than face images to find in the internet. I was also asked by many blog readers for the haarcascades training file to support their hand detection or recognition related projects.</p>
<p>So I post an example of using <strong>haarcascades training file 1256617233-1-haarcascade_hand.xml</strong> for hand gesture detection.</p>
<p>The source codes can be downloaded from (or go to the download page):</p>
<p><a title="haarcascades training file for hand detection" href="http://download.andol.info/1256617233-1-haarcascade_hand.xml" rel="internal" target="_blank">http://download.andol.info/1256617233-1-haarcascade_hand.xml</a><br />
<a title="haarcascades training file for hand detection" href="http://download.andol.info/1256617233-2-haarcascade-hand.xml" rel="internal" target="_blank">http://download.andol.info/1256617233-2-haarcascade-hand.xml</a><br />
<a title="hand detection using haarcascades trainings" href="http://download.andol.info/haarcascades-based%20hand%20detection.cpp" rel="internal" target="_blank">http://download.andol.info/haarcascades-based%20hand%20detection.cpp</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1830.htm/feed</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>Say goodbye to slow-(Go)daddy</title>
		<link>http://www.andol.info/life/1823.htm</link>
		<comments>http://www.andol.info/life/1823.htm#comments</comments>
		<pubDate>Wed, 30 Nov 2011 21:37:49 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1823</guid>
		<description><![CDATA[VS   Ok, this is the story. If you are a returning reader of my blog you probably would be noticing the improvement of website speed &#8211; it is in a rocket now. Looking back two weeks ago, the blog was hosted in Godaddy, known as the slow daddy. Until recent, even I have noticed [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/11/bluehost.jpg"><img class="alignnone size-thumbnail wp-image-1825" title="bluehost" src="http://www.andol.info/wp-content/uploads/2011/11/bluehost-230x90.jpg" alt="bluehost hosting" width="230" height="90" /></a> <strong>VS</strong>  <a href="http://www.andol.info/wp-content/uploads/2011/11/godaddy.jpg"><img class="alignnone size-thumbnail wp-image-1824" title="godaddy" src="http://www.andol.info/wp-content/uploads/2011/11/godaddy-230x90.jpg" alt="godaddy hosting" width="230" height="90" /></a></p>
<p>Ok, this is the story. If you are a returning reader of my blog you probably would be noticing the improvement of website speed &#8211; it is in a rocket now. Looking back two weeks ago, the blog was hosted in Godaddy, known as the slow daddy. Until recent, even I have noticed and reported the unbearable slowness for weeks, I am still not able to open my blog and post new projects and codes.</p>
<p>Well, the story has a happy ending. The slow daddy&#8217;s hosting plan is going to expire in a month time, so I switch to bluehost with my broken heart. Based on tonight&#8217;s performance, the speed is amazingly satisfied.</p>
<p>So, bluehost K.O. gadaddy. </p>
<p>Farewell, slow daddy&#8217;s wild girls ;(</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1823.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Burning Ubuntu in SD card</title>
		<link>http://www.andol.info/hci/1808.htm</link>
		<comments>http://www.andol.info/hci/1808.htm#comments</comments>
		<pubDate>Thu, 24 Nov 2011 21:08:26 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1808</guid>
		<description><![CDATA[The preparation work When I googled &#8216;pandaboard ubuntu&#8217; I was firstly given the item of &#8216;ubuntu on pandaboar&#8217;. Following the link, finally, I was led to a &#8216;OMAP Ubuntu&#8217; instruction page &#8211; it tells where I should start, to download the system image, and to burn it in a SD card.        Then [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/11/googlepandaboardubuntu.jpg"><img class="size-thumbnail wp-image-1809" title="googlepandaboardubuntu" src="http://www.andol.info/wp-content/uploads/2011/11/googlepandaboardubuntu-230x90.jpg" alt="googlepandaboardubuntu" width="230" height="90" /></a></p>
<p><em>The preparation work</em><br />
When I googled &#8216;pandaboard ubuntu&#8217; I was firstly given the item of &#8216;ubuntu on pandaboar&#8217;. Following the link, finally, I was led to a &#8216;OMAP Ubuntu&#8217; instruction page &#8211; it tells where I should start, to download the system image, and to burn it in a SD card.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/11/omap-ubuntu-instruction.jpg"><img class="size-thumbnail wp-image-1810" title="omap ubuntu instruction" src="http://www.andol.info/wp-content/uploads/2011/11/omap-ubuntu-instruction-230x90.jpg" alt="omap ubuntu instruction" width="230" height="90" /> </a>     <a href="http://www.andol.info/wp-content/uploads/2011/11/pandaboard-prebuilt-binaries-guide.jpg"><img class="size-thumbnail wp-image-1811" title="pandaboard prebuilt binaries guide" src="http://www.andol.info/wp-content/uploads/2011/11/pandaboard-prebuilt-binaries-guide-230x90.jpg" alt="pandaboard prebuilt binaries guide" width="230" height="90" /></a></p>
<p><span id="more-1808"></span>Then downloading the right version of Ubuntu for OMAP4 platform. A number of copy versions are provided in the download page, in which the right one is &#8216;Texas Instruments OMAP4 preinstalled netbook image&#8217;, the download file after clicking the link is named like this &#8216;ubuntu-11.04-preinstalled-netbook-armel+omap4.img.gz&#8217;.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/11/ubuntu-download.jpg"><img class="alignnone size-thumbnail wp-image-1812" title="ubuntu download" src="http://www.andol.info/wp-content/uploads/2011/11/ubuntu-download-230x90.jpg" alt="ubuntu download" width="230" height="90" /></a></p>
<p>After the preinstalled system image downloading, need to unzip it, using winrar or winzip or other proper unzip tools.</p>
<p>(To continue &#8211; burning the downloaded image in a SD card)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1808.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Doing openCV in Pandaboard</title>
		<link>http://www.andol.info/hci/1802.htm</link>
		<comments>http://www.andol.info/hci/1802.htm#comments</comments>
		<pubDate>Wed, 23 Nov 2011 19:25:30 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Interaction]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1802</guid>
		<description><![CDATA[Just received the pandaboard, to show off (;)) before I start to install Ubuntu on it, and to run openCV to see what will happen. New post soon, about installing Ubuntu on this board, then installing and running openCV on it. More posts will be published soon.    ]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/11/IMG00510-20111121-1741.jpg"><img class="alignnone size-thumbnail wp-image-1805" title="pandaboard 3" src="http://www.andol.info/wp-content/uploads/2011/11/IMG00510-20111121-1741-230x90.jpg" alt="pandaboard 3" width="230" height="90" /></a></p>
<p>Just received the pandaboard, to show off (;)) before I start to install Ubuntu on it, and to run openCV to see what will happen. New post soon, about installing Ubuntu on this board, then installing and running openCV on it. More posts will be published soon.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2011/11/IMG00511-20111121-1741.jpg"><img class="alignnone size-thumbnail wp-image-1803" title="pandaboard" src="http://www.andol.info/wp-content/uploads/2011/11/IMG00511-20111121-1741-230x90.jpg" alt="pandaboard" width="230" height="90" /></a>   <a href="http://www.andol.info/wp-content/uploads/2011/11/IMG00512-20111121-1742.jpg"><img class="alignnone size-thumbnail wp-image-1804" title="pandaboard 2" src="http://www.andol.info/wp-content/uploads/2011/11/IMG00512-20111121-1742-230x90.jpg" alt="pandaborad 2" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1802.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The sun set</title>
		<link>http://www.andol.info/life/1794.htm</link>
		<comments>http://www.andol.info/life/1794.htm#comments</comments>
		<pubDate>Sat, 01 Oct 2011 09:49:09 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1794</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[
<a href='http://www.andol.info/life/1794.htm/attachment/img00472-20110927-1911' title='IMG00472-20110927-1911'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/10/IMG00472-20110927-1911-230x90.jpg" class="attachment-thumbnail" alt="sun set" /></a>
<a href='http://www.andol.info/life/1794.htm/attachment/img00473-20110927-1911' title='IMG00473-20110927-1911'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/10/IMG00473-20110927-1911-230x90.jpg" class="attachment-thumbnail" alt="sun set" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1794.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transferring openCV from C++ to Java</title>
		<link>http://www.andol.info/hci/1785.htm</link>
		<comments>http://www.andol.info/hci/1785.htm#comments</comments>
		<pubDate>Sat, 16 Jul 2011 10:42:45 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1785</guid>
		<description><![CDATA[&#160; Transferring the openCV from c++ to Java is what i am doing recently. Comparing with opencv c++ it feels more natural to programme in Java, because of the way of Object-oriented programming and some of Java&#8217;s advantages. But how can the openCV be used in Java seamlessly? The easiest way is to take advantage of [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/07/opencv-for-java.jpg"><img class="alignnone size-thumbnail wp-image-1786" title="opencv for java" src="http://www.andol.info/wp-content/uploads/2011/07/opencv-for-java-230x72.jpg" alt="openCV for Java" width="230" height="72" /></a></p>
<p>&nbsp;</p>
<p>Transferring the openCV from c++ to Java is what i am doing recently. Comparing with opencv c++ it feels more natural to programme in Java, because of the way of Object-oriented programming and some of Java&#8217;s advantages.</p>
<p>But how can the openCV be used in Java seamlessly?</p>
<p><span id="more-1785"></span>The easiest way is to take advantage of existing Java openCV projects, such as JavaCV (<a class="outlink" href="http://code.google.com/p/javacv/">http://code.google.com/p/javacv/</a>) or openCV in Java (<a class="outlink" href="http://ubaa.net/shared/processing/opencv/" target="_blank">http://ubaa.net/shared/processing/opencv/</a>). These wrappers do make the use of openCV relatively easier, as the face detection example below.</p>
<pre class="code">import hypermedia.video.*;
import java.awt.Rectangle;

OpenCV opencv;

void setup() {

    size( 320, 240 );

    opencv = new OpenCV(this);
    opencv.capture( width, height );
    opencv.cascade( OpenCV.CASCADE_FRONTALFACE_ALT );    
    // load the FRONTALFACE description file
}

void draw() {

    opencv.read();
    image( opencv.image(), 0, 0 );

    // detect anything ressembling a FRONTALFACE
    Rectangle[] faces = opencv.detect();

    // draw detected face area(s)
    noFill();
    stroke(255,0,0);
    for( int i=0; i&lt;faces.length; i++ ) {
        rect( faces[i].x, faces[i].y, faces[i].width, faces[i].height ); 
    }
}
[These lines of codes are from 

http://ubaa.net/shared/processing/opencv/opencv_detect.html]

</pre>
<p>Another advantage of using openCV in Java is that it can be integrated into mobile systems such as the Android. With Eclipse the wrapper classes can be used to programme intuitively. For example:</p>
<pre class="code">
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;

public class Smoother {
    public static void smooth(String filename) { 
        IplImage image = cvLoadImage(filename);
        if (image != null) {
            cvSmooth(image, image, CV_GAUSSIAN, 3);
            cvSaveImage(filename, image);
            cvReleaseImage(image);
        }
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1785.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Backyard&#8217;s flowers</title>
		<link>http://www.andol.info/life/1771.htm</link>
		<comments>http://www.andol.info/life/1771.htm#comments</comments>
		<pubDate>Sun, 10 Apr 2011 21:07:51 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1771</guid>
		<description><![CDATA[The weather is becoming warmer and warmer, have a look at the flowers everywhere in the backyard.]]></description>
				<content:encoded><![CDATA[<p>The weather is becoming warmer and warmer, have a look at the flowers everywhere in the backyard.<br />

<a href='http://www.andol.info/life/1771.htm/attachment/img00274-20110410-1028' title='IMG00274-20110410-1028'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/04/IMG00274-20110410-1028-230x90.jpg" class="attachment-thumbnail" alt="backyards flowers" /></a>
<a href='http://www.andol.info/life/1771.htm/attachment/img00275-20110410-1028' title='IMG00275-20110410-1028'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/04/IMG00275-20110410-1028-230x90.jpg" class="attachment-thumbnail" alt="backyards flowers" /></a>
<a href='http://www.andol.info/life/1771.htm/attachment/img00276-20110410-1029' title='IMG00276-20110410-1029'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/04/IMG00276-20110410-1029-230x90.jpg" class="attachment-thumbnail" alt="backyards flowers" /></a>
<a href='http://www.andol.info/life/1771.htm/attachment/img00277-20110410-1029' title='IMG00277-20110410-1029'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/04/IMG00277-20110410-1029-230x90.jpg" class="attachment-thumbnail" alt="backyards flowers" /></a>
<a href='http://www.andol.info/life/1771.htm/attachment/img00278-20110410-1029' title='IMG00278-20110410-1029'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/04/IMG00278-20110410-1029-230x90.jpg" class="attachment-thumbnail" alt="backyards flowers" /></a>
<a href='http://www.andol.info/life/1771.htm/attachment/img00279-20110410-1043' title='IMG00279-20110410-1043'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/04/IMG00279-20110410-1043-230x90.jpg" class="attachment-thumbnail" alt="backyards flowers" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1771.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping object positions to mouse coordinates in openCV</title>
		<link>http://www.andol.info/research/1756.htm</link>
		<comments>http://www.andol.info/research/1756.htm#comments</comments>
		<pubDate>Tue, 29 Mar 2011 09:30:03 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1756</guid>
		<description><![CDATA[The last step, also the key step of detecting objects in openCV is to map the object position to mouse coordinates. Then the object can take over system manipulations. To move the mouse by own positions this needs to do some work. Below is an example of controlling mouse using object detections. #include #include #include [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/03/mouse_arrow.jpg"><img class="alignnone size-thumbnail wp-image-1758" title="mouse_arrow" src="http://www.andol.info/wp-content/uploads/2011/03/mouse_arrow-150x90.jpg" alt="mouse arrow" width="150" height="90" /></a><br />
The last step, also the key step of detecting objects in openCV is to map the object position to mouse coordinates. Then the object can take over system manipulations. To move the mouse by own positions this needs to do some work.<br />
Below is an example of controlling mouse using object detections.</p>
<p><span id="more-1756"></span>
<div class="code">
#include <stdlib.h><br />
#include <stdio.h><br />
#include<br />
<math.h>
#include <windows.h><br />
#include <cv.h><br />
#include <highgui.h></p>
<p>#define BINARY_THRESHOLD 240</p>
<p>LONG Get_ScreenWidth()<br />
{<br />
	RECT	rect;<br />
	GetWindowRect(GetDesktopWindow(),&#038;rect);<br />
	return rect.right &#8211; rect.left;<br />
}</p>
<p>LONG Get_ScreenHight()<br />
{<br />
	RECT	rect;<br />
	GetWindowRect(GetDesktopWindow(),&#038;rect);<br />
	return rect.bottom &#8211; rect.top;<br />
}</p>
<p>void Get_ScreenWidth(DWORD dx,DWORD dy)<br />
{<br />
	DWORD event=0;<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
}</p>
<p>void Left_MouseDown(DWORD dx,DWORD dy)<br />
{<br />
	DWORD event=0;<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
}</p>
<p>void Left_MouseUp(DWORD dx,DWORD dy)<br />
{<br />
	DWORD event=0;<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
}</p>
<p>void Right_MouseDown(DWORD dx,DWORD dy)<br />
{<br />
	DWORD event=0;<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_RIGHTDOWN;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
}</p>
<p>void Right_MouseUp(DWORD dx,DWORD dy)<br />
{<br />
	DWORD event=0;<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_RIGHTUP;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
}</p>
<p>void Left_SingleClick(DWORD dx,DWORD dy)<br />
{<br />
	DWORD event=0;<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
}<br />
void Right_SingleClick(DWORD dx,DWORD dy)<br />
{<br />
	DWORD event=0;<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_RIGHTDOWN;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_RIGHTUP;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
}<br />
void Left_DoubleClick(DWORD dx,DWORD dy)<br />
{<br />
	Left_SingleClick(dx,dy);<br />
	Left_SingleClick(dx,dy);<br />
}<br />
void Right_DoubleClick(DWORD dx,DWORD dy)<br />
{<br />
	Right_SingleClick(dx,dy);<br />
	Right_SingleClick(dx,dy);<br />
}<br />
void Mouse_Move(DWORD dx,DWORD dy)<br />
{<br />
	DWORD event=0;<br />
	event = MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE;<br />
	mouse_event(event, dx*65535/Get_ScreenWidth(), dy*65535/Get_ScreenHight(), 0, 0);<br />
}</p>
<p>IplImage* filterNoise(IplImage *img)<br />
{<br />
   static IplImage*  pyr = NULL;<br />
   if(!pyr)<br />
   {<br />
      pyr = cvCreateImage( cvSize(img->width/2, img->height/2), 8, 1 );<br />
   }<br />
   cvSmooth(img, img, CV_GAUSSIAN, 3, 0, 0);<br />
   cvPyrDown(img, pyr, CV_GAUSSIAN_5x5);<br />
   cvPyrUp(pyr, img, CV_GAUSSIAN_5x5);<br />
   cvErode(img, img, 0, 1);<br />
   cvDilate(img, img, 0, 1);<br />
   return img;<br />
}</p>
<p>IplImage* convertToBinary(IplImage *in, IplImage *out)<br />
{<br />
   cvCvtColor(in, out, CV_BGR2GRAY);<br />
   cvThreshold(out, out, BINARY_THRESHOLD, 255, CV_THRESH_BINARY);<br />
   return out;<br />
}</p>
<p>void findBlobs(IplImage *bin_img, IplImage* debug_img)<br />
{<br />
   static CvMemStorage *storage = cvCreateMemStorage(0);<br />
   CvSeq * contour;<br />
   CvScalar color;<br />
	DWORD event=0;<br />
   cvFindContours( bin_img, storage, &#038;contour, sizeof(CvContour),<br />
      CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE);<br />
   for(; contour; contour = contour->h_next)<br />
   {<br />
      CvRect rect = cvBoundingRect(contour, 1);<br />
      CvPoint pt1 = cvPoint(rect.x, rect.y),<br />
              pt2 = cvPoint(rect.x+rect.width, rect.y+rect.height);<br />
      if(debug_img)<br />
	  {<br />
		cvRectangle(debug_img, pt1, pt2, CV_RGB(255,0,0),2);<br />
		cvDrawContours(debug_img, contour,<br />
			CV_RGB(255,0,0), CV_RGB(255, 0, 0), 0, 2, 8);<br />
	    color = CV_RGB(0,255,0);<br />
		cvCircle(debug_img, cvPoint((pt1.x+pt2.x)/2, (pt1.y+pt2.y)/2), 10, color, 3);<br />
		Mouse_Move((pt1.x+pt2.x)/2, (pt1.y+pt2.y)/2);<br />
      }<br />
   }<br />
}</p>
<p>int main(int argc, char** argv)<br />
{<br />
   CvCapture* capture;<br />
   IplImage *img, *bin_img = NULL;<br />
   int key;<br />
   capture = cvCaptureFromCAM(0);<br />
   cvNamedWindow(&#8220;mainWin&#8221;, CV_WINDOW_AUTOSIZE);<br />
   cvMoveWindow(&#8220;mainWin&#8221;, 600, 100);<br />
   while(cvGrabFrame(capture))<br />
   {<br />
      img=cvRetrieveFrame(capture);<br />
      if(!bin_img)<br />
	  {<br />
		  bin_img=cvCreateImage( cvGetSize(img), IPL_DEPTH_8U, 1 );<br />
	  }</p>
<p>      cvFlip(img, NULL, 0);<br />
      convertToBinary(img, bin_img);<br />
      filterNoise(bin_img);				</p>
<p>      findBlobs(bin_img, img);			</p>
<p>      cvFlip(img, NULL, 0);<br />
      cvShowImage(&#8220;mainWin&#8221;, img); </p>
<p>      key=cvWaitKey(1);<br />
      if(key == 27 || key == &#8216;q&#8217;)<br />
	  {<br />
         break;<br />
	  }<br />
      if(key == &#8216; &#8216;)<br />
	  {<br />
         cvWaitKey(0);<br />
	  }<br />
   }<br />
   DWORD dx = 0,dy = 0;<br />
   while(1)<br />
   {<br />
	   if(dx >1024)<br />
	   {<br />
		   dx = 0;<br />
	   }<br />
	   if(dy >1024)<br />
	   {<br />
		   dy = 0;<br />
	   }<br />
	   Mouse_Move(dx++,dy++);<br />
	   Left_SingleClick(dx,dy);<br />
      key=cvWaitKey(20);<br />
      if(key == 27 || key == &#8216;q&#8217;)<br />
	  {<br />
         break;<br />
	  }<br />
   }</p>
<p>   cvReleaseCapture(&#038;capture);<br />
   return 0;<br />
}
</p></div>
<p><em>The source codes are referred from <a href="http://www.hackchina.com/r/59225/main.cpp__html">http://www.hackchina.com/r/59225/main.cpp__html</a> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/research/1756.htm/feed</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Cherry trees flowering</title>
		<link>http://www.andol.info/life/1748.htm</link>
		<comments>http://www.andol.info/life/1748.htm#comments</comments>
		<pubDate>Mon, 28 Mar 2011 17:33:01 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1748</guid>
		<description><![CDATA[Cherry trees are flowering now&#8230;]]></description>
				<content:encoded><![CDATA[<p>Cherry trees are flowering now&#8230;</p>

<a href='http://www.andol.info/life/1748.htm/attachment/img00254-20110323-0837' title='IMG00254-20110323-0837'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/03/IMG00254-20110323-0837-230x90.jpg" class="attachment-thumbnail" alt="the cherry tree flowers 4" /></a>
<a href='http://www.andol.info/life/1748.htm/attachment/img00251-20110322-0827' title='IMG00251-20110322-0827'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/03/IMG00251-20110322-0827-230x90.jpg" class="attachment-thumbnail" alt="the cherry tree flowers 3" /></a>
<a href='http://www.andol.info/life/1748.htm/attachment/img00252-20110322-0827' title='IMG00252-20110322-0827'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/03/IMG00252-20110322-0827-230x90.jpg" class="attachment-thumbnail" alt="the cherry tree flowers 2" /></a>
<a href='http://www.andol.info/life/1748.htm/attachment/img00253-20110323-0836' title='IMG00253-20110323-0836'><img width="230" height="90" src="http://www.andol.info/wp-content/uploads/2011/03/IMG00253-20110323-0836-230x90.jpg" class="attachment-thumbnail" alt="the cherry tree flowers 1" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1748.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hosting space sharing</title>
		<link>http://www.andol.info/life/1735.htm</link>
		<comments>http://www.andol.info/life/1735.htm#comments</comments>
		<pubDate>Mon, 21 Mar 2011 12:28:54 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[godaddy]]></category>
		<category><![CDATA[hosting space]]></category>
		<category><![CDATA[shared hosting]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1735</guid>
		<description><![CDATA[The hosting where andol.info locates at has huge amount of hosting space spared with unlimited bandwidth monthly. Thereby to utilise these spare resources to people who need them, the hosting is prepared to let, as specifications described below. DETAILS space: 10G (or more as request) monthly bandwidth: unlimited (though you can use bandwidth unlimitedly, please [...]]]></description>
				<content:encoded><![CDATA[<p>The hosting where <a class="outlink" title="andol.info" href="http://www.andol.info">andol.info</a> locates at has huge amount of hosting space spared with unlimited bandwidth monthly. Thereby to utilise these spare resources to people who need them, the hosting is prepared to let, as specifications described below.</p>
<p><strong>DETAILS</strong></p>
<p>space: 10G (or more as request)<br />
monthly bandwidth: unlimited (though you can use bandwidth unlimitedly, please be aware of other sites&#8217; performances)<br />
database: one mysql datebase sized at 250M<br />
program environment: php4/5one<br />
domain: your personal domain can be bound to your hosting space<br />
ftp account provided for file managements<br />
price: <strong>£10 pa</strong></p>
<p><strong>REQUIREMENTS</strong></p>
<p>1. ideally for personal blog or storage space only, no bbs or sns-like sites, nor BT sites.<br />
2. all maintaining work will done by me, if any problem encountered there will be fast response as possible.<br />
3. do not use this for illegal purposes against laws</p>
<p>if this may interest you or have any detail enquiries please contact andol <strong><em>yandol[at]hotmail.com</em></strong> with no hesitation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1735.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New office new start</title>
		<link>http://www.andol.info/life/1724.htm</link>
		<comments>http://www.andol.info/life/1724.htm#comments</comments>
		<pubDate>Thu, 10 Mar 2011 09:30:10 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1724</guid>
		<description><![CDATA[This is a photograph taken in new office by looking outside the window.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/03/IMG00232-20110310-0911.jpg"><img class="alignnone size-thumbnail wp-image-1725" title="IMG00232-20110310-0911" src="http://www.andol.info/wp-content/uploads/2011/03/IMG00232-20110310-0911-230x90.jpg" alt="landscapes looking outside office window" width="230" height="90" /></a><br />
This is a photograph taken in new office by looking outside the window.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1724.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An example of detecting object motions using openCV</title>
		<link>http://www.andol.info/hci/1714.htm</link>
		<comments>http://www.andol.info/hci/1714.htm#comments</comments>
		<pubDate>Mon, 28 Feb 2011 21:47:20 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1714</guid>
		<description><![CDATA[As asked many times about how to use openCV to detect body movements or other object movements, i borrow an example from openCV installation samples, which regards to motion detections particularly in motion directions. Some relevant posts have been posted before here, but to declare the use of openCV samples, this artical is posted. The [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2011/02/motiondetection.jpg"><img class="alignnone size-thumbnail wp-image-1715" title="motiondetection" src="http://www.andol.info/wp-content/uploads/2011/02/motiondetection-230x90.jpg" alt="Motion detection example" width="230" height="90" /></a></p>
<p>As asked many times about how to use openCV to detect body movements or other object movements, i borrow an example from openCV installation samples, which regards to motion detections particularly in motion directions. Some relevant posts have been posted before <a class="outlink" title="Motion track" href="http://www.andol.info/hci/360.htm">here</a>, but to declare the use of openCV samples, this artical is posted. The picture demonstrating above has clearly showed the detection results which is, from left up to right down, just as the object moves, which is actually my head and part of shoulder.</p>
<p><span id="more-1714"></span>Though this example is far too simple to put in practical use, this can be still useful for further applications as long as the codes are improved, at least the detection rules are remained. Here below is the list of source code which can be used directly as a .cpp file, check it out:</p>
<div class="code">
#ifdef _CH_<br />
#pragma package <opencv><br />
#endif</p>
<p>#ifndef _EiC<br />
// motion templates sample code<br />
#include &#8220;cv.h&#8221;<br />
#include &#8220;highgui.h&#8221;<br />
#include <time.h><br />
#include<br />
<math.h>
#include <ctype.h><br />
#include <stdio.h><br />
#endif</p>
<p>// various tracking parameters (in seconds)<br />
const double MHI_DURATION = 1;<br />
const double MAX_TIME_DELTA = 0.5;<br />
const double MIN_TIME_DELTA = 0.05;<br />
// number of cyclic frame buffer used for motion detection<br />
// (should, probably, depend on FPS)<br />
const int N = 4;</p>
<p>// ring image buffer<br />
IplImage **buf = 0;<br />
int last = 0;</p>
<p>// temporary images<br />
IplImage *mhi = 0; // MHI<br />
IplImage *orient = 0; // orientation<br />
IplImage *mask = 0; // valid orientation mask<br />
IplImage *segmask = 0; // motion segmentation map<br />
CvMemStorage* storage = 0; // temporary storage</p>
<p>// parameters:<br />
//  img &#8211; input video frame<br />
//  dst &#8211; resultant motion picture<br />
//  args &#8211; optional parameters<br />
void  update_mhi( IplImage* img, IplImage* dst, int diff_threshold )<br />
{<br />
    double timestamp = (double)clock()/CLOCKS_PER_SEC; // get current time in seconds<br />
    CvSize size = cvSize(img->width,img->height); // get current frame size<br />
    int i, idx1 = last, idx2;<br />
    IplImage* silh;<br />
    CvSeq* seq;<br />
    CvRect comp_rect;<br />
    double count;<br />
    double angle;<br />
    CvPoint center;<br />
    double magnitude;<br />
    CvScalar color;</p>
<p>    // allocate images at the beginning or<br />
    // reallocate them if the frame size is changed<br />
    if( !mhi || mhi->width != size.width || mhi->height != size.height ) {<br />
        if( buf == 0 ) {<br />
            buf = (IplImage**)malloc(N*sizeof(buf[0]));<br />
            memset( buf, 0, N*sizeof(buf[0]));<br />
        }</p>
<p>        for( i = 0; i < N; i++ ) {<br />
            cvReleaseImage( &#038;buf[i] );<br />
            buf[i] = cvCreateImage( size, IPL_DEPTH_8U, 1 );<br />
            cvZero( buf[i] );<br />
        }<br />
        cvReleaseImage( &#038;mhi );<br />
        cvReleaseImage( &#038;orient );<br />
        cvReleaseImage( &#038;segmask );<br />
        cvReleaseImage( &#038;mask );</p>
<p>        mhi = cvCreateImage( size, IPL_DEPTH_32F, 1 );<br />
        cvZero( mhi ); // clear MHI at the beginning<br />
        orient = cvCreateImage( size, IPL_DEPTH_32F, 1 );<br />
        segmask = cvCreateImage( size, IPL_DEPTH_32F, 1 );<br />
        mask = cvCreateImage( size, IPL_DEPTH_8U, 1 );<br />
    }</p>
<p>    cvCvtColor( img, buf[last], CV_BGR2GRAY ); // convert frame to grayscale</p>
<p>    idx2 = (last + 1) % N; // index of (last - (N-1))th frame<br />
    last = idx2;</p>
<p>    silh = buf[idx2];<br />
    cvAbsDiff( buf[idx1], buf[idx2], silh ); // get difference between frames</p>
<p>    cvThreshold( silh, silh, diff_threshold, 1, CV_THRESH_BINARY ); // and threshold it<br />
    cvUpdateMotionHistory( silh, mhi, timestamp, MHI_DURATION ); // update MHI</p>
<p>    // convert MHI to blue 8u image<br />
    cvCvtScale( mhi, mask, 255./MHI_DURATION,<br />
                (MHI_DURATION - timestamp)*255./MHI_DURATION );<br />
    cvZero( dst );<br />
    cvCvtPlaneToPix( mask, 0, 0, 0, dst );</p>
<p>    // calculate motion gradient orientation and valid orientation mask<br />
    cvCalcMotionGradient( mhi, mask, orient, MAX_TIME_DELTA, MIN_TIME_DELTA, 3 );</p>
<p>    if( !storage )<br />
        storage = cvCreateMemStorage(0);<br />
    else<br />
        cvClearMemStorage(storage);</p>
<p>    // segment motion: get sequence of motion components<br />
    // segmask is marked motion components map. It is not used further<br />
    seq = cvSegmentMotion( mhi, segmask, storage, timestamp, MAX_TIME_DELTA );</p>
<p>    // iterate through the motion components,<br />
    // One more iteration (i == -1) corresponds to the whole image (global motion)<br />
    for( i = -1; i < seq->total; i++ ) {</p>
<p>        if( i < 0 ) { // case of the whole image<br />
            comp_rect = cvRect( 0, 0, size.width, size.height );<br />
            color = CV_RGB(255,255,255);<br />
            magnitude = 100;<br />
        }<br />
        else { // i-th motion component<br />
            comp_rect = ((CvConnectedComp*)cvGetSeqElem( seq, i ))->rect;<br />
            if( comp_rect.width + comp_rect.height < 100 ) // reject very small components<br />
                continue;<br />
            color = CV_RGB(255,0,0);<br />
            magnitude = 30;<br />
        }</p>
<p>        // select component ROI<br />
        cvSetImageROI( silh, comp_rect );<br />
        cvSetImageROI( mhi, comp_rect );<br />
        cvSetImageROI( orient, comp_rect );<br />
        cvSetImageROI( mask, comp_rect );</p>
<p>        // calculate orientation<br />
        angle = cvCalcGlobalOrientation( orient, mask, mhi, timestamp, MHI_DURATION);<br />
        angle = 360.0 - angle;  // adjust for images with top-left origin</p>
<p>        count = cvNorm( silh, 0, CV_L1, 0 ); // calculate number of points within silhouette ROI</p>
<p>        cvResetImageROI( mhi );<br />
        cvResetImageROI( orient );<br />
        cvResetImageROI( mask );<br />
        cvResetImageROI( silh );</p>
<p>        // check for the case of little motion<br />
        if( count < comp_rect.width*comp_rect.height * 0.05 )<br />
            continue;</p>
<p>        // draw a clock with arrow indicating the direction<br />
        center = cvPoint( (comp_rect.x + comp_rect.width/2),<br />
                          (comp_rect.y + comp_rect.height/2) );</p>
<p>        cvCircle( dst, center, cvRound(magnitude*1.2), color, 3, CV_AA, 0 );<br />
        cvLine( dst, center, cvPoint( cvRound( center.x + magnitude*cos(angle*CV_PI/180)),<br />
                cvRound( center.y - magnitude*sin(angle*CV_PI/180))), color, 3, CV_AA, 0 );<br />
    }<br />
}</p>
<p>int main(int argc, char** argv)<br />
{<br />
    IplImage* motion = 0;<br />
    CvCapture* capture = 0;</p>
<p>    if( argc == 1 || (argc == 2 &#038;&#038; strlen(argv[1]) == 1 &#038;&#038; isdigit(argv[1][0])))<br />
        capture = cvCaptureFromCAM( argc == 2 ? argv[1][0] - '0' : 0 );<br />
    else if( argc == 2 )<br />
        capture = cvCaptureFromFile( argv[1] );</p>
<p>    if( capture )<br />
    {<br />
        cvNamedWindow( "Motion", 1 );</p>
<p>        for(;;)<br />
        {<br />
            IplImage* image;<br />
            if( !cvGrabFrame( capture ))<br />
                break;<br />
            image = cvRetrieveFrame( capture );</p>
<p>            if( image )<br />
            {<br />
                if( !motion )<br />
                {<br />
                    motion = cvCreateImage( cvSize(image->width,image->height), 8, 3 );<br />
                    cvZero( motion );<br />
                    motion->origin = image->origin;<br />
                }<br />
            }</p>
<p>            update_mhi( image, motion, 30 );<br />
            cvShowImage( &#8220;Motion&#8221;, motion );</p>
<p>            if( cvWaitKey(10) >= 0 )<br />
                break;<br />
        }<br />
        cvReleaseCapture( &#038;capture );<br />
        cvDestroyWindow( &#8220;Motion&#8221; );<br />
    }</p>
<p>    return 0;<br />
}</p>
<p>#ifdef _EiC<br />
main(1,&#8221;motempl.c&#8221;);<br />
#endif</p>
</div>
<p><em>To download the source code, please refer to directory &#8220;<b>OpenCV\samples\c\motempl.c</b>&#8220;.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1714.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Another open library for object detections and recognitions &#8211; aforge.net</title>
		<link>http://www.andol.info/hci/1709.htm</link>
		<comments>http://www.andol.info/hci/1709.htm#comments</comments>
		<pubDate>Tue, 28 Dec 2010 16:41:52 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[object detection]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1709</guid>
		<description><![CDATA[I found this by chance when i was searching something about body gesture recognitions. But this open library does attract me because it provides some features which can be very useful to detect and recognise objects, such like the picture above shows. Anyway i just provide a brief introduction to this library, and for more [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/12/shape_checker.png"><img class="alignnone size-thumbnail wp-image-1710" title="shape_checker" src="http://www.andol.info/wp-content/uploads/2010/12/shape_checker-230x90.png" alt="shape_checker" width="230" height="90" /></a></p>
<p>I found this by chance when i was searching something about body gesture recognitions. But this open library does attract me because it provides some features which can be very useful to detect and recognise objects, such like the picture above shows. Anyway i just provide a brief introduction to this library, and for more information please refer the official site here <a class="outlink" title="aforge.net" href="http://www.aforgenet.com/framework/samples/" target="_blank">http://www.aforgenet.com/framework/samples/.</a></p>
<p><span id="more-1709"></span>Shortly after further using and comparing with openCV in some object detections and recognitions, i will post another review post on this. Here is the brief introductions below.</p>
<blockquote><p><strong>AForge.NET</strong> framework is represented not only by a set of libraries and corresponding <a href="http://www.aforgenet.com/framework/documentation.html">documentation</a>, but also consists of collection of different sample applications, which are aimed to demonstrate usage of different framework&#8217;s API. The samples collection together with the provided framework&#8217;s documentation serves a good source of information and allows people to start working quickly with the framework and apply it for solving their own tasks in their different applications.</p>
<p>All the sources of <strong>AForge.NET</strong> framework&#8217;s sample applications are available in framework&#8217;s <a href="http://www.aforgenet.com/framework/downloads.html">installation package</a>, which contains all the components required to start working with the framework. Also binaries of all applications are available for downloading directly from the site, so each sample could be tested without installing the framework (look for downloads links on pages describing samples).</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1709.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Happy new year 2011</title>
		<link>http://www.andol.info/life/1706.htm</link>
		<comments>http://www.andol.info/life/1706.htm#comments</comments>
		<pubDate>Tue, 28 Dec 2010 16:28:00 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1706</guid>
		<description><![CDATA[Farewell, 2010! Wish every friend happy new year 2011!]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/12/Untitled-1.png"><img class="alignnone size-thumbnail wp-image-1707" title="happy new year 2011" src="http://www.andol.info/wp-content/uploads/2010/12/Untitled-1-230x90.png" alt="happy new year 2011" width="230" height="90" /></a></p>
<p>Farewell, 2010!</p>
<p><strong><span style="color: #ff0000; font-size: 16px;">Wish every friend happy new year 2011!</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1706.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Building projects in openCV 2.0</title>
		<link>http://www.andol.info/research/1698.htm</link>
		<comments>http://www.andol.info/research/1698.htm#comments</comments>
		<pubDate>Mon, 20 Dec 2010 16:33:42 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1698</guid>
		<description><![CDATA[As the new release of openCV version 2.0, the projects which were published in this site may generate many issues while trying to build the code in a project. To address this type of issue, please check the version of openCV, as this may be a easy problem if the version triggers issues. This is [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/12/opencv-logo2.png"><img class="alignnone size-full wp-image-1699" title="opencv-logo2" src="http://www.andol.info/wp-content/uploads/2010/12/opencv-logo2.png" alt="opencv-logo" width="39" height="48" /></a></p>
<p>As the new release of openCV version 2.0, the projects which were published in this site may generate many issues while trying to build the code in a project. To address this type of issue, please check the version of openCV, as this may be a easy problem if the version triggers issues.</p>
<p>This is a quick reminder that noticing the openCV version while compiling the codes, hope this helps.</p>
<p>More information about the differences between version 1.2 and 2.0, i suggest the <a class="outlink" title="opencv wiki" href="http://opencv.willowgarage.com/wiki/" target="_blank">openCVWiki </a>and another site <a title="opencv reference" href="http://opencv.willowgarage.com/documentation/index.html" target="_blank" class="outlink">openCV Reference</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/research/1698.htm/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The third snow in pictures</title>
		<link>http://www.andol.info/life/1679.htm</link>
		<comments>http://www.andol.info/life/1679.htm#comments</comments>
		<pubDate>Wed, 01 Dec 2010 09:39:21 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1679</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/12/IMG00052-20101201-0900.jpg"><img class="alignnone size-thumbnail wp-image-1682" title="IMG00052-20101201-0900" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00052-20101201-0900-230x90.jpg" alt="Huddersfield snow" width="230" height="90" /></a><br />
<span id="more-1679"></span><br />
  <a href="http://www.andol.info/wp-content/uploads/2010/12/IMG00053-20101201-0900.jpg"><img class="alignnone size-medium wp-image-1681" title="IMG00053-20101201-0900" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00053-20101201-0900-253x190.jpg" alt="Huddersfield snow" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/12/IMG00055-20101201-0901.jpg"><img class="alignnone size-medium wp-image-1680" title="IMG00055-20101201-0901" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00055-20101201-0901-142x190.jpg" alt="Huddersfield snow" width="142" height="190" /></a> <img class="alignnone size-medium wp-image-1689" title="IMG00056-20101201-0902" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00056-20101201-0902-142x190.jpg" alt="Huddersfield snow" width="142" height="190" /></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/12/IMG00057-20101201-0902.jpg"><img class="alignnone size-medium wp-image-1688" title="IMG00057-20101201-0902" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00057-20101201-0902-253x190.jpg" alt="Huddersfield snow" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/12/IMG00058-20101201-0902.jpg"><img class="alignnone size-medium wp-image-1687" title="IMG00058-20101201-0902" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00058-20101201-0902-253x190.jpg" alt="Huddersfield snow" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/12/IMG00059-20101201-0902.jpg"><img class="alignnone size-medium wp-image-1686" title="IMG00059-20101201-0902" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00059-20101201-0902-253x190.jpg" alt="Huddersfield snow" width="253" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/12/IMG00060-20101201-0913.jpg"><img class="alignnone size-medium wp-image-1685" title="IMG00060-20101201-0913" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00060-20101201-0913-142x190.jpg" alt="Huddersfield snow" width="142" height="190" /></a> <img class="alignnone size-medium wp-image-1683" title="IMG00062-20101201-0914" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00062-20101201-0914-141x190.jpg" alt="Huddersfield snow" width="141" height="190" /></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/12/IMG00061-20101201-0914.jpg"><img class="alignnone size-medium wp-image-1684" title="IMG00061-20101201-0914" src="http://www.andol.info/wp-content/uploads/2010/12/IMG00061-20101201-0914-274x190.jpg" alt="Huddersfield snow" width="274" height="190" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1679.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Another heavy snow</title>
		<link>http://www.andol.info/life/1675.htm</link>
		<comments>http://www.andol.info/life/1675.htm#comments</comments>
		<pubDate>Tue, 30 Nov 2010 09:37:35 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1675</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/11/IMG00051-20101130-0913.jpg"><img class="alignnone size-thumbnail wp-image-1676" title="IMG00051-20101130-0913" src="http://www.andol.info/wp-content/uploads/2010/11/IMG00051-20101130-0913-230x90.jpg" alt="Huddersfield snow" width="230" height="90" /></a><br />
<span id="more-1675"></span><br />
<a href="http://www.andol.info/wp-content/uploads/2010/11/IMG00049-20101130-0907.jpg"><img class="alignnone size-thumbnail wp-image-1677" title="IMG00049-20101130-0907" src="http://www.andol.info/wp-content/uploads/2010/11/IMG00049-20101130-0907-230x90.jpg" alt="Huddersfield snow" width="230" height="90" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/11/IMG00050-20101130-0910.jpg"><img class="alignnone size-thumbnail wp-image-1678" title="IMG00050-20101130-0910" src="http://www.andol.info/wp-content/uploads/2010/11/IMG00050-20101130-0910-230x90.jpg" alt="Huddersfield snow" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1675.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This year&#8217;s first snow in pictures</title>
		<link>http://www.andol.info/life/1672.htm</link>
		<comments>http://www.andol.info/life/1672.htm#comments</comments>
		<pubDate>Mon, 29 Nov 2010 11:22:10 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1672</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/11/IMG00042-20101128-1132.jpg"><img class="size-thumbnail wp-image-1673" title="IMG00042-20101128-1132" src="http://www.andol.info/wp-content/uploads/2010/11/IMG00042-20101128-1132-230x90.jpg" alt="Huddersfield snow" width="230" height="90" /></a><br />
<span id="more-1672"></span><br />
<a href="http://www.andol.info/wp-content/uploads/2010/11/IMG00041-20101128-1132.jpg"><img class="alignnone size-medium wp-image-1674" title="IMG00041-20101128-1132" src="http://www.andol.info/wp-content/uploads/2010/11/IMG00041-20101128-1132-253x190.jpg" alt="Huddersfield snow" width="253" height="190" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1672.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A leaflet of the protest against spending review</title>
		<link>http://www.andol.info/life/1668.htm</link>
		<comments>http://www.andol.info/life/1668.htm#comments</comments>
		<pubDate>Fri, 15 Oct 2010 08:43:14 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1668</guid>
		<description><![CDATA[It has been days ago when the spending review got public. The university fee caps are going to be removed and the research funding is about to shrink,  the winder for most departments is coming since the tough situation. And this morning on my way to office there were some people standing around the street and delivering [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/10/protest-against-spending-review.jpg"><img class="alignleft size-thumbnail wp-image-1669" title="protest-against-spending-review" src="http://www.andol.info/wp-content/uploads/2010/10/protest-against-spending-review-230x90.jpg" alt="leaflet of protest" width="230" height="90" /></a>It has been days ago when the spending review got public. The university fee caps are going to be removed and the research funding is about to shrink,  the winder for most departments is coming since the tough situation. And this morning on my way to office there were some people standing around the street and delivering leaflets which were about the protest against comprehensive spending review. Hope the protest go well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1668.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multitouch and gesture support on the Flash Platform</title>
		<link>http://www.andol.info/quote/1666.htm</link>
		<comments>http://www.andol.info/quote/1666.htm#comments</comments>
		<pubDate>Wed, 13 Oct 2010 15:04:13 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Quote]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[multitouch]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1666</guid>
		<description><![CDATA[This platform of multitouch with Flash was found by chance but it excited me indeed. Through this platform it means designers can develop multitouch applications freely as long as they have a device which supports multitouch. (In our laboratory there is a touch board which supports single touch, anybody knows how to turn this board [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/10/flashmtouch.jpg"><img class="alignleft size-thumbnail wp-image-1667" title="flashmtouch" src="http://www.andol.info/wp-content/uploads/2010/10/flashmtouch-230x90.jpg" alt="flash platform of multitouch " width="230" height="90" /></a>This platform of multitouch with Flash was found by chance but it excited me indeed. Through this platform it means designers can develop multitouch applications freely as long as they have a device which supports multitouch. (In our laboratory there is a touch board which supports single touch, anybody knows how to turn this board into multitouch one, please please do tell me) For more details please read the full post including the original library URL from Adobe.</p>
<p><span id="more-1666"></span></p>
<blockquote>
<h3>1. Multitouch and gestures defined</h3>
<p>The term multitouch refers to the ability not only to detect physical touches and movements on a screen, but to detect and track multiple touches and movements simultaneously. Touch events are similar to mouse events, except that you can receive and track more than one of them at once, and touch events do not support mouse-specific concepts such as hovering.</p>
<div>
<p>Gestures are the synthesis of multiple touch events into a single event. Examples of gestures include &#8220;pinching&#8221; an image to scale it, or &#8220;swiping&#8221; to delete something from a list. Some platforms explicitly support the concept of gestures, reducing the amount of work that a developer needs to do in order to detect and react to them, and some platforms require developers to capture multiple touch events and synthesize them into gestures themselves. The Flash Platform automatically synthesizes the most common gestures across different platforms, but also provides developers with the APIs necessary to synthesize their own.</p>
<p>Although multitouch technology has been around for many years, it was the popularity of the Apple iPhone that really introduced the concept to the mainstream. The advantages of interacting with devices directly, rather than through buttons or using a stylus, has become so apparent that the behavior is making its way into desktop computing, as well. Windows 7 supports multitouch right out of the box, HP has been selling touch-enabled <a class="outlink" href="http://www.hp.com/united-states/campaigns/touchsmart/" target="_blank">TouchSmart computers</a> since 2007, and Microsoft launched the gesture- and touch-centric <a class="outlink" href="http://www.microsoft.com/surface/pages/product/WhatIs.aspx" target="_blank">Microsoft Surface</a> in 2008. Additionally, Apple introduced their multitouch trackpad with the MacBook Air, and has since incorporated the technology into their entire laptop line. Apple&#8217;s newest mouse—the Magic Mouse—even has limited gesture support. Touch, multitouch, gesture, and <a class="outlink" href="http://en.wikipedia.org/wiki/Haptic_technology" target="_blank">haptic</a>-based computing is becoming so prominent that almost all new high-end, hand-held devices support one or more of these interaction models.</p>
<p>&#8230;</p>
</div>
</blockquote>
<p>For full information please refer this original article <a class="outlink" href="http://www.adobe.com/devnet/flash/articles/multitouch_gestures.html" target="_blank">http://www.adobe.com/devnet/flash/articles/multitouch_gestures.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/quote/1666.htm/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Happy Middle Autumn Day</title>
		<link>http://www.andol.info/life/1664.htm</link>
		<comments>http://www.andol.info/life/1664.htm#comments</comments>
		<pubDate>Wed, 22 Sep 2010 08:29:44 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1664</guid>
		<description><![CDATA[Happy Middle Autumn day, well, is that suppose to be called Middle Autumn Festival? Anyway, Andol wishes all all you guys have a happy day, enjoy the Moon and the festival cake.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/09/moon_festival10-hp.gif"><img class="alignleft size-thumbnail wp-image-1665" title="moon_festival10-hp" src="http://www.andol.info/wp-content/uploads/2010/09/moon_festival10-hp-230x90.gif" alt="middle autumn day" width="230" height="90" /></a>Happy Middle Autumn day, well, is that suppose to be called Middle Autumn Festival? Anyway, Andol wishes all all you guys have a happy day, enjoy the Moon and the festival cake.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1664.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A method of detecting and recognising hand gestures using openCV</title>
		<link>http://www.andol.info/hci/1661.htm</link>
		<comments>http://www.andol.info/hci/1661.htm#comments</comments>
		<pubDate>Fri, 03 Sep 2010 15:35:12 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1661</guid>
		<description><![CDATA[This post is about to introduce an efficient method of detecting and recognising hand gestures using the convexity detection of openCV, as illustrated in the picture on the left. In contrast to the previous work of detecting hand contours, this method steps further to recognise gestures of hand pretty accurately, meanwhile this shows possibilities of [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/09/convexity-detect.jpg"><img class="alignleft size-thumbnail wp-image-1662" title="convexity-detect" src="http://www.andol.info/wp-content/uploads/2010/09/convexity-detect-230x90.jpg" alt="hand gesture recognition using convexity" width="230" height="90" /></a>This post is about to introduce an efficient method of detecting and recognising hand gestures using the convexity detection of openCV, as illustrated in the picture on the left. In contrast to the previous work of <a class="outlink" href="http://www.andol.info/hci/895.htm" target="_self">detecting hand contours</a>, this method steps further to recognise gestures of hand pretty accurately, meanwhile this shows possibilities of extend such work into using simple hand gestures to manipulate computer applications.</p>
<p><span id="more-1661"></span>For more details, here is a relevant tutorial video made by original author who explains who this works.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Fjj9gqTCTfc?fs=1&amp;hl=en_GB" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/Fjj9gqTCTfc?fs=1&amp;hl=en_GB" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here gives the source code of this video demonstration.</p>
<blockquote><p>You can download the full code at:<br />
1) Full Demo Solution (Code + video 43Mb)<br />
<a class="outlink" title="http://db.tt/MukGcwB" dir="ltr" rel="nofollow" href="http://db.tt/MukGcwB" target="_blank">http://db.tt/MukGcwB</a><br />
2) Full Demo Code<br />
<a class="outlink" title="http://db.tt/GkT6J9k" dir="ltr" rel="nofollow" href="http://db.tt/GkT6J9k" target="_blank">http://db.tt/GkT6J9k</a></p></blockquote>
<address>All copyrights relevant to source codes and method explanations are reserved by the original author <a class="outlink" href="http://blogs.ugidotnet.org/wetblog/Default.aspx" target="_blank">Luca Del Tongo</a>, please refer to his blog for more details and any enquiries.</address>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1661.htm/feed</wfw:commentRss>
		<slash:comments>154</slash:comments>
		</item>
		<item>
		<title>Wontons in pictures</title>
		<link>http://www.andol.info/life/1656.htm</link>
		<comments>http://www.andol.info/life/1656.htm#comments</comments>
		<pubDate>Thu, 26 Aug 2010 09:14:49 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1656</guid>
		<description><![CDATA[Tell me what do you think this is, the dumpling or the bun ? Neither. The stuff in the pictures is called wonton which is made by a meatball inside and pastas wrapped outside, as you can see. I am not telling the history of such food neither the method of making it, here just [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/08/IMG00753-20100822-1618.jpg"><img class="alignleft size-thumbnail wp-image-1657" title="IMG00753-20100822-1618" src="http://www.andol.info/wp-content/uploads/2010/08/IMG00753-20100822-1618-230x90.jpg" alt="wontons" width="230" height="90" /></a> Tell me what do you think this is, the dumpling or the bun ? Neither. The stuff in the pictures is called wonton which is made by a meatball inside and pastas wrapped outside, as you can see. I am not telling the history of such food neither the method of making it, here just make some pictures for fun. :]<br />
<span id="more-1656"></span><a href="http://www.andol.info/wp-content/uploads/2010/08/IMG00754-20100822-1618.jpg"><img class="alignleft size-thumbnail wp-image-1658" title="IMG00754-20100822-1618" src="http://www.andol.info/wp-content/uploads/2010/08/IMG00754-20100822-1618-230x90.jpg" alt="wontons" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/08/IMG00756-20100822-1619.jpg"><img class="alignleft size-thumbnail wp-image-1659" title="IMG00756-20100822-1619" src="http://www.andol.info/wp-content/uploads/2010/08/IMG00756-20100822-1619-230x90.jpg" alt="wontons" width="230" height="90" /></a><br style="clear:both;"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1656.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hand gesture recognition for HCI</title>
		<link>http://www.andol.info/hci/1654.htm</link>
		<comments>http://www.andol.info/hci/1654.htm#comments</comments>
		<pubDate>Tue, 24 Aug 2010 15:22:51 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Quote]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[Interaction]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1654</guid>
		<description><![CDATA[First we gather a data set of all the hand-shapes we wish to recognise. A naive approach to recognizing a new image D would be to simply compare it with all the images stored in the data set and find the target image T with the closest match. But because there are so many images [...]]]></description>
				<content:encoded><![CDATA[<blockquote><p><a href="http://www.andol.info/wp-content/uploads/2010/08/shamaie1.gif"><img class="alignleft size-thumbnail wp-image-1655" title="shamaie1" src="http://www.andol.info/wp-content/uploads/2010/08/shamaie1-230x90.gif" alt="hand gestures" width="230" height="90" /></a>First we gather a data set of all the hand-shapes we wish to recognise. A naive approach to recognizing a new image D would be to simply compare it with all the images stored in the data set and find the target image T with the closest match. But because there are so many images in the data set this will take far too long. We can reduce the time by using a multi-scale approach. We divide up the data set into groups of images, which are similar to one another by blurring the images at different levels so that small differences between similar images will be eroded.</p></blockquote>
<p><span id="more-1654"></span><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/nGiND16tLoI?fs=1&amp;hl=en_GB" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/nGiND16tLoI?fs=1&amp;hl=en_GB" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
More information please refer here <a class="outlink" href="http://www.ercim.eu/publication/Ercim_News/enw46/shamaie.html" target="_blank">http://www.ercim.eu/publication/Ercim_News/enw46/shamaie.html</a></p>
<address>All rights reserved by original authors, any offence please inform me.</address>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1654.htm/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>A review of openCV of detection and recognition</title>
		<link>http://www.andol.info/research/1646.htm</link>
		<comments>http://www.andol.info/research/1646.htm#comments</comments>
		<pubDate>Sat, 31 Jul 2010 12:48:44 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1646</guid>
		<description><![CDATA[This post has been scheduled for ages since i posted an?announcement in a previous post to write a review of openCV of detection and recognition, particularly in perspectives of hand detections and recognitions. The announcement post is here as a reference. About openCV A library of programming functions for real time computer vision,released under a [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/07/learningopencv.jpg"><img class="alignleft size-thumbnail wp-image-1647" title="learningopencv" src="http://www.andol.info/wp-content/uploads/2010/07/learningopencv-230x90.jpg" alt="learning openCV" width="230" height="90" /></a>This post has been scheduled for ages since i posted an?announcement in a previous post to write a review of openCV of detection and recognition, particularly in perspectives of hand detections and recognitions. The announcement post is <a class="outlink" title="a review of openCV of detections and recognitions" href="http://www.andol.info/hci/1455.htm" target="_self">here </a>as a reference.</p>
<p><strong>About openCV</strong></p>
<p>A library of programming functions for real time computer vision,released under a <a class="outlink" title="bsd license" href="http://creativecommons.org/licenses/BSD/" target="_blank">BSD?license</a>, and free for academic and commercial use (a). Current version is openCV 2.1, this version has been installed and compiled under my VS 2008 environment but with some errors, may not be very easy to configure this version. While the stabilities of openCV 1.0 have been firmly proved already and that is easier to install and configure. Install guides can be found as ?<a class="outlink" title="openCV install guide" href="http://opencv.willowgarage.com/wiki/InstallGuide" target="_blank">openCV install guide in openCV wiki</a>,?<a class="outlink" title="install openCV in windows" href="http://sites.google.com/site/sanchohomesite/tutorials/installing-opencv-in-windows" target="_blank">installing openCV in windows</a>, <a class="outlink" title="vc 2008 install openCV 2.1/2.0" href="http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0/2.1" target="_blank">vc2008 install openCV 2.0/2.1</a>(in Chinese)?and <a class="outlink" title="get started with openCV" href="http://uowteaminvincible.wordpress.com/2010/01/09/getting-started-with-opencv-in-microsoft-visual-studio-2008-in-windows-vista/" target="_blank">get started with openCV</a>.</p>
<p><span id="more-1646"></span>A easy start of &#8216;<a class="outlink" title="hello world - openCV" href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B_VS2010_CMake" target="_blank">hello world</a>&#8216; application using openCV can be very helpful. Under most occasions, openCV is used within windows console applications with a black command window and openCV&#8217;s own interfaces (highgui) to display images and draw patterns, as the &#8216;hello world&#8217; example shows. As well there are some other interface components included in openCV library such as sliders, mouse movement events and key input events. Using these provided features of openCV, object detection could be done via capturing webcam images, analysing them and finally output the consequences.</p>
<p>One recommendation of learning openCV online is <a class="outlink" title="openCV group Yahoo" href="http://tech.groups.yahoo.com/group/OpenCV/" target="_blank">Yahoo openCV group</a>. It is a group with huge number of active members posting hundreds of messages each day, may be a little massive, but a good place to raise questions and meet other people, highly recommended.</p>
<p><strong>About detections &amp; recognitions<br />
</strong></p>
<p>Detections are core functions of openCV. Color knobs, objects, motions, gestures and faces are subjects of openCV detections and recognitions.</p>
<p>Color knob detections</p>
<p>detecting colors using openCV is basic, there could be several ways to achieve the color detections. For instance, as the color detection used in my <a class="outlink" title="hand gesture detection and recognition" href="http://www.andol.info/wp-content/uploads/2009/07/hsv1.cpp" target="_self">hand recognition project</a>, the target color is divided into three perspectives of H, B, and V. By combining these parameters, theoretically it is available to detect any color. But the fault of HSV method is that the background colours are usually too sensitive to be specified. So does another method which uses simple brightness threshold to get target colours, but it is limited as well. A better way of detecting a range of colours is to use &#8216;camshift&#8217; which requires a source image which represents colour information for target colours. There is an example of using &#8216;camshift&#8217; <a class="outlink" title="camshift example" href="http://www.opencv.org.cn/index.php/%E8%AE%BE%E5%AE%9A%E8%B7%9F%E8%B8%AA%E7%9B%AE%E6%A0%87%E5%9B%BE%E7%89%87%E7%9A%84%E6%94%B9%E8%BF%9Bcamshift%E4%BE%8B%E5%AD%90" target="_blank">here</a>.</p>
<p>Object detections</p>
<p>Object detection is kind of similar as colour extraction since to recognise the objects they should be detected first. Here is an example of <a class="outlink" title="tracking objects using as3" href="http://www.andol.info/hci/1310.htm" target="_self">using Actionscript 3.0 to tracking objects via webcam</a>. In openCV it is simple as well. Tracking the objects, then using circle or line detection methods to extract rough object shapes. It could be very accurate of <a class="outlink" title="object angle detection" href="http://www.andol.info/hci/815.htm" target="_self">detecting object angles which are demonstrated here</a>, and another <a class="outlink" title="object angle detection" href="http://www.andol.info/hci/785.htm" target="_self">object detection example illustration here</a>. Detecting an array of object is nearly the same as detecting solo object, except some extra work is needed to loop all objects at one time and draw them out, this could be seem <a class="outlink" title="combined object detection" href="http://www.andol.info/hci/779.htm" target="_self">here as detecting combined objects</a>.</p>
<p>Motion detections</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/07/motiondetection.jpg"><img class="alignleft size-thumbnail wp-image-1652" title="motiondetection" src="http://www.andol.info/wp-content/uploads/2010/07/motiondetection-230x90.jpg" alt="motion detection" width="230" height="90" /></a>There is an example of motion detections in openCV&#8217;s example folders, which is called motemlp.exe and a source file <a class="outlink" title="motempl.c source file" href="http://andol.info/download/motempl.c" target="_blank">motempl.c</a>. The picture on the left shows the motion directions and sub components&#8217; directions are being marked clearly.</p>
<p>Gesture and face detections<br />
<a href="http://www.opencv.org.cn/images/1/1d/Example-facedetect.png"><img title="lena face detection" src="http://www.opencv.org.cn/images/1/1d/Example-facedetect.png" alt="lena face detection" width="113" height="116" /></a>Face detections are maturely applied in digital cameras presently. It is dependant on haar trainings and classifiers therefore the detection results seem robust. As well, a face detection example with source code can be found in openCV&#8217;s example folder. In this review face detection would not be emphasised too much as there are millions of tutorials telling how to detect the face in either static or dynamic circumstances.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/05/handdescription-230x90.jpg"><img class="alignleft" title="hand detection" src="http://www.andol.info/wp-content/uploads/2010/05/handdescription-230x90.jpg" alt="hand detection" width="230" height="90" /></a>Recognitions of hand gestures is the challenging part.  On current stage, hand gestures especially finger tips are still tough due to the natural shapes of hands are ambiguous for computer to identify which is which. Therefore some simple and intuitive gestures are commonly adopted to relatively improve the accuracy of recognitions. Recognition gestures requires two factors: a. correct contours and b. predefined gesture patterns. The first factor is reachable but the second requires more work to cheer up. Concerning the second factor, there have been some <a class="outlink" title="paper" href="http://www.ros.org/presentations/2009-08_Alex-Teichman_2d-descriptors.pdf" target="_blank">theoretical papers</a> raising solutions of detecting hand gestures. Toughly, putting these theoretical methods into practical use and generate kind of applications providing open source codes still has long way to go. A progressive project can be referred here as <a class="outlink" title="hand detection" href="http://www.willowgarage.com/blog/2009/09/17/hand-detection-and-image-descriptors" target="_blank">hand detection and image descriptions</a>.</p>
<p><strong>Useful toolkits</strong></p>
<p><a class="outlink" title="handvu" href="http://www.movesinstitute.org/~kolsch/HandVu/HandVu.html" target="_blank">HandVu</a></p>
<p><a class="outlink" title="artoolkit" href="http://www.hitl.washington.edu/artoolkit/" target="_blank">ARToolkit</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/research/1646.htm/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Augmented codes of using media play control in MFC</title>
		<link>http://www.andol.info/research/1634.htm</link>
		<comments>http://www.andol.info/research/1634.htm#comments</comments>
		<pubDate>Tue, 27 Jul 2010 09:34:26 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[MFC]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1634</guid>
		<description><![CDATA[Using media player control in MFC is not as easy as dragging in a button control. Usually there are some high frequent errors such as &#8216;cannot convert from LPDISPATCH to CWMPMedia/CWMPControls&#8217;, and the worse thing is that even Google is not able to provide proper solutions to address these errors except dozens of posts raising [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/07/wmpmediaplayer.jpg"><img class="alignleft size-thumbnail wp-image-1635" title="wmpmediaplayer" src="http://www.andol.info/wp-content/uploads/2010/07/wmpmediaplayer-230x90.jpg" alt="media player control in MFC" width="230" height="90" /></a>Using media player control in MFC is not as easy as dragging in a button control. Usually there are some high frequent errors such as &#8216;cannot convert from LPDISPATCH to CWMPMedia/CWMPControls&#8217;, and the worse thing is that even Google is not able to provide proper solutions to address these errors except dozens of posts raising similar problems waiting for somebody to provide positive solutions.</p>
<p><span id="more-1634"></span>I have experienced that and that was awful. Therefore i decide to share these solutions by providing functional codes as below. The solution is easy, after adding new media player relevant classes then, using codes below to replace those generated automatically by system. The key part of the change is from &#8216;public:CWND&#8217; to &#8216;public:COleDispatchDriver&#8217;.</p>
<p><a class="outlink" href="http://andol.info/download/CWMPControls.cpp" target="_blank">CWMPControls.cpp</a></p>
<p><a class="outlink" href="http://andol.info/download/CWMPControls.h" target="_blank">CWMPControls.h</a></p>
<p><a class="outlink" href="http://andol.info/download/CWMPMedia.cpp" target="_blank">CWMPMedia.cpp</a></p>
<p><a class="outlink" href="http://andol.info/download/CWMPMedia.h" target="_blank">CWMPMedia.h</a></p>
<p><a class="outlink" href="http://andol.info/download/CWMPPlaylist.cpp" target="_blank">CWMPPlaylist.cpp</a></p>
<p><a class="outlink" href="http://andol.info/download/CWMPPlaylist.h" target="_blank">CWMPPlaylist.h</a></p>
<p><a class="outlink" href="http://andol.info/download/CWMPSettings.cpp" target="_blank">CWMPSettings.cpp</a></p>
<p><a class="outlink" href="http://andol.info/download/CWMPSettings.h" target="_blank">CWMPSettings.h</a></p>
<p><a class="outlink" href="http://andol.info/download/ocx1.cpp" target="_blank">ocx1.cpp</a></p>
<p><a class="outlink" href="http://andol.info/download/ocx1.h" target="_blank">ocx1.h</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/research/1634.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A night of summer in pictures</title>
		<link>http://www.andol.info/life/1619.htm</link>
		<comments>http://www.andol.info/life/1619.htm#comments</comments>
		<pubDate>Sun, 18 Jul 2010 12:51:42 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1619</guid>
		<description><![CDATA[This photo was taken at 22 o&#8217;clock in the evening, dim lights were in the sky while ad lights had been turned on. Clouds put huge shadows through the sun setting lights as rendered ink floating in the air. Check more pictures.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/07/IMG00702-20100717-2205.jpg"><img class="alignleft size-thumbnail wp-image-1620" title="IMG00702-20100717-2205" src="http://www.andol.info/wp-content/uploads/2010/07/IMG00702-20100717-2205-230x90.jpg" alt="summer evening" width="230" height="90" /></a> This photo was taken at 22 o&#8217;clock in the evening, dim lights were in the sky while ad lights had been turned on. Clouds put huge shadows through the sun setting lights as rendered ink floating in the air. Check more pictures.</p>
<p><span id="more-1619"></span><a href="http://www.andol.info/wp-content/uploads/2010/07/IMG00701-20100717-2205.jpg"><img class="alignleft size-thumbnail wp-image-1624" title="IMG00701-20100717-2205" src="http://www.andol.info/wp-content/uploads/2010/07/IMG00701-20100717-2205-230x90.jpg" alt="summer evening" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/07/IMG00698-20100717-2204.jpg"><img title="IMG00698-20100717-2204" src="http://www.andol.info/wp-content/uploads/2010/07/IMG00698-20100717-2204-230x90.jpg" alt="summer evening" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/07/IMG00697-20100717-2204.jpg"><img class="alignleft size-thumbnail wp-image-1622" title="IMG00697-20100717-2204" src="http://www.andol.info/wp-content/uploads/2010/07/IMG00697-20100717-2204-230x90.jpg" alt="summer evening" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/07/IMG00696-20100717-2203.jpg"><img class="alignleft size-thumbnail wp-image-1621" title="IMG00696-20100717-2203" src="http://www.andol.info/wp-content/uploads/2010/07/IMG00696-20100717-2203-230x90.jpg" alt="summer evening" width="230" height="90" /></a></p>
<div><span style="color: #0000ee; -webkit-text-decorations-in-effect: underline;"><br />
</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1619.htm/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Using openCV in MFC</title>
		<link>http://www.andol.info/research/1601.htm</link>
		<comments>http://www.andol.info/research/1601.htm#comments</comments>
		<pubDate>Thu, 15 Jul 2010 20:25:17 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[MFC]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1601</guid>
		<description><![CDATA[Popular tutorials of using openCV to detect objects and showing recognised results are based on a black window with rapid command lines flushing up. As MFC has more powerful functions in interface design than pure interfaces provided by openCV, it is attractive to move openCV application from console to MFC. Here is an tutorial of [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-20.49.27.png"><img class="alignleft size-thumbnail wp-image-1602" title="Screen shot 2010-07-15 at 20.49.27" src="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-20.49.27-230x90.png" alt="opencv in MFC" width="230" height="90" /></a>Popular tutorials of using openCV to detect objects and showing recognised results are based on a black window with rapid command lines flushing up. As MFC has more powerful functions in interface design than pure interfaces provided by openCV, it is attractive to move openCV application from console to MFC. Here is an tutorial of introducing using openCV in MFC, check it out.</p>
<p><span id="more-1601"></span>Step 1: Visual C++ wizard, choose MFC App.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-20.49.27.png"><img class="alignnone size-full wp-image-1602" title="Screen shot 2010-07-15 at 20.49.27" src="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-20.49.27.png" alt="opencv in MFC" width="448" height="293" /></a></p>
<p>Step 2: Visual C++, choose single document, to create main MFC app frame.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.06.05.png"><img class="alignnone size-full wp-image-1603" title="Screen shot 2010-07-15 at 21.06.05" src="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.06.05.png" alt="choose single document" width="450" height="347" /></a></p>
<p>Step 3: Add openCV libs in project properties.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.07.53.png"><img class="alignnone size-full wp-image-1604" title="Screen shot 2010-07-15 at 21.07.53" src="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.07.53.png" alt="add opencv libs" width="452" height="300" /></a></p>
<p>Step 4: Add variables in Doc class: add a variable m_image, include highgui.h head file in the first beginning, and the variable CImage   m_image.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.11.12.png"><img class="alignnone size-full wp-image-1605" title="Screen shot 2010-07-15 at 21.11.12" src="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.11.12.png" alt="add variables" width="462" height="222" /></a></p>
<p>Step 5: Add two virtual functions to open and save image file, as shown below.</p>
<p><a href="../wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.13.13.png"><img title="Screen shot 2010-07-15 at 21.13.13" src="../wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.13.13.png" alt="add virtual function" width="291" height="325" /></a></p>
<div class="code">
<code>BOOL CSD|_OpenCVDoc::OnOpenDocument(LPCTSTR LpszPathName){<br />
if(!CDocument::OnOpenDocument(LpszPathName)) return FALSE;<br />
//TODO: Add your specifilised creation code here<br />
m_image.load(LpszPathName);<br />
return TRUE;<br />
}</code>
</div>
<p><br/></p>
<div class="code"><code>BOOL CSD|_OpenCVDoc::OnSaveDocument(LPCTSTR   LpszPathName){<br />
//TODO: Add your specialised code here and /or call the base class<br />
m_image.Save(LpszPathName);<br />
return   CDocument::OnSaveDocument(LpszPathName);<br />
}</code></div>
<p>Step 6: Add codes in View class to show the image</p>
<div class="code"><code>void CSDI_OpenCVView::OnDraw(CDC*pDC){<br />
CSDI_OpenCVDoc* pDoc = GetDocument();<br />
ASSERT_VALID(pDoc);<br />
//TODO:<br />
CImage &amp; img = pDoc-&gt;m_image;<br />
CRect r;<br />
GetClientRect(&amp;r);<br />
img.DrawToHDC(pDC-&gt;GetSafeHdc(),r);<br />
}</code></div>
<p>Step 7: Compile the app, then an image can be open through open menu, here comes the beauty Lena.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.19.09.png"><img class="alignnone size-full wp-image-1610" title="Screen shot 2010-07-15 at 21.19.09" src="http://www.andol.info/wp-content/uploads/2010/07/Screen-shot-2010-07-15-at-21.19.09.png" alt="lena" width="450" height="463" /></a></p>
<p>&#8212;</p>
<address>Partly this post refers a document of &#8216;<a href="http://www.opencv.org.cn/forum/viewtopic.php?f=1&amp;t=4707" target="_self">using openCV in MFC</a>&#8216; by <a href="http://www.opencv.org.cn/forum/memberlist.php?mode=viewprofile&amp;u=3324" target="_self">ollydbg23</a>, any offend of copyrights please make me informed.<br />
</address>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/research/1601.htm/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The clouds, the rain and the flower</title>
		<link>http://www.andol.info/life/1596.htm</link>
		<comments>http://www.andol.info/life/1596.htm#comments</comments>
		<pubDate>Wed, 14 Jul 2010 20:13:11 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1596</guid>
		<description><![CDATA[This has been rainy for days since last weekend, just as the typical weather of England, cloudy, chance of rain and plenty of showers. The good side of such weather is that this keeps temperature cool even in summer, but the bad side is that it annoys so much that hardly outdoor activities are available.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/07/IMG00693-20100714-2019.jpg"><img class="alignleft size-thumbnail wp-image-1597" title="IMG00693-20100714-2019" src="http://www.andol.info/wp-content/uploads/2010/07/IMG00693-20100714-2019-230x90.jpg" alt="sun flowers before the raining" width="230" height="90" /></a>This has been rainy for days since last weekend, just as the typical weather of England, cloudy, chance of rain and plenty of showers. The good side of such weather is that this keeps temperature cool even in summer, but the bad side is that it annoys so much that hardly outdoor activities are available.</p>
<p><span id="more-1596"></span><a href="http://www.andol.info/wp-content/uploads/2010/07/IMG00692-20100704-1826.jpg"><img class="alignleft size-thumbnail wp-image-1598" title="IMG00692-20100704-1826" src="http://www.andol.info/wp-content/uploads/2010/07/IMG00692-20100704-1826-230x90.jpg" alt="clouds" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1596.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hand detection by using cvSnakeImage</title>
		<link>http://www.andol.info/hci/1593.htm</link>
		<comments>http://www.andol.info/hci/1593.htm#comments</comments>
		<pubDate>Tue, 13 Jul 2010 12:31:34 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[hand detection]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1593</guid>
		<description><![CDATA[Using the function cvsnakeimage(), this was an idea i tried to recognise hand gestures. The thought was that as to set a threshold to filter the image firstly, based on the image then contours were able to be extracted (as blue curves shown in the picture on the left), then passing contours points to &#8216;cvsnakeimage&#8217; [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/07/500px-Snake.jpg"><img class="alignleft size-thumbnail wp-image-1594" title="cvsnakeimage" src="http://www.andol.info/wp-content/uploads/2010/07/500px-Snake-230x90.jpg" alt="cvsnakeimage" width="230" height="90" /></a>Using the function cvsnakeimage(), this was an idea i tried to recognise hand gestures. The thought was that as to set a threshold to filter the image firstly, based on the image then contours were able to be extracted (as blue curves shown in the picture on the left), then passing contours points to &#8216;cvsnakeimage&#8217; function to calculate the green curves which were snake curves.</p>
<p><span id="more-1593"></span>There are several vital parameters in using the function cvsnakeimage, particularly parameters relating to curve energy which concerns judgements of finger tips. E.g.</p>
<div class="code">cvSnakeImage( image, point,length,&amp;alpha,&amp;beta,&amp;gamma,CV_VALUE,size,criteria,0 );</div>
<p>A copy of full source code of demonstrating the use of the function could be found here <a href="http://www.andol.info/download/cvsnakeimage.cpp" target="_self" class="strikethrough">cvSnakeImage for hand detection</a></p>
<p>Revision 30/03/2012: The source code can be found here <strong><a href="http://download.andol.info/cvsnakeimage.cpp" title="cvSnakeImage" class="outlink">http://download.andol.info/cvsnakeimage.cpp</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1593.htm/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>&#8220;Secret Powers&#8221;: A finger detection demonstration</title>
		<link>http://www.andol.info/research/1590.htm</link>
		<comments>http://www.andol.info/research/1590.htm#comments</comments>
		<pubDate>Fri, 02 Jul 2010 08:46:27 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1590</guid>
		<description><![CDATA[secret powers from Mechanics of Destruction on Vimeo. Relevant posts &#38; comments please refer to  ‘Hand gesture detection and recognition using openCV’， and related comments here.]]></description>
				<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="270" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4360815&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="270" src="http://vimeo.com/moogaloop.swf?clip_id=4360815&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/4360815">secret powers</a> from <a href="http://vimeo.com/user1563225">Mechanics of Destruction</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><span id="more-1590"></span>Relevant posts &amp; comments please refer to  ‘<a href="http://www.andol.info/hci/895.htm">Hand gesture detection and recognition using openCV</a>’， and <a href="http://www.andol.info/hci/895.htm#comment-1115">related comments here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/research/1590.htm/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>England summer in pictures</title>
		<link>http://www.andol.info/life/1578.htm</link>
		<comments>http://www.andol.info/life/1578.htm#comments</comments>
		<pubDate>Mon, 21 Jun 2010 08:06:35 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1578</guid>
		<description><![CDATA[Summer is the most beautiful season in England. This is a season full of sunshine and warm with less rains than in winter. Especially the day time in summer is extraordinarily long which lasts over 12 hours. Sometimes staring at the sky and watching purely white clouds blowing slowly, this does make you enjoy such [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/06/summer5.jpg"><img class="alignleft size-thumbnail wp-image-1580" title="summer5" src="http://www.andol.info/wp-content/uploads/2010/06/summer5-230x90.jpg" alt="summer" width="230" height="90" /></a>Summer is the most beautiful season in England. This is a season full of sunshine and warm with less rains than in winter. Especially the day time in summer is extraordinarily long which lasts over 12 hours. Sometimes staring at the sky and watching purely white clouds blowing slowly, this does make you enjoy such great summer time.<br />
<span id="more-1578"></span><a href="http://www.andol.info/wp-content/uploads/2010/06/summer1.jpg"><img class="alignleft size-thumbnail wp-image-1580" title="summer1" src="http://www.andol.info/wp-content/uploads/2010/06/summer1-230x90.jpg" alt="summer" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/06/summer2.jpg"><img class="alignleft size-thumbnail wp-image-1581" title="summer2" src="http://www.andol.info/wp-content/uploads/2010/06/summer2-230x90.jpg" alt="summer" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/06/summer3.jpg"><img class="alignleft size-thumbnail wp-image-1582" title="summer3" src="http://www.andol.info/wp-content/uploads/2010/06/summer3-230x90.jpg" alt="summer" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/06/summer4.jpg"><img class="alignleft size-thumbnail wp-image-1583" title="summer4" src="http://www.andol.info/wp-content/uploads/2010/06/summer4-230x90.jpg" alt="summer" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1578.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>World Cup 2010 in England</title>
		<link>http://www.andol.info/life/1574.htm</link>
		<comments>http://www.andol.info/life/1574.htm#comments</comments>
		<pubDate>Mon, 21 Jun 2010 07:54:09 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1574</guid>
		<description><![CDATA[A week later after the opening of World Cup 2010 in Africa, England is still struggling. Capello is blamed for his too many faces and team players are blamed with their depressed performances. Will England burst in the coming games, come on!]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/06/worldcupengland1.jpg"><img class="alignleft size-thumbnail wp-image-1575" title="worldcupengland1" src="http://www.andol.info/wp-content/uploads/2010/06/worldcupengland1-230x90.jpg" alt="world cup in england" width="230" height="90" /></a> A week later after the opening of World Cup 2010 in Africa, England is still struggling. Capello is blamed for his too many faces and team players are blamed with their depressed performances. Will England burst in the coming games, come on!</p>
<p><span id="more-1574"></span><a href="http://www.andol.info/wp-content/uploads/2010/06/worldcupengland2.jpg"><img class="size-thumbnail wp-image-1576" title="worldcupengland2" src="http://www.andol.info/wp-content/uploads/2010/06/worldcupengland2-230x90.jpg" alt="world cup in England" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1574.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>To father, Happy Fathers Day 2010</title>
		<link>http://www.andol.info/life/1571.htm</link>
		<comments>http://www.andol.info/life/1571.htm#comments</comments>
		<pubDate>Sun, 20 Jun 2010 21:26:59 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1571</guid>
		<description><![CDATA[To father, for your great supports to me, you deserve the great day of Fathers Day 2010!]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/06/vuo2_3449sepw.jpg"><img class="alignleft size-thumbnail wp-image-1572" title="vuo2_3449sepw" src="http://www.andol.info/wp-content/uploads/2010/06/vuo2_3449sepw-230x90.jpg" alt="fathers day 2010" width="230" height="90" /></a><span style="font-size: 24px; color: #c00;">To father, for your great supports to me, you deserve the great day of Fathers Day 2010!</span></p>
<p><span><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1571.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>World Cup 2010 in England</title>
		<link>http://www.andol.info/life/1566.htm</link>
		<comments>http://www.andol.info/life/1566.htm#comments</comments>
		<pubDate>Sat, 12 Jun 2010 12:00:28 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1566</guid>
		<description><![CDATA[I know a world class big event is going on these days in South Africa. It is definitely a feast of many football fans all over the world, England is one of these feast heavens. Coming and going many cars in England have either sticking England flags or showing posters on windows. Uniforms of football [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/06/england-flags-world-cup-006.jpg"><img class="alignleft size-thumbnail wp-image-1569" title="england-flags-world-cup-006" src="http://www.andol.info/wp-content/uploads/2010/06/england-flags-world-cup-006-230x90.jpg" alt="england-flags-world-cup" width="230" height="90" /></a>I know a world class big event is going on these days in South Africa. It is definitely a feast of many football fans all over the world, England is one of these feast heavens. Coming and going many cars in England have either sticking England flags or showing posters on windows. Uniforms of football teams are popular and can be seem everywhere. See, who says people in England are conservative and no passion. Here it is, World Cup 2010 heats this land up!!!<br />
<span id="more-1566"></span><a href="http://www.andol.info/wp-content/uploads/2010/06/worldcup2010.jpg"><img class="alignleft size-thumbnail wp-image-1567" title="worldcup2010" src="http://www.andol.info/wp-content/uploads/2010/06/worldcup2010-230x90.jpg" alt="worldcup2010" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/06/worldcup20102.jpg"><img class="alignleft size-thumbnail wp-image-1568" title="worldcup20102" src="http://www.andol.info/wp-content/uploads/2010/06/worldcup20102-230x90.jpg" alt="worldcup20102" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1566.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Huddersfield summer in pictures</title>
		<link>http://www.andol.info/life/1554.htm</link>
		<comments>http://www.andol.info/life/1554.htm#comments</comments>
		<pubDate>Mon, 24 May 2010 07:32:37 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1554</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/05/dandelion.jpg"><img class="alignleft size-thumbnail wp-image-1555" title="dandelion" src="http://www.andol.info/wp-content/uploads/2010/05/dandelion-230x90.jpg" alt="dandelion" width="230" height="90" /></a><br style="clear:left;"/><span id="more-1554"></span><a href="http://www.andol.info/wp-content/uploads/2010/05/flowers.jpg"><img class="alignleft size-thumbnail wp-image-1560" title="flowers" src="http://www.andol.info/wp-content/uploads/2010/05/flowers-230x90.jpg" alt="flowers in front yard" width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/05/landscape2.jpg"><img class="alignleft size-thumbnail wp-image-1558" title="landscape2" src="http://www.andol.info/wp-content/uploads/2010/05/landscape2-230x90.jpg" alt="landscape castle hill " width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/05/landscape3.jpg"><img class="alignleft size-thumbnail wp-image-1559" title="landscape3" src="http://www.andol.info/wp-content/uploads/2010/05/landscape3-230x90.jpg" alt="landscape castle hill " width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/05/landscape1.jpg"><img class="alignleft size-thumbnail wp-image-1557" title="landscape1" src="http://www.andol.info/wp-content/uploads/2010/05/landscape1-230x90.jpg" alt="landscape castle hill " width="230" height="90" /></a><a href="http://www.andol.info/wp-content/uploads/2010/05/woods.jpg"><img class="alignleft size-thumbnail wp-image-1556" title="woods" src="http://www.andol.info/wp-content/uploads/2010/05/woods-230x90.jpg" alt="woods " width="230" height="90" /></a><br style="clear: left;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1554.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Why do you go to college</title>
		<link>http://www.andol.info/life/1548.htm</link>
		<comments>http://www.andol.info/life/1548.htm#comments</comments>
		<pubDate>Sat, 22 May 2010 16:37:39 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1548</guid>
		<description><![CDATA[Tell me, why do you go to college? &#8220;whole my life I have been scared, i do not want you to be scared&#8221; &#8211; This was the answer of Jenny&#8217;s father. Not sure what exactly he was scared of, but it is true that education makes people strong. And i like the line in the [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/05/whygoingtocollege.jpg"><img class="alignleft size-thumbnail wp-image-1549" title="whygoingtocollege" src="http://www.andol.info/wp-content/uploads/2010/05/whygoingtocollege-230x90.jpg" alt="whygoingtocollege" width="230" height="90" /></a> Tell me, why do you go to college?<br />
&#8220;whole my life I have been scared, i do not want you to be scared&#8221; &#8211; This was the answer of Jenny&#8217;s father. Not sure what exactly he was scared of, but it is true that education makes people strong. And i like the line in the movie that life has no shortcut, indeed cannot be more true. Though the studying life is hard and boring, i do believe this is a way to easy and funny.</p>
<p><span id="more-1548"></span>&#8212;Some thoughts of &lt;An Education&gt;</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/05/whygoingtocollege2.jpg"><img class="alignleft size-thumbnail wp-image-1551" title="whygoingtocollege2" src="http://www.andol.info/wp-content/uploads/2010/05/whygoingtocollege2-230x90.jpg" alt="whygoingtocollege2" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1548.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hand detection and image recognition</title>
		<link>http://www.andol.info/hci/1542.htm</link>
		<comments>http://www.andol.info/hci/1542.htm#comments</comments>
		<pubDate>Wed, 19 May 2010 08:40:15 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Quote]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[Interaction]]></category>
		<category><![CDATA[object recognition]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1542</guid>
		<description><![CDATA[a hand detection and image descriptor method &#038; library is presented here. ]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/05/handdescription.jpg"><img class="alignleft size-thumbnail wp-image-1543" title="handdescription" src="http://www.andol.info/wp-content/uploads/2010/05/handdescription-230x90.jpg" alt="hand description" width="230" height="90" /></a> The hand detection and image descriptor is a tool developed for direct interaction with a device called PR2 which is a robot by a student in Stanford University. It enables hand gestures to control the movement of the robot, as the video below shows (if can see the video, please refer here <a class="outlink" href="http://www.youtube.com/watch?v=2MStTgDZSsU" target="_blank">Hand detection</a>) Meanwhile, a library <a class="outlink" href="http://www.ros.org/wiki/descriptors_2d" target="_blank">descriptors_2d</a> is also presented. And, resources of learning more about the hand detection techniques and image descriptors are provided <a class="outlink" href="http://www.ros.org/presentations/2009-08_Alex-Teichman_2d-descriptors.pdf" target="_blank">here (2d_decriptors.PDF)</a> as well.<br />
<span id="more-1542"></span>More information can be referred in the author&#8217;s original post here <a class="outlink" href="http://www.willowgarage.com/blog/2009/09/17/hand-detection-and-image-descriptors" target="_blank">hand detection and image descriptors</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/2MStTgDZSsU&amp;hl=en_US&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/2MStTgDZSsU&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1542.htm/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>A present from the God &#8212; the general election of Britain</title>
		<link>http://www.andol.info/life/1530.htm</link>
		<comments>http://www.andol.info/life/1530.htm#comments</comments>
		<pubDate>Wed, 12 May 2010 16:27:14 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1530</guid>
		<description><![CDATA[&#8216;Britain, is a big present from the God&#8217; this is a quote from a post talking about the 2010 general election of Britain. It is my first time to watch modern democracy election closely as well. From the competition of party leaders&#8217; three debates to the formal poll and to the final coalition of new [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/05/downing-street.jpg"><img class="size-thumbnail wp-image-1531 alignleft" title="downing-street" src="http://www.andol.info/wp-content/uploads/2010/05/downing-street-230x90.jpg" alt="downing street" width="230" height="90" /></a> &#8216;Britain, is a big present from the God&#8217; this is a quote from a post talking about the 2010 general election of Britain. It is my first time to watch modern democracy election closely as well. From the competition of party leaders&#8217; three debates to the formal poll and to the final coalition of new government, i see the spirit of the Britain, that indeed impresses me.<br />
When i saw the former PM left the no 10 with his family hand by hand, i never had such feeling of touching and admiring. Though that was a sad moment, it was a warm moment as well. I do like the way of British election.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1530.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Impossible mission: escaping from Europe</title>
		<link>http://www.andol.info/life/1520.htm</link>
		<comments>http://www.andol.info/life/1520.htm#comments</comments>
		<pubDate>Wed, 21 Apr 2010 08:55:39 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1520</guid>
		<description><![CDATA[Iceland people joke themselves as &#8216;disaster exporters&#8217; while after last bankruptcies it follows volcano eruption which involves the whole Europe and is known world widely. Millions of people are stranded in Europe, and its negative waves continue, types of vegetables like mushrooms and tomatoes in Huddersfield&#8217;s Sainsbury are almost  in short now. I&#8217;d better get some [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/04/volcano-erupts1.jpg"><img class="alignnone size-full wp-image-1522" title="volcano-erupts" src="http://www.andol.info/wp-content/uploads/2010/04/volcano-erupts1.jpg" alt="iceland volcano erupts" width="485" height="190" /></a></p>
<p>Iceland people joke themselves as &#8216;disaster exporters&#8217; while after last bankruptcies it follows volcano eruption which involves the whole Europe and is known world widely.</p>
<p><span id="more-1520"></span>Millions of people are stranded in Europe, and its negative waves continue, types of vegetables like mushrooms and tomatoes in Huddersfield&#8217;s Sainsbury are almost  in short now.</p>
<p>I&#8217;d better get some canned food just in case. ..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1520.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A rail station</title>
		<link>http://www.andol.info/life/1518.htm</link>
		<comments>http://www.andol.info/life/1518.htm#comments</comments>
		<pubDate>Mon, 19 Apr 2010 09:13:26 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1518</guid>
		<description><![CDATA[It is but a photograph of a rail station in Huddersfield.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/04/railstationhuddersfield.jpg"><img class="size-full wp-image-1519 alignnone" title="railstationhuddersfield" src="http://www.andol.info/wp-content/uploads/2010/04/railstationhuddersfield.jpg" alt="rail station" width="485" height="190" /></a></p>
<p>It is but a photograph of a rail station in Huddersfield.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1518.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracking a hand manipulating objects</title>
		<link>http://www.andol.info/hci/1513.htm</link>
		<comments>http://www.andol.info/hci/1513.htm#comments</comments>
		<pubDate>Fri, 16 Apr 2010 12:38:39 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Quote]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1513</guid>
		<description><![CDATA[﻿ A method of tracking hand manipulating objects is presented by Hamer et al. (2009), as shown in the picture above it seems quite robust for tracking. A full paper about this can be found here titled as &#8216;tracking a hand manipulating objects&#8216; As described by the authors, a method of individual local tracker is [...]]]></description>
				<content:encoded><![CDATA[<p>﻿<a href="http://www.andol.info/wp-content/uploads/2010/04/trackinghand2.jpg"><img class="alignnone size-full wp-image-1515" title="trackinghand2" src="http://www.andol.info/wp-content/uploads/2010/04/trackinghand2.jpg" alt="tracking a hand 2" width="485" height="190" /></a><br />
A method of tracking hand manipulating objects is presented by <a href="http://www.sciweavers.org/publications/tracking-hand-manipulating-object" target="_blank">Hamer et al. (2009)</a>, as shown in the picture above it seems quite robust for tracking.</p>
<p><span id="more-1513"></span><a href="http://www.andol.info/wp-content/uploads/2010/04/trackinghand.jpg"><img class="alignnone size-full wp-image-1514" title="trackinghand" src="http://www.andol.info/wp-content/uploads/2010/04/trackinghand.jpg" alt="tracking a hand" width="485" height="188" /></a></p>
<p><em>A full paper about this can be found here titled as &#8216;<a style="color: #db492c;" href="http://www.andol.info/download/trackingahand.pdf" target="_blank">tracking a hand manipulating objects</a>&#8216;</em></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/04/atrackedhand.jpg"><img class="alignleft size-full wp-image-1516" title="atrackedhand" src="http://www.andol.info/wp-content/uploads/2010/04/atrackedhand.jpg" alt="a tracked hand with frame dots" width="324" height="132" /></a> As described by the authors, a method of individual local tracker is used to achieve extractions. To achieve the goal as the left picture shows, it is required to build a 3-dimensional frame to skip the covering of objects and overlapped parts of hands. Seems the authors do not narrowly focus on color image segmentation which has been commonly adopted by computer vision researchers, but they integrate an estimation of features as well as 2.5-dimensional maps. That means probably extra dimension may required. In previous posts, we have successfully located contours of hands yet the shape recognition is still under investigation. And this new method may inspire us something further in hands tracking and recognition.</p>
<div id="_mcePaste"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1513.htm/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>A tourism to Castleton and Chatsworth</title>
		<link>http://www.andol.info/life/1503.htm</link>
		<comments>http://www.andol.info/life/1503.htm#comments</comments>
		<pubDate>Mon, 12 Apr 2010 14:58:45 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[photograph]]></category>
		<category><![CDATA[Sheffield]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1503</guid>
		<description><![CDATA[A great bar called &#8216;The Moorlands&#8217;, we had buffet lunch there and the atmosphere in the bar is really good, classical Yorkshire country. Scratching a car while we were leaving, sorry we just ran away. The sky there was charming, with huge number of pieces of clouds in clearly blue background, that&#8217;s lovely. Looking up the [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/04/themoorlands.jpg"><img class="alignnone size-full wp-image-1504" title="themoorlands" src="http://www.andol.info/wp-content/uploads/2010/04/themoorlands.jpg" alt="the moorlands" width="485" height="190" /></a></p>
<p><span id="more-1503"></span>A great bar called &#8216;The Moorlands&#8217;, we had buffet lunch there and the atmosphere in the bar is really good, classical Yorkshire country. Scratching a car while we were leaving, sorry we just ran away.<a href="http://www.andol.info/wp-content/uploads/2010/04/DSC00563.jpg"></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/04/DSC00563.jpg"><img class="alignnone size-thumbnail wp-image-1505" title="the sky" src="http://www.andol.info/wp-content/uploads/2010/04/DSC00563-230x90.jpg" alt="the sky" width="207" height="81" /></a><a href="http://www.andol.info/wp-content/uploads/2010/04/DSC00537.jpg"><img class="alignnone size-thumbnail wp-image-1511" title="flying freely" src="http://www.andol.info/wp-content/uploads/2010/04/DSC00537-230x90.jpg" alt="flying freely" width="207" height="81" /></a></p>
<p>The sky there was charming, with huge number of pieces of clouds in clearly blue background, that&#8217;s lovely. Looking up the glide planes flew freely just above peaks, jealous.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/04/DSC00531.jpg"><img class="alignnone size-thumbnail wp-image-1506" title="cliff" src="http://www.andol.info/wp-content/uploads/2010/04/DSC00531-230x90.jpg" alt="the cliff" width="207" height="81" /></a><a href="http://www.andol.info/wp-content/uploads/2010/04/DSC00645.jpg"><img class="alignnone size-thumbnail wp-image-1507" title="tools or crafts" src="http://www.andol.info/wp-content/uploads/2010/04/DSC00645-230x90.jpg" alt="tools or crafts" width="207" height="81" /></a></p>
<p>Leaving the peak zone, we went to Chatsworth. Pictures blow show a piece of iceberg of  deluxe Britain noble life. Paintings, sculptures, and numerous exhibitions fill the rooms, incredibly&#8230;</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/04/DSC00631.jpg"><img class="alignnone size-thumbnail wp-image-1508" title="the hall" src="http://www.andol.info/wp-content/uploads/2010/04/DSC00631-230x90.jpg" alt="the hall" width="207" height="81" /></a><a href="http://www.andol.info/wp-content/uploads/2010/04/DSC00617.jpg"><img class="alignnone size-thumbnail wp-image-1509" title="the gorgeous gate" src="http://www.andol.info/wp-content/uploads/2010/04/DSC00617-230x90.jpg" alt="the gorgeous gate" width="207" height="81" /></a></p>
<p>And finally, a picture of my standing on the top of a hill, though it was chilly and windy i was the first arriving.</p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/04/DSC00548.jpg"><img class="alignnone size-thumbnail wp-image-1510" title="andol" src="http://www.andol.info/wp-content/uploads/2010/04/DSC00548-230x90.jpg" alt="this is andol" width="230" height="90" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1503.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making me a boat going far far away</title>
		<link>http://www.andol.info/life/1501.htm</link>
		<comments>http://www.andol.info/life/1501.htm#comments</comments>
		<pubDate>Thu, 08 Apr 2010 19:32:37 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1501</guid>
		<description><![CDATA[When i was young i used to watch cars, tractors and boats going and coming everywhere, that is still in my memories. What attracted me so much was the wondering of where were these vehicles going and what were they doing. Even today i can still image  scenes of my childhood as a little boy [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/04/narrowcanal.jpg"><img class="alignnone size-full wp-image-1502" title="narrowcanal" src="http://www.andol.info/wp-content/uploads/2010/04/narrowcanal.jpg" alt="narrow canal huddersfield" width="485" height="190" /></a></p>
<p>When i was young i used to watch cars, tractors and boats going and coming everywhere, that is still in my memories. What attracted me so much was the wondering of where were these vehicles going and what were they doing.</p>
<p><span id="more-1501"></span>Even today i can still image  scenes of my childhood as a little boy watching these vehicles until them gradually disappearing in far distance. And another strange habit which still remains is the preferences of smelling exhaust gas, not the gasoline&#8217;s but the diesel oil&#8217;s. Today when i saw the boat cruising in the narrow canal and sensed the smells, again i was wondering where it was going&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1501.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How many weeks have i been in UK</title>
		<link>http://www.andol.info/life/1499.htm</link>
		<comments>http://www.andol.info/life/1499.htm#comments</comments>
		<pubDate>Thu, 08 Apr 2010 10:16:40 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1499</guid>
		<description><![CDATA[When i told friends that i had been UK for sixty weeks already i was often asked how could i calculate weeks staying. Even further if my further explanations are lacked, probably i would be misunderstood that the days in UK must be very tough due to the behaviour &#8216;calculation of weeks&#8217; seems days being either [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/04/canalside.jpg"><img class="alignnone size-full wp-image-1500" title="canalside" src="http://www.andol.info/wp-content/uploads/2010/04/canalside.jpg" alt="canalside" width="485" height="190" /></a></p>
<p>When i told friends that i had been UK for sixty weeks already i was often asked how could i calculate weeks staying. <span id="more-1499"></span>Even further if my further explanations are lacked, probably i would be misunderstood that the days in UK must be very tough due to the behaviour &#8216;calculation of weeks&#8217; seems days being either idle or difficult for me.</p>
<p>I have no idea how should i provide them an appropriate explanation of my research life. Superficially it is a little boring and repeating, but indeed, it is challenging, exciting and enjoyable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1499.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenCV with VS2008</title>
		<link>http://www.andol.info/quote/1497.htm</link>
		<comments>http://www.andol.info/quote/1497.htm#comments</comments>
		<pubDate>Tue, 06 Apr 2010 21:10:06 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Quote]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[vs2008]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1497</guid>
		<description><![CDATA[To create your own OpenCV-based project in Visual Studio do the following: Linking DLLs: To permanantly include necessary dll files, add &#8220;C:\Program Files\OpenCV\bin&#8221; to PATH by visiting Advanced tab in System of Windows (the locate of directory might be different). One can just copy necessary dll files into project directory with source files. It might [...]]]></description>
				<content:encoded><![CDATA[<p>To create your own OpenCV-based project in Visual Studio do the  following:</p>
<p><strong>Linking DLLs:</strong></p>
<ul>
<li>To permanantly include necessary dll  files, add &#8220;C:\Program Files\OpenCV\bin&#8221; to PATH by visiting Advanced  tab in System of Windows (the locate of directory might be different).</li>
<li>One can just copy necessary  dll files into project directory with source files.</li>
<li>It might be required to  restart Visual C++ when execution of instance failes after successful  build.</li>
</ul>
<p><span id="more-1497"></span><strong>Customize  Global Options:</strong></p>
<ul>
<li>Open  the Visual C++ .Net Application. In the menu bar, select <strong>Tools-&gt;Options</strong></li>
<li>In the  listing, choose <strong>Projects-&gt;VC++ Directories</strong>.</li>
<li>First, select<strong> Library files</strong> from the &#8220;<strong>Show Directories for</strong>&#8221; List Box.</li>
<li>Click the <strong>Insert New</strong> icon, and locate the folder where you have installed opencv.</li>
<li>Consider that it is installed in &#8220;C:/Program Files/OpenCV&#8221;.</li>
<li>In the Library files list,  locate and add:</li>
</ul>
<blockquote><p>&#8220;C:\Program Files\OpenCV\lib&#8221;</p></blockquote>
<p><a href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Options_Library.jpg"><img title="Options_Library.jpg" src="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Options_Library.jpg" alt="Options_Library.jpg" width="485" height="306" /></a></p>
<ul>
<li>Now choose Include files  in the list box, and locate and add the following directories:</li>
</ul>
<blockquote><p>&#8220;C:\Program Files\OpenCV\cv\include&#8221;<br />
&#8220;C:\Program Files\OpenCV\cxcore\include&#8221;<br />
&#8220;C:\Program Files\OpenCV\otherlibs\highgui&#8221;<br />
&#8220;C:\Program Files\OpenCV\cvaux\include&#8221;<br />
&#8220;C:\Program Files\OpenCV\otherlibs\_graphics\include&#8221;</p></blockquote>
<p><a href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Options_Include.jpg"><img title="Options_Include.jpg" src="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Options_Include.jpg" alt="Options_Include.jpg" width="485" height="309" /></a></p>
<ul>
<li>Next, choose source  files in the list box, and locate and add the following directories:</li>
</ul>
<blockquote><p>&#8220;C:\Program Files\OpenCV\cv\src&#8221;<br />
&#8220;C:\Program Files\OpenCV\cxcore\src&#8221;<br />
&#8220;C:\Program Files\OpenCV\cvaux\src&#8221;<br />
&#8220;C:\Program Files\OpenCV\otherlibs\highgui&#8221;<br />
&#8220;C:\Program Files\OpenCV\otherlibs\_graphics\src&#8221;</p></blockquote>
<p><a href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Options_Source.jpg"><img title="Options_Source.jpg" src="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Options_Source.jpg" alt="Options_Source.jpg" width="485" height="310" /></a></p>
<ul>
<li>Now  click <strong>OK</strong> in the Options dialog.</li>
<li>You have successfully configured the global settings.</li>
</ul>
<p><strong>Create New Project:</strong></p>
<ul>
<li>Within Developer Studio create new  application:</li>
<li>Select from menu &#8220;File&#8221;-&gt;&#8221;New&#8230;&#8221;-&gt;&#8221;Projects&#8221; tab.</li>
<li>Choose &#8220;Win32 Application&#8221;  or &#8220;Win32 console application&#8221; &#8211; the latter is the easier variant and  both the sample projects have this type.</li>
</ul>
<p><a href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Win32Console.jpg"><img title="Win32Console.jpg" src="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Win32Console.jpg" alt="Win32Console.jpg" width="484" height="337" /></a></p>
<ul>
<li>Type the project name  and choose location</li>
<li>Click Ok.. In  the Application Wizard, Just click Finish.</li>
</ul>
<p><a href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=AppWizard.jpg"><img title="AppWizard.jpg" src="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=AppWizard.jpg" alt="AppWizard.jpg" width="485" height="343" /></a></p>
<ul>
<li>After the above steps done Developer Studio  will create the project folder (by default it has the same name as the  project), <strong>&lt;project name&gt;.vcproj</strong> file, Solution <strong>&lt;project  name&gt;.sln</strong> and, Three Source files: <strong>&lt;project  name&gt;.cpp, stdafx.cpp and stdafx.h.</strong> <a href="http://opencv.willowgarage.com/wiki/StdAfx">StdAfx</a> files are  precompiled header files, which can be very useful if you want to reduce  the compilation time.</li>
<li>For example, consider that we have created a new &#8220;<strong>Hello</strong>&#8221;  Project. Open the Hello.cpp file, and include the OpenCV-related  #include directives:</li>
</ul>
<blockquote><p>#include &lt;cv.h&gt;<br />
#include &lt;cxcore.h&gt;<br />
#include &lt;highgui.h&gt;</p></blockquote>
<ul>
<li>Note that these should be included <em>after</em> <strong>stdafx.h</strong> or you may get build errors.</li>
<li>Now Type some OpenCV code, and Build the  Solution by pressing the F7 Key. There should be linker errors.</li>
<li>Add dependency projects into workspace</li>
<li>Choose from menu: &#8220;Project&#8221; -&gt;  &#8220;Properties&#8221;.</li>
<li>Choose &#8220;Linker&#8221; tab -&gt; &#8220;Input&#8221; category -&gt;  &#8220;Additional Dependencies:&#8221;. Add the <strong>paths</strong> to all  necessary import libraries (cxcore[d].lib cv[d].lib highgui[d].lib  cvaux[d].lib cvcam[d].lib)
<ul>
<li>Note: The debug versions are available  only when you Build the Visual C++ .NET solution provided with the  OpenCV installation.</li>
</ul>
</li>
</ul>
<p><a href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=AdditionalDependencies.jpg"><img title="AdditionalDependencies.jpg" src="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=AdditionalDependencies.jpg" alt="AdditionalDependencies.jpg" width="484" height="330" /></a></p>
<ul>
<li>If the build process complains about a missing  &#8216;windows.h&#8217; header file, then you&#8217;ll need to install the latest version  of the <a href="http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx">Microsoft  Windows SDK</a>.</li>
<li>. <strong>That&#8217;s it!</strong>..  Now Build and Run the application using F5 key and enjoy OpenCV!</li>
</ul>
<p><a href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Compiling.jpg"><img title="Compiling.jpg" src="http://opencv.willowgarage.com/wiki/VisualC%2B%2B?action=AttachFile&amp;do=get&amp;target=Compiling.jpg" alt="Compiling.jpg" width="484" height="363" /></a> .</p>
<pre>Post quoted from: <a href="http://opencv.willowgarage.com/wiki/VisualC%2B%2B" target="_blank">openCV Wiki</a>, all copyrights reserved by original authors.</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/quote/1497.htm/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Quoted: Switching to OpenCV 2.0 with VS2005</title>
		<link>http://www.andol.info/quote/1496.htm</link>
		<comments>http://www.andol.info/quote/1496.htm#comments</comments>
		<pubDate>Sat, 03 Apr 2010 14:54:28 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Quote]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[vs2005]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1496</guid>
		<description><![CDATA[I’m using OpenCV for some tests, and for some reasons (freelance gigs and Symbian SDK) using MS Visual Studio. As new and shiny OpenCV 2.0 is out I decided to switch to it. As it happen, one absolutely have to read buried in the download section readme, before doing anything. The thing is, OpenCV 2.0 doesn’t [...]]]></description>
				<content:encoded><![CDATA[<blockquote><p>I’m using OpenCV for some tests, and for some reasons (freelance gigs and Symbian SDK) using MS Visual Studio. As new and shiny OpenCV 2.0 is out I decided to switch to it. As it happen, one absolutely have to read <a href="http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.0/OpenCV-2.0.0a-win32.Readme.Please.txt/download">buried in the download section readme</a>, before doing anything.<br />
The thing is, OpenCV 2.0 doesn’t include lib files for VS. They have to be built by user.<br />
So here is step by step retelling of readme:<br />
1. Rename your old OpenCV installation to save it, just in case<br />
2. Download and install <a href="http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.0/OpenCV-2.0.0a-win32.exe/download">OpenCV 2.0a</a><br />
3. Download and install <a href="http://www.cmake.org/files/v2.6/cmake-2.6.4-win32-x86.exe">CMake</a><span id="more-1496"></span><br />
4. Reboot (or CMake wouldn’t work)<br />
5. Go to C:\Program Files\CMake 2.6\bin and run cmake-gui.exe<br />
6. In the “Where is the source code” field choose your new OpenCV directory (C:\OpenCV)<br />
In “Where to build the binaries” choose directory for VS compiled OpneCV (C:\OpenCV\VS2005)<br />
7. press Configure button and choose VS2005 (or whatever) as building enviroment<br />
8. Press Generate and VS project will be generated in the C:\OpenCV\VS2005<br />
9. Launch solution and build it. For debug build some projects require debug python libraries. As riseriyo pointed in comments if you have Python installed other than 2.6 that can cause problem.<br />
10. Copy *.lib from C:\OpenCV\vs2005\lib\release (or debug) to C:\OpenCV\lib<br />
Copy *.dll from C:\OpenCV\vs2005\bin\release to C:\OpenCV\bin<br />
11. Now, reconfigure your application project. Include directories now “C:\OpenCV\include\opencv” instead of “C:\OpenCV\include<br />
12. All libraries renamed from *.lib to *200.lib (cv.lib to cv200.lib) or *200d.lib for debug. Rename them, or change project settings.</p></blockquote>
<p>The post was posted originally in &#8216;<a href="http://mirror2image.wordpress.com/2009/10/20/switching-to-opencv-2-0-with-vs2005/" target="_blank">Mirror Image</a>&#8216;, all copyrights reserved by original authors.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/quote/1496.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Easter</title>
		<link>http://www.andol.info/life/1490.htm</link>
		<comments>http://www.andol.info/life/1490.htm#comments</comments>
		<pubDate>Thu, 01 Apr 2010 15:48:27 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[easter]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1490</guid>
		<description><![CDATA[I was told the origin of the Easter by my supervisor though i have been knowing that for quite long. Anyway it is good to have holidays like that. Happy Easter!]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/04/easter2.jpg"><img class="alignnone size-full wp-image-1491" title="easter2" src="http://www.andol.info/wp-content/uploads/2010/04/easter2.jpg" alt="easter 2010" width="485" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/04/easter2.jpg"></a>I was told the origin of the Easter by my supervisor though i have been knowing that for quite long. Anyway it is good to have holidays like that.</p>
<p><span style="font-size: 32px; color: #cc0000;">Happy Easter!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1490.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The swimming and the badminton</title>
		<link>http://www.andol.info/life/1478.htm</link>
		<comments>http://www.andol.info/life/1478.htm#comments</comments>
		<pubDate>Wed, 31 Mar 2010 19:17:23 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[badminton]]></category>
		<category><![CDATA[swimming]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1478</guid>
		<description><![CDATA[I have been interested in playing badminton for years, because surprisingly i did not get many chances to play and practice that. But funny enough we start playing badminton in office recently though it is officially not allowed. Fortunately even in such small space in the office i am having the fun of being relax. [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/03/badminton-sport-dangereux.jpg"><img class="alignnone size-thumbnail wp-image-1479" title="badminton" src="http://www.andol.info/wp-content/uploads/2010/03/badminton-sport-dangereux-485x190.jpg" alt="badminton " width="485" height="190" /></a></p>
<p>I have been interested in playing badminton for years, because surprisingly i did not get many chances to play and practice that. <span id="more-1478"></span>But funny enough we start playing badminton in office recently though it is officially not allowed. Fortunately even in such small space in the office i am having the fun of being relax. Thank you guys with whom i play badminton, definitely we need to apply a space for entertainments, and going out of the deadly boring office.</p>
<p>Another thing, i am going to learn swimming this summer. A good teacher has been invited who promises that i will never ever be drawn during learning. That makes me confident.</p>
<p>Here we go&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1478.htm/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Paging wordpress posts without using plug-ins</title>
		<link>http://www.andol.info/web/1464.htm</link>
		<comments>http://www.andol.info/web/1464.htm#comments</comments>
		<pubDate>Mon, 29 Mar 2010 09:49:34 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[pagenav]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1464</guid>
		<description><![CDATA[Days ago i saw a post talking about &#8216;paging wordpress posts without using plug-ins&#8216; like pagenav. The way to integrate such codes into themes is easy, but with a little bug.  First put this paging function in the theme&#8217;s functions.php function kriesi_pagination($query_string){ global $posts_per_page, $paged; $my_query = new WP_Query($query_string .&#8221;&#38;posts_per_page=-1&#8243;); $total_posts = $my_query-&#62;post_count; if(empty($paged))$paged = 1; [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/03/identify-top-level.jpg"><img class="alignnone size-thumbnail wp-image-1466" title="identify-top-level" src="http://www.andol.info/wp-content/uploads/2010/03/identify-top-level-485x190.jpg" alt="" width="485" height="190" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/03/identify-top-level.jpg"></a>Days ago i saw a post talking about &#8216;<a href="http://www.wopus.org/wordpress-deepin/2048.html" target="_blank">paging wordpress posts without using plug-ins</a>&#8216; like pagenav. The way to integrate such codes into themes is easy, but with a little bug. <span id="more-1464"></span><br />
First put this paging function in the theme&#8217;s functions.php</p>
<blockquote><p>function kriesi_pagination($query_string){<br />
global $posts_per_page, $paged;<br />
$my_query = new WP_Query($query_string .&#8221;&amp;posts_per_page=-1&#8243;);<br />
$total_posts = $my_query-&gt;post_count;<br />
if(empty($paged))$paged = 1;<br />
$prev = $paged &#8211; 1;<br />
$next = $paged + 1;<br />
$range = 2; // only edit this if you want to show more page-links<br />
$showitems = ($range * 2)+1;</p>
<p>$pages = ceil($total_posts/$posts_per_page);<br />
if(1 != $pages){<br />
echo &#8220;&lt;div class=&#8217;pagination&#8217;&gt;&#8221;;<br />
echo ($paged &gt; 2 &amp;&amp; $paged+$range+1 &gt; $pages &amp;&amp; $showitems &lt; $pages)? &#8220;&lt;a href=&#8217;&#8221;.get_pagenum_link(1).&#8221;&#8216;&gt;最前&lt;/a&gt;&#8221;:&#8221;";<br />
echo ($paged &gt; 1 &amp;&amp; $showitems &lt; $pages)? &#8220;&lt;a href=&#8217;&#8221;.get_pagenum_link($prev).&#8221;&#8216;&gt;上一页&lt;/a&gt;&#8221;:&#8221;";</p>
<p>for ($i=1; $i &lt;= $pages; $i++){<br />
if (1 != $pages &amp;&amp;( !($i &gt;= $paged+$range+1 || $i &lt;= $paged-$range-1) || $pages &lt;= $showitems )){<br />
echo ($paged == $i)? &#8220;&lt;span class=&#8217;current&#8217;&gt;&#8221;.$i.&#8221;&lt;/span&gt;&#8221;:&#8221;&lt;a href=&#8217;&#8221;.get_pagenum_link($i).&#8221;&#8216; class=&#8217;inactive&#8217; &gt;&#8221;.$i.&#8221;&lt;/a&gt;&#8221;;<br />
}<br />
}</p>
<p>echo ($paged &lt; $pages &amp;&amp; $showitems &lt; $pages) ? &#8220;&lt;a href=&#8217;&#8221;.get_pagenum_link($next).&#8221;&#8216;&gt;下一页&lt;/a&gt;&#8221; :&#8221;";<br />
echo ($paged &lt; $pages-1 &amp;&amp; $paged+$range-1 &lt; $pages &amp;&amp; $showitems &lt; $pages) ? &#8220;&lt;a href=&#8217;&#8221;.get_pagenum_link($pages).&#8221;&#8216;&gt;最后&lt;/a&gt;&#8221;:&#8221;";<br />
echo &#8220;&lt;/div&gt;n&#8221;;<br />
}<br />
}</p></blockquote>
<p>Then put this reference code in the place where page navigation is needed to show.</p>
<blockquote><p>&lt;?php kriesi_pagination($query_string); ?&gt;</p></blockquote>
<p>And finally add some styles in the theme&#8217;s style.css file.</p>
<blockquote><p>.pagination{<br />
line-height:23px;<br />
}<br />
.pagination span, .pagination a{<br />
font-size:12px;<br />
margin: 2px 6px 2px 0;<br />
background:#fff;<br />
border:1px solid #e5e5e5;<br />
color:#787878;<br />
padding:2px 5px 2px 5px;<br />
text-decoration:none;<br />
}<br />
.pagination a:hover{<br />
background: #8391A7;<br />
border:1px solid #fff;<br />
color:#fff;<br />
}<br />
.pagination .current{<br />
background: #fff;<br />
border:1px solid #8d8d8d;<br />
color:#393939;<br />
font-size:12px;<br />
padding:2px 5px 2px 5px;<br />
}</p></blockquote>
<p>Here comes a problem. When that is put in a new page to navigate posts, it does not work. And after carefully checking, the problem gets located in the function calling where the  &#8217;query_string&#8217; is used. If it is going to be used in a page with its ID equals 99, then the &#8216;query_string&#8217; should be like this:</p>
<p>kriesi_pagination(&#8220;cat=99&#8243;);</p>
<p>or else, the page navigation would not show up due to the post number is zero.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/web/1464.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Approaches for hands detection using openCV</title>
		<link>http://www.andol.info/hci/1459.htm</link>
		<comments>http://www.andol.info/hci/1459.htm#comments</comments>
		<pubDate>Wed, 24 Mar 2010 14:02:17 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[hand database]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1459</guid>
		<description><![CDATA[[Image from internet, any copyright conflict please notice me] As far as in my mind, there are three approaches that people have taken to detect hands using openCV, though not all of them have been tested by myself (a little shame). One is to use accurate HAAR-classifiers to locate and detect gestures which is considered as quite [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/03/hands02-big.jpg"><img class="alignnone size-thumbnail wp-image-1460" title="hands02-big" src="http://www.andol.info/wp-content/uploads/2010/03/hands02-big-485x190.jpg" alt="" width="485" height="190" /></a></p>
<address>[Image from internet, any copyright conflict please notice me]</address>
<p>As far as in my mind, there are three approaches that people have taken to detect hands using openCV, though not all of them have been tested by myself (a little shame). <span id="more-1459"></span>One is to use accurate HAAR-classifiers to locate and detect gestures which is considered as quite stable way but costing very much. Another is to use adaptive skin detection algorithms combined with motion analysis which seems easier to do than previous one. And the last is to use human skin colour segmentation to detect the contours of hands combined with hand convexity detection to recognise hands&#8217; gestures [please refer to: <a style="color: #db492c;" href="http://www.andol.info/hci/797.htm" target="_blank">hand gesture recognition using openCV</a>].</p>
<p>HAAR-classifier database is rarely provided with open source projects. But we found some helpful papers which may give some thoughts of classifier training and test.</p>
<p>About hands database:</p>
<p><a style="color: #db492c;" href="http://download.andol.info/HandGesture.pdf" target="_blank">A colour hand gesture database for evaluating and improving algorithms on hand gesture and posture recognition</a></p>
<p>Application of classifiers:</p>
<p><a style="color: #db492c;" href="http://download.andol.info/handtrackingusingclassifiers.pdf" target="_blank">Real-time hand tracking using a set of cooperative classifiers based on HAAR-like features</a></p>
<p>Alternative skin detection based approach gesture recognition through angle space:</p>
<p><a style="color: #db492c;" href="http://download.andol.info/gesturerecognitionthroughanglespace.pdf" target="_blank">Gesture recognition through angle space</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1459.htm/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Coming soon: A review of openCV detection &amp; recognition</title>
		<link>http://www.andol.info/hci/1455.htm</link>
		<comments>http://www.andol.info/hci/1455.htm#comments</comments>
		<pubDate>Sun, 21 Mar 2010 21:24:58 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[HCI]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[hand detection]]></category>
		<category><![CDATA[Interaction]]></category>
		<category><![CDATA[object recognition]]></category>
		<category><![CDATA[opencv]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1455</guid>
		<description><![CDATA[As these are mostly asked questions about using openCV to detect and recognise all kinds of subjects such as colours or hands, a review which includes tutorials, progresses and examples (if possible) would be published shortly&#8230; [modified by andol in 24/03/2010] Approaches for hands detection using openCV]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/03/architecture-planning.jpg"><img class="alignnone size-thumbnail wp-image-1456" title="architecture-planning" src="http://www.andol.info/wp-content/uploads/2010/03/architecture-planning-485x190.jpg" alt="architecture planning@smashingmagazine" width="485" height="190" /></a></p>
<p>As these are mostly asked questions about using openCV to detect and recognise all kinds of subjects such as colours or hands, a review which includes tutorials, progresses and examples (if possible) would be published shortly&#8230;</p>
<address>[modified by andol in 24/03/2010]<br />
<a style="color: #db492c;" title="Permanent Link to Approaches for hands detection using openCV" rel="bookmark" href="http://www.andol.info/hci/1459.htm" target="_blank">Approaches for hands detection using openCV</a></address>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/hci/1455.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Alice in wonderland</title>
		<link>http://www.andol.info/life/1447.htm</link>
		<comments>http://www.andol.info/life/1447.htm#comments</comments>
		<pubDate>Sun, 21 Mar 2010 20:41:46 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1447</guid>
		<description><![CDATA[It is not a movie about love and wedding though it begins and ends there, it is about courage, the courage between the dream and the realism, the courage which is also needed even in the dream. Poking arms and waking up from the dream seems not so usable sometimes rather, taking the sword and [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/03/aliceinwonderland.jpg"><img class="alignnone size-medium wp-image-1452" title="aliceinwonderland" src="http://www.andol.info/wp-content/uploads/2010/03/aliceinwonderland-485x238.jpg" alt="Alice in wonderland" width="485" height="238" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/03/aliceinwonderland.jpg"></a>It is not a movie about love and wedding though it begins and ends there, it is about courage, the courage between the dream and the realism, the courage which is also needed even in the dream. Poking arms and waking up from the dream seems not so usable sometimes rather, taking the sword and facing the challenge would be the best choice for Alice.</p>
<p>I do think the movie trying to tell  a truth that, some things are destined, but even destinations need believes, insisting and courage.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1447.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t worry about me</title>
		<link>http://www.andol.info/life/1438.htm</link>
		<comments>http://www.andol.info/life/1438.htm#comments</comments>
		<pubDate>Sat, 13 Mar 2010 20:50:15 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Movies]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1438</guid>
		<description><![CDATA[There is an exception of myself to predict where love story movies going to, don&#8217;t know why, maybe because don&#8217;t know how. It is about love and life, realism and dream, girls and boys, but not right or wrong. &#8220;Don&#8217;t worry about me, i am not alone here&#8230;&#8221;]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/03/Screen-shot-2010-03-13-at-20.41.57.png"><img class="alignnone size-medium wp-image-1440" title="Screen shot 2010-03-13 at 20.41.57" src="http://www.andol.info/wp-content/uploads/2010/03/Screen-shot-2010-03-13-at-20.41.57-485x202.png" alt="do'nt worry about me - David &amp; Tina" width="485" height="202" /></a></p>
<p>There is an exception of myself to predict where love story movies going to, don&#8217;t know why, maybe because don&#8217;t know how. It is about love and life, realism and dream, girls and boys, but not right or wrong.</p>
<p>&#8220;Don&#8217;t worry about me, i am not alone here&#8230;&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1438.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shakespeare&#8217;s country</title>
		<link>http://www.andol.info/life/1422.htm</link>
		<comments>http://www.andol.info/life/1422.htm#comments</comments>
		<pubDate>Tue, 09 Mar 2010 20:45:49 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1422</guid>
		<description><![CDATA[]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/03/DSCF0215.jpg"><img class="alignnone size-thumbnail wp-image-1425" title="DSCF0215" src="http://www.andol.info/wp-content/uploads/2010/03/DSCF0215-485x280.jpg" alt="anne hathaway's cottage" width="485" height="280" /><a/><span id="more-1422"></span><a href="http://www.andol.info/wp-content/uploads/2010/03/DSCF0300.jpg"><img class="alignnone size-thumbnail wp-image-1424" title="DSCF0300" src="http://www.andol.info/wp-content/uploads/2010/03/DSCF0300-485x280.jpg" alt="street view in Stratford" width="485" height="280" /></a><a href="http://www.andol.info/wp-content/uploads/2010/03/DSCF0326.jpg"><img class="alignnone size-thumbnail wp-image-1423" title="DSCF0326" src="http://www.andol.info/wp-content/uploads/2010/03/DSCF0326-485x280.jpg" alt="andol" width="485" height="280" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1422.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>St. Paul&#8217;s hall 3 &amp; 4</title>
		<link>http://www.andol.info/life/1418.htm</link>
		<comments>http://www.andol.info/life/1418.htm#comments</comments>
		<pubDate>Sun, 07 Mar 2010 21:06:58 +0000</pubDate>
		<dc:creator>Andol</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Andol]]></category>
		<category><![CDATA[Huddersfield]]></category>
		<category><![CDATA[UK]]></category>

		<guid isPermaLink="false">http://www.andol.info/?p=1418</guid>
		<description><![CDATA[St. Paul&#8217;s hall in sunset.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.andol.info/wp-content/uploads/2010/03/st-pauls-hall-3.jpg"><img class="alignnone size-thumbnail wp-image-1419" title="st pauls hall 3" src="http://www.andol.info/wp-content/uploads/2010/03/st-pauls-hall-3-485x280.jpg" alt="st pauls hall in huddersfield" width="485" height="280" /></a></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/03/st-pauls-hall-3.jpg"></a>St. Paul&#8217;s hall in sunset.</p>
<p><span id="more-1418"></span></p>
<p><a href="http://www.andol.info/wp-content/uploads/2010/03/st-pauls-hall-4.jpg"><img class="alignnone size-thumbnail wp-image-1420" title="st pauls hall 4" src="http://www.andol.info/wp-content/uploads/2010/03/st-pauls-hall-4-485x280.jpg" alt="st pauls hall in huddersfield" width="485" height="280" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andol.info/life/1418.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
