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

<channel>
	<title>ET.Maxwellsdemon's Blog</title>
	<atom:link href="http://etblog.niuest.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://etblog.niuest.com</link>
	<description>菩提本无树，明镜亦非台，本来无一物，何处落尘埃</description>
	<pubDate>Wed, 10 Mar 2010 03:06:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>zh-cn</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>中国非自然灾害：四川省的哭泣</title>
		<link>http://etblog.niuest.com/2010/03/09/chinese-unnatrural-disasters/</link>
		<comments>http://etblog.niuest.com/2010/03/09/chinese-unnatrural-disasters/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 03:06:44 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Society]]></category>

		<category><![CDATA[China]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/09/chinese-unnatrural-disasters/</guid>
		<description><![CDATA[如题，见推～<br />
]]></description>
			<content:encoded><![CDATA[<p>如题，见推～</p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/09/chinese-unnatrural-disasters/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lazy bone&#8217;s world</title>
		<link>http://etblog.niuest.com/2010/03/08/lazy-bones-world/</link>
		<comments>http://etblog.niuest.com/2010/03/08/lazy-bones-world/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 03:19:05 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[History]]></category>

		<category><![CDATA[Philosophy]]></category>

		<category><![CDATA[Humanity]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/08/lazy-bones-world/</guid>
		<description><![CDATA[为什么要有文字，因为懒得用脑袋记事；<br />
为什么要有纸，因为懒得背书；<br />
为什么要有印刷术，因为懒得抄书；<br />
为什么要有指南针，因为懒得记路；<br />
为什么要有蒸汽机，因为懒得做活；<br />
为什么要有交通工具，因为懒得走路；<br />
为什么要有银行，因为懒得管钱；<br />
为什么要有计算机，因为懒得计算；<br />
为什么要有。。。<br />
因为这个世界是懒人的世界，这个世界也是由懒人创造的<br />
]]></description>
			<content:encoded><![CDATA[<p>为什么要有文字，因为懒得用脑袋记事；</p>
<p>为什么要有纸，因为懒得背书；</p>
<p>为什么要有印刷术，因为懒得抄书；</p>
<p>为什么要有指南针，因为懒得记路；</p>
<p>为什么要有蒸汽机，因为懒得做活；</p>
<p>为什么要有交通工具，因为懒得走路；</p>
<p>为什么要有银行，因为懒得管钱；</p>
<p>为什么要有计算机，因为懒得计算；</p>
<p>为什么要有。。。</p>
<p>因为这个世界是懒人的世界，这个世界也是由懒人创造的</p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/08/lazy-bones-world/feed/</wfw:commentRss>
		</item>
		<item>
		<title>一周一个小实验</title>
		<link>http://etblog.niuest.com/2010/03/07/one-week-per-experiment/</link>
		<comments>http://etblog.niuest.com/2010/03/07/one-week-per-experiment/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 23:16:34 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Human Computer Interaction]]></category>

		<category><![CDATA[New Media]]></category>

		<category><![CDATA[OpenCV]]></category>

		<category><![CDATA[OpenGL]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/07/one-week-per-experiment/</guid>
		<description><![CDATA[争取每周可以利用周末的一天做一点交互方面的小实验 <br />
这次是纯粹模仿一个小印的想法：http://danielbaggio.blogspot.com/2008/03/enhanced-version-of-head-tracking-and.html<br />
刚开始效果并不好，会出现很多勿检导致角度判断出错，以至于我一度准备着手kalman filter了。后来发现在使用adaboost算法时，haar分类器可以使用CV_HAAR_FIND_BIGGEST_OBJECT这个参数而不是传统的CV_HAAR_DO_CANNY_PRUNING，准确度和效率都可以得到很大的提高。<br />
但是无论如何，我这个的效率ms还是比那个小印高的 <br />
adaboost的鲁棒性确实不错，一般的遮挡和运动不会产生明显影响。<br />
<br />
不过这个还尚未加上滤波，而且我的目标也不仅仅限于此，xx同学介绍的TrackerIR是终极目标 <br />
如此一来，本科毕业设计某些知识可以派上用场了 <br />
<br />
]]></description>
			<content:encoded><![CDATA[<p>争取每周可以利用周末的一天做一点交互方面的小实验 <img src='http://extra-001.yo2cdn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' border='0' align='absbottom'></p>
<p>这次是纯粹模仿一个小印的想法：<a title="http://danielbaggio.blogspot.com/2008/03/enhanced-version-of-head-tracking-and.html" href="http://danielbaggio.blogspot.com/2008/03/enhanced-version-of-head-tracking-and.html">http://danielbaggio.blogspot.com/2008/03/enhanced-version-of-head-tracking-and.html</a></p>
<p>刚开始效果并不好，会出现很多勿检导致角度判断出错，以至于我一度准备着手kalman filter了。后来发现在使用adaboost算法时，haar分类器可以使用CV_HAAR_FIND_BIGGEST_OBJECT这个参数而不是传统的CV_HAAR_DO_CANNY_PRUNING，准确度和效率都可以得到很大的提高。</p>
<p>但是无论如何，我这个的效率ms还是比那个小印高的 <img src='http://extra-001.yo2cdn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' border='0' align='absbottom'></p>
<p>adaboost的鲁棒性确实不错，一般的遮挡和运动不会产生明显影响。</p>
<p><embed src="http://player.youku.com/player.php/sid/39145689/v.swf" quality="high" width="480" height="400" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash"></p>
<p>不过这个还尚未加上滤波，而且我的目标也不仅仅限于此，xx同学介绍的TrackerIR是终极目标 <img src='http://extra-001.yo2cdn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' border='0' align='absbottom'></p>
<p>如此一来，本科毕业设计某些知识可以派上用场了 <img src='http://extra-001.yo2cdn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' border='0' align='absbottom'></p>
<p><embed src="http://player.youku.com/player.php/sid/5839261/v.swf" quality="high" width="480" height="400" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash"></p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/07/one-week-per-experiment/feed/</wfw:commentRss>
		</item>
		<item>
		<title>采风</title>
		<link>http://etblog.niuest.com/2010/03/06/hanning-around/</link>
		<comments>http://etblog.niuest.com/2010/03/06/hanning-around/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 01:33:39 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Essay]]></category>

		<category><![CDATA[Humanity]]></category>

		<category><![CDATA[USA]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/06/hanning-around/</guid>
		<description><![CDATA[今天下午去corney island采风，想明白了三个道理：<br />
我们每个人的故事就像沙滩上的脚印，即便不会终究被历史大海所磨平，也会被后人的脚印所掩埋；<br />
如果我们有像海水一样的傻劲，那么，再尖锐的礁石也能被磨平；<br />
在污浊的东西，历史的大海竟然也能给冲刷的一干二净；<br />
]]></description>
			<content:encoded><![CDATA[<p>今天下午去corney island采风，想明白了三个道理：</p>
<p>我们每个人的故事就像沙滩上的脚印，即便不会终究被历史大海所磨平，也会被后人的脚印所掩埋；</p>
<p>如果我们有像海水一样的傻劲，那么，再尖锐的礁石也能被磨平；</p>
<p>在污浊的东西，历史的大海竟然也能给冲刷的一干二净；</p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/06/hanning-around/feed/</wfw:commentRss>
		</item>
		<item>
		<title>关于rss订阅</title>
		<link>http://etblog.niuest.com/2010/03/06/about-rss/</link>
		<comments>http://etblog.niuest.com/2010/03/06/about-rss/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 01:14:32 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Essay]]></category>

		<category><![CDATA[Else]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/06/about-rss/</guid>
		<description><![CDATA[rss的订阅有点问题，请见谅～<br />
]]></description>
			<content:encoded><![CDATA[<p>rss的订阅有点问题，请见谅～</p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/06/about-rss/feed/</wfw:commentRss>
		</item>
		<item>
		<title>粒子滤波（转）</title>
		<link>http://etblog.niuest.com/2010/03/06/particle-filter/</link>
		<comments>http://etblog.niuest.com/2010/03/06/particle-filter/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 15:19:14 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Science]]></category>

		<category><![CDATA[Research]]></category>

		<category><![CDATA[Robotics]]></category>

		<category><![CDATA[SLAM]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/06/particle-filter/</guid>
		<description><![CDATA[上回转了个Kalman Filter的介绍，这回转一个粒子滤波（Particle Filter）的：<br />
之前一直在做移动机器人定位算法。查来查去，发觉粒子滤波算法（又叫MC算法）应该算是最流行的了。因此开始学习使用之。入手的是本英文书叫 “probalistic robotic” 很不错，我所见到的讲得最好的一本书。花了大量时间去研读。在这里我想谈谈我对粒子滤波的一点认识。因为在这一领域算是个新手。希望有前辈或者达人来指正我的想法。也希望我的这篇文章对新手有理解他有所帮助（当初我就很是苦于它难于理解）在这里我不想谈粒子滤波的理论基础和推到，这点大家可以去自己翻书。我只谈下我的体会。<br />
粒子滤波算法。他源于Montecarlo的思想，即以某事件出现的频率来指代该事件的概率。因此在滤波过程中，需要用到概率如P(x)的地方，一概对变量x采样，以大量采样的分布近似来表示P(x)。因此，采用此一思想，在滤波过程中粒子滤波可以处理任意形式的概率，而不像Kalman滤波只能处理高斯分布的概率问题。他的一大优势也在于此。<br />
&#160;&#160; 再来看对任意如下的状态方程&#038;nbs [...]]]></description>
			<content:encoded><![CDATA[<p>上回转了个Kalman Filter的介绍，这回转一个粒子滤波（Particle Filter）的：</p>
<p>之前一直在做移动机器人定位算法。查来查去，发觉粒子滤波算法（又叫MC算法）应该算是最流行的了。因此开始学习使用之。入手的是本英文书叫 “probalistic robotic” 很不错，我所见到的讲得最好的一本书。花了大量时间去研读。在这里我想谈谈我对粒子滤波的一点认识。因为在这一领域算是个新手。希望有前辈或者达人来指正我的想法。也希望我的这篇文章对新手有理解他有所帮助（当初我就很是苦于它难于理解）在这里我不想谈粒子滤波的理论基础和推到，这点大家可以去自己翻书。我只谈下我的体会。</p>
<p>粒子滤波算法。他源于Montecarlo的思想，即以某事件出现的频率来指代该事件的概率。因此在滤波过程中，需要用到概率如P(x)的地方，一概对变量x采样，以大量采样的分布近似来表示P(x)。因此，采用此一思想，在滤波过程中粒子滤波可以处理任意形式的概率，而不像Kalman滤波只能处理高斯分布的概率问题。他的一大优势也在于此。</p>
<p>&nbsp;&nbsp; 再来看对任意如下的状态方程&nbsp;&nbsp;</p>
<p><em>&nbsp; x(t)=f(x(t-1),u(t),w(t))</em></p>
<p><em>&nbsp; y(t)=h(x(t),e(t))</em></p>
<p>&nbsp; 其中的x(t)为t时刻状态，u(t)为控制量，w(t) 和e(t)分别为模型噪声和，观测噪声。前一个当然是状态转移方程，后一个是观测方程。那么对于这么一个问题粒子滤波怎么来从观测y(t)，和x(t-1),u(t) 滤出真实状态x(t)呢？</p>
<p>看看滤波的预估阶段：粒子滤波首先根据x(t-1) 和他的概率分布生成大量的采样，这些采样就称之为粒子。那么这些采样在状态空间中的分布实际上就是x(t-1) 的概率分布了。好，接下来依据状态转移方程加上控制量可以对每一粒子得到一个预测粒子。所有的预测粒子就代表了涉及哪些参数化的东西）。</p>
<p>进入校正阶段来：有了预测粒子，当然不是所有的预测粒子都能得到我们的时间观测值y对不，越是接近真实状态的粒子，当然获得越有可能获得观测值y对吧。于是我们对所有的粒子得有个评价了，这个评价就是一个条件概率P(y|x<sup>i</sup>),直白的说，这个条件概率代表了假设真实状态x(t)取第i个粒子x<sup>i&nbsp;</sup> 时获得观测y的概率。令这个条件概率为第i个粒子的权重。如此这般下来，对所有粒子都进行这么一个评价，那么越有可能获得观测y的粒子，当然获得的权重越高。好了预测信息融合在粒子的分布中，观测信息又融合在了每一粒子的权重中。</p>
<p>&nbsp; 哈哈最后采用重采样算法（不知道什么是重采样算法，那就只好翻书去吧），去除低权值的粒子，复制高权值的粒子。所得到的当然就是我们说需要的真实状态x(t)了，而这些重采样后的粒子，就代表了真实状态的概率分布了。</p>
<p>下一轮滤波，再将重采样过后的粒子集输入到状态转移方程中，直接就能够获得预测粒子了。。</p>
<p>&nbsp; 初始状态的问题：咱们一开始对x(0)一无所知对吧，那咱们就认为x(0)在全状态空间内平均分布呗。于是初始的采样就平均分布在整个状态空间中。然后将所有采样输入状态转移方程，得到预测粒子。嘿嘿再评价下所有预测粒子的权重，当然我们在整个状态空间中只有部分粒子能够获的高权值咯。马上重采样算法来了，去除低权值的，将下一轮滤波的考虑重点立马缩小到了高权值粒子附近。哈哈就这么简单。也很实用。</p>
<p>明白了没？没看糊涂吧哈哈。</p>
<p>如果大家看得还不过瘾，后面有根据精彩的论述。</p>
<p>&nbsp;</p>
<p>如果跟kalman滤波相比，那确实。毕竟kalman滤波可以直接得到状态的解析估计，计算量很小。如果跟Markov定位相比，恰恰与 ricky所说相反，粒子滤波计算量小很多，而事实上，粒子滤波被用于定位的背景就是为了降低普通的Markov定位计算量相当大并且随着维数的增长计算量迅速增长的缺陷。（Sebastian Thrun, Wolfram burgard, Dieter fox等在90年代做的一个图书馆机器人导航的项目，其中很多当时他们的工作都成了现今机器人研究领域的热点，比如粒子滤波，SLAM等）。</p>
<p>大家可能有几个疑问，</p>
<p>1. Kalman滤波或者EKF都可以做定位并且运算量小，为什么还要用什么Markov定位呢？</p>
<p>2. 为什么Markov定位计算量大并且随着空间维数的增长而增长剧烈？</p>
<p>3.为什么粒子滤波这么神奇，让计算量如此之大的Markov定位运算量骤降？</p>
<p>4.到底粒子滤波实质是什么？</p>
<p>好，现在就一一谈一下我的看法，</p>
<p>1. Kalman滤波或者EKF都可以做定位并且运算量小，为什么还要用什么Markov定位呢？</p>
<p>燢alman滤波是有适用条件的，a。初始状态必须是符合正态分布。b。必须是线性系统。（当然，EKF通过将非线性系统线性化的方法处理非线性系统）。而真实的定位问题很多时候不满足以上两个条件。为什么不满足呢？</p>
<p>先说为什么a不满足：首先举个正态分布无法描述的反例，大家都知道，正态分布是单峰函数，也就是说机器人初始时位于工作空间中某个位置的初始概率最大，其他地方都比这小。如果是采用地图匹配进行绝对定位，上面描述的单峰高斯函数可能就无法精确的描述事实了，比如有十个一模一样的房间。初始时把机器人放在其中一个里面，机器人根据绝对测量传感器获得局部地图，与他携带的先验地图匹配后他发现，他现在呆的位置在他的工作空间中有10个峰值，每个房间一个，因为十个房间一模一样，他无法区分。显然，此时a假设不成立。</p>
<p>再说b为什么不满足：这取决于真实机器人的物理特性，系统的状态更新方程是由里程计或者是dead reckon 得到的，系统的观测方程是由绝对定位系统（或者地图匹配）得到的。对于一般的移动机器人，无论是两个主动轮的形式还是一个主动轮一个steering wheel的形式，由此得到的状态更新方程都是非线性的。</p>
<p>2. 为什么Markov定位计算量大并且随着空间维数的增长而增长剧烈？</p>
<p>Markov定位的基本原理很简单，就是用条件概率描述状态更新，所有的可能的状态都枚举个遍，对于机器人的每一次更新，所有的可能的状态迁移都要被更新一遍，假设我们用栅格描述工作空间，假设t时刻机器人可能的位置为p1,p2,p3，在二维情况下采用正方形栅格划分那么p1有8个邻居，记为 p11，p12，p13，...,p18.在三维情况下，采用立方体划分那么邻居就更多了，有26个。如果维数继续增加，那么邻居增加的更厉害。这里我们以二维情况为例来阐述问题。同理，我们记p2的邻居为p21，p22，。。。p28。p3的邻居为p31，p32，。。。，p38。在t时刻可能的位置只有3个，然而t+1时刻，所有的三个的邻居，以及p1，p2，p3都有可能成为当前位置，但是根据dead reckon的结果，我们可以排除一些小概率的邻居，减少计算量。但是随着时间的推移，整个空间中的所有点都有可能成为估计的当前位置（只不过各个位置的概率不同而已）。这样，如果不采取措施，那状态的更新会是一件巨大的工程。并且，空间维数越大，节点数越多，计算量增长越厉害。</p>
<p>3.为什么粒子滤波这么神奇，让计算量如此之大的Markov定位运算量骤降？</p>
<p>粒子滤波强就强在它用统计的基于采样的方法来描述整个空间中的概率分布。Markov的思想是你既然当前位置的分布概率是个特殊分布，我就干脆把你的样本空间离散化（把空间划分为栅格），计算每一个样本的概率（计算每一个栅格的概率）。但是这带来了问题2.为了解决这个问题，粒子滤波采用了另一种思想：现在我不再均匀的把样本空间离散化了，而是根据我当前所掌握的概率分布对空间进行采样（重要性采样），显然，概率小的地方少采几个样(反正概率小，即使采多了，每个样本差别也不大，完全可以由附近的其他样本反映）；概率高的地方应该多采几个样。这样，我们可以规定，每次都采样N个，对于大概率的地方多采，小概率的地方少采。根据概率里的大数定律，可以证明即使在维数增加的时候依然保持采N个样，仍然可以保持性能。这就是粒子滤波高的地方，当维数非常高的情况，Markov定位都累的算不出来了，因为需要更新的状态对实在是太多了，而人家粒子滤波依然只采N个样，计算量还那样，变化不大。</p>
<p>4.到底粒子滤波实质是什么？</p>
<p>事实上，我们完全可以换一种思维来认识粒子滤波。就是基于奖励惩罚机制（强化学习）的优化的思想。</p>
<p>首先，根据状态转移方程，对于每个粒子的位置进行更新。但是这个更新只是基于dead reckon得到的，我们要融合绝对定位与相对定位，绝对定位的信息还没有融合进去呢。根据状态转移方程得到的新状态到底行不行？能有多大的概率？这还取决于绝对定位的结果也就是输出方程。把状态转移方程的到的结果代入输出方程，得到一个输出，这个输出是估计值，而根据绝对定位的观测，这个值对应的观测值也是可以测量得到的，现在这两个值之间有个差额，很明显，这个差额越小，刚才的到的状态越可信，这个差额越大，状态越不可信。好，就把这个指标作为评估函数（像GA，pso等优化算法里的evaluation function),来修正各个状态的估计概率。</p>
<p>总结一下，粒子滤波就是一种基于动态系统前向模型利用奖惩机制估计状态值的一种方法。</p>
<p>啰嗦了半天，希望对大家有帮助。</p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/06/particle-filter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>看完大鱼</title>
		<link>http://etblog.niuest.com/2010/03/05/watch-big-fish/</link>
		<comments>http://etblog.niuest.com/2010/03/05/watch-big-fish/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 03:19:48 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Essay]]></category>

		<category><![CDATA[Film]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/05/watch-big-fish/</guid>
		<description><![CDATA[看完大鱼，哭的稀里哗啦，却不知为何<br />
]]></description>
			<content:encoded><![CDATA[<p>看完大鱼，哭的稀里哗啦，却不知为何</p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/05/watch-big-fish/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OpenCV的一个小bug？</title>
		<link>http://etblog.niuest.com/2010/03/03/a-bug-of-opencv/</link>
		<comments>http://etblog.niuest.com/2010/03/03/a-bug-of-opencv/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 06:24:08 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[OpenCV]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/03/a-bug-of-opencv/</guid>
		<description><![CDATA[在使用cvLoadImage的时候，如果跟的是相对路径，如”yes\\no.jpg”，那么如果后面有诸如cvGetSize之类的函数使用的时候，虽然在调试时程序完全正常，但是在目录下直接运行.exe文件，则程序无法运行，会报错。<br />
但是，如果跟的是绝对的路径，则不会出现这种情况。<br />
回想起来上次好像也碰过这种情况，不过是一年以前的事情了，这次又折腾了半天才想起来搞明白是怎么回事。<br />
记着，省着下次再碰见不知所措吧～<br />
]]></description>
			<content:encoded><![CDATA[<p>在使用cvLoadImage的时候，如果跟的是相对路径，如”yes\\no.jpg”，那么如果后面有诸如cvGetSize之类的函数使用的时候，虽然在调试时程序完全正常，但是在目录下直接运行.exe文件，则程序无法运行，会报错。</p>
<p>但是，如果跟的是绝对的路径，则不会出现这种情况。</p>
<p>回想起来上次好像也碰过这种情况，不过是一年以前的事情了，这次又折腾了半天才想起来搞明白是怎么回事。</p>
<p>记着，省着下次再碰见不知所措吧～</p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/03/a-bug-of-opencv/feed/</wfw:commentRss>
		</item>
		<item>
		<title>增强现实(AR)</title>
		<link>http://etblog.niuest.com/2010/03/02/augmented-reality/</link>
		<comments>http://etblog.niuest.com/2010/03/02/augmented-reality/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 17:14:28 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[ARToolKit]]></category>

		<category><![CDATA[OpenGL]]></category>

		<category><![CDATA[Virture Reality]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/2010/03/02/augmented-reality/</guid>
		<description><![CDATA[增强现实技术（AR），有一个专门的工具包叫ARToolKit（http://www.hitl.washington.edu/artoolkit/download/），而youtube上有很多比较有意思的应用，可以看看<br />



以及<br />



再补充一个Demo of D Fusion：<br />



国内上不了的同仁们，请翻墙上 <br />
http://www.youtube.com/watch?v=oiqIPXnKkKo<br />
http://www.youtube.com/watch?v=TW6_X9qBeds&#38;feature=related<br />
http://www.youtube.com/watch?v=6NKT6eUGJDE<br />
]]></description>
			<content:encoded><![CDATA[<p>增强现实技术（AR），有一个专门的工具包叫ARToolKit（<a title="http://www.hitl.washington.edu/artoolkit/download/" href="http://www.hitl.washington.edu/artoolkit/download/">http://www.hitl.washington.edu/artoolkit/download/</a>），而youtube上有很多比较有意思的应用，可以看看</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d8e993e1-cab9-4b0d-a87d-8faf4084ca02" class="wlWriterEditableSmartContent">
<div><embed src="http://www.youtube.com/v/oiqIPXnKkKo&amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"></div>
</div>
<p>以及</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:3491cfcf-be53-4e16-921d-731e26c77630" class="wlWriterEditableSmartContent">
<div><embed src="http://www.youtube.com/v/TW6_X9qBeds&amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"></div>
</div>
<p>再补充一个Demo of D Fusion：</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:54c6f171-11b5-4166-acd6-87ffd93b24be" class="wlWriterEditableSmartContent">
<div><embed src="http://www.youtube.com/v/6NKT6eUGJDE&amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"></div>
</div>
<p>国内上不了的同仁们，请翻墙上 <img src='http://extra-001.yo2cdn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' border='0' align='absbottom'></p>
<p><a href="http://www.youtube.com/watch?v=oiqIPXnKkKo">http://www.youtube.com/watch?v=oiqIPXnKkKo</a></p>
<p><a href="http://www.youtube.com/watch?v=TW6_X9qBeds&amp;feature=related">http://www.youtube.com/watch?v=TW6_X9qBeds&amp;feature=related</a></p>
<p><a href="http://www.youtube.com/watch?v=6NKT6eUGJDE">http://www.youtube.com/watch?v=6NKT6eUGJDE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/03/02/augmented-reality/feed/</wfw:commentRss>
		</item>
		<item>
		<title>一个人机交互的小实验</title>
		<link>http://etblog.niuest.com/2010/02/28/small-experiment-of-interaction/</link>
		<comments>http://etblog.niuest.com/2010/02/28/small-experiment-of-interaction/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 05:47:26 +0000</pubDate>
		<dc:creator>麦克斯韦妖</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Human Computer Interaction]]></category>

		<category><![CDATA[New Media]]></category>

		<category><![CDATA[OpenCV]]></category>

		<category><![CDATA[OpenGL]]></category>

		<guid isPermaLink="false">http://etblog.niuest.com/?p=48145</guid>
		<description><![CDATA[最近抽空做了一个小实验。<br />
毕竟新媒体和人机交互是未来的趋势啊<br />
这个是基于OpenCV和OpenGL的，算法是Optical Flow。<br />
这个立方体的贴图有些问题，就凑合着看吧<br />
至于我的背景和本人的穿着，我保持沉默 <br />
补充：昨天晚上睡觉前临时把贴图和运动方程做了点小的修改，现在看上去好多了～<br />

]]></description>
			<content:encoded><![CDATA[<p>最近抽空做了一个小实验。</p>
<p>毕竟新媒体和人机交互是未来的趋势啊</p>
<p>这个是基于OpenCV和OpenGL的，算法是Optical Flow。</p>
<p>这个立方体的贴图有些问题，就凑合着看吧</p>
<p>至于我的背景和本人的穿着，我保持沉默 <img src='http://extra-001.yo2cdn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' border='0' align='absbottom'></p>
<p>补充：昨天晚上睡觉前临时把贴图和运动方程做了点小的修改，现在看上去好多了～</p>
<div><embed src="http://player.youku.com/player.php/sid/38818278/v.swf" quality="high" width="480" height="400" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash"></div>
]]></content:encoded>
			<wfw:commentRss>http://etblog.niuest.com/2010/02/28/small-experiment-of-interaction/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>