<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5256237358703633433</id><updated>2024-11-05T12:18:39.507-08:00</updated><category term="OpenGL and OpenCV"/><category term="Blogging Tool"/><category term="Discounted Cash Flow"/><category term="GLUT"/><category term="Chinese Application"/><category term="Dividend"/><category term="Excel"/><category term="HTML"/><category term="Investing"/><category term="LaTeX"/><category term="Net Present Value"/><category term="PDF"/><category term="SBA"/><category term="Threading"/><category term="Value Investing"/><category term="Window Language"/><category term="Window Live Writer"/><category term="Window Networking"/><category term="XML"/><category term="javascript"/><title type='text'>Lolly Motions</title><subtitle type='html'>My blog on IT, Computer graphic, Finance, business and everything</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-569462975090984664</id><published>2010-09-15T22:05:00.001-07:00</published><updated>2010-09-15T22:28:24.823-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><title type='text'>Making HTML div scrollable</title><content type='html'>suppose you want to make a HTML div scrollable and limit it to a certain width and height. You can achieve this by using the following code&lt;br /&gt;
&lt;pre class=&quot;brush: cpp&quot;&gt;&amp;lt;div style=”width:500px, height:600px, overflow=auto”&amp;gt; &amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;br /&gt;
That line of code will set the div to 500 x 600 and if the content of the div exceeded that size, the div will become scrollable automatically. The parameter responsible for this effect is: overflow=auto&lt;br /&gt;
&lt;p&gt;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=059610197X&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt; &lt;/p&gt;&lt;p&gt;&lt;iframe src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;o=1&amp;p=8&amp;l=bpl&amp;asins=0470186275&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr&quot; style=&quot;align:left;padding-top:5px;width:131px;height:245px;padding-right:10px;&quot;align=&quot;left&quot; scrolling=&quot;no&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p&gt;&lt;iframe src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;o=1&amp;p=8&amp;l=bpl&amp;asins=0672330970&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr&quot; style=&quot;align:left;padding-top:5px;width:131px;height:245px;padding-right:10px;&quot;align=&quot;left&quot; scrolling=&quot;no&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/569462975090984664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/09/making-html-div-scrollable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/569462975090984664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/569462975090984664'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/09/making-html-div-scrollable.html' title='Making HTML div scrollable'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-4045808468827716621</id><published>2010-09-15T21:53:00.001-07:00</published><updated>2010-09-15T22:26:24.630-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>Javascript Optional Function argument</title><content type='html'>Let say you have a javascript function as follows&lt;br /&gt;
&lt;pre class=&quot;brush: cpp&quot;&gt;function jFunc( param1, param2, param3 )
{ 
// your function here…;
}&lt;/pre&gt;&lt;br /&gt;
you can make the parameter of jFunc optional by using&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: cpp&quot;&gt;if( param2 == undefined)
{
//do something here
}
if( param3 == undefined)
{
//do something here
}&amp;nbsp;&lt;/pre&gt;&lt;pre class=&quot;brush: cpp&quot;&gt;&lt;/pre&gt;&lt;p&gt;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596157134&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0470611944&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/4045808468827716621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/09/javascript-optional-function-argument.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/4045808468827716621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/4045808468827716621'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/09/javascript-optional-function-argument.html' title='Javascript Optional Function argument'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-7483294837556869198</id><published>2010-09-15T20:59:00.001-07:00</published><updated>2010-09-15T21:42:47.118-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Discounted Cash Flow"/><title type='text'>Stock Intrinsic Value Calculator</title><content type='html'>&lt;p&gt;This Stock Intrinsic Value calculator will calculate the Fundamental Stock Intrinsic value using the Discounted Cash Flow Model. &lt;/p&gt; &lt;h4&gt;Instruction&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;Enter the initial Cash flow for this current year. &lt;/li&gt; &lt;li&gt;Enter your estimate for the cash flow growth rate (E,g, For 10% enter 0.1, for 25% enter 0.25). &lt;/li&gt; &lt;li&gt;Enter the estimated inflation rate (E.g. For&lt;script language=&quot;javascript&quot; src=&quot;https://sites.google.com/site/starcraft2zap/stock.js&quot;&gt;&lt;/script&gt; 15%, enter 0.15, for 5% enter 0.05)&lt;/li&gt; &lt;li&gt;Enter the number of years you wish to project, typically 10 years&lt;/li&gt;&lt;/ul&gt; &lt;form&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Initial Cash Flow&lt;/td&gt; &lt;td&gt;&lt;input id=&quot;initial&quot;&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Cash Flow Growth Rate&lt;/td&gt; &lt;td&gt;&lt;input id=&quot;growth&quot; value=&quot;0.1&quot;&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Inflation Rate&lt;/td&gt; &lt;td&gt;&lt;input id=&quot;inflation&quot; value=&quot;0.05&quot;&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Projected No. of Years&lt;/td&gt; &lt;td&gt;&lt;input id=&quot;year&quot; value=&quot;10&quot;&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;input onclick=&quot;javascript: test()&quot; value=&quot;calculate&quot; type=&quot;button&quot; name=&quot;calculate&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/form&gt; &lt;div style=&quot;overflow: auto&quot; id=&quot;resultScr&quot;&gt;&lt;/div&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/7483294837556869198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/09/stock-intrinsic-calculator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/7483294837556869198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/7483294837556869198'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/09/stock-intrinsic-calculator.html' title='Stock Intrinsic Value Calculator'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-2068149983495856648</id><published>2010-09-14T02:30:00.000-07:00</published><updated>2010-09-15T09:35:49.912-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dividend"/><title type='text'>Stock dividend ex date</title><content type='html'>In order to receive the stock dividend there are 2 important date to note. They are the ex-date and record date.&lt;br&gt;&lt;br&gt; &lt;h4&gt;Record date&lt;/h4&gt; &lt;p&gt;The date when you must be on the company record to receive the dividend.&lt;/p&gt; &lt;h4&gt;Ex-date &lt;/h4&gt;&lt;br&gt;Usually the ex-date is announced 2 day before the record date. To be eligible for the dividend you have to buy the stock before the ex-date.   </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/2068149983495856648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/09/stock-dividend-ex-date.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/2068149983495856648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/2068149983495856648'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/09/stock-dividend-ex-date.html' title='Stock dividend ex date'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-2922807065637243966</id><published>2010-09-13T04:55:00.001-07:00</published><updated>2010-09-15T10:30:17.992-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Discounted Cash Flow"/><category scheme="http://www.blogger.com/atom/ns#" term="Net Present Value"/><category scheme="http://www.blogger.com/atom/ns#" term="Value Investing"/><title type='text'>Intrinsic value of a stock using Discounted Cash flow Model</title><content type='html'>&lt;p&gt;When you want to buy a stock at $1.70, are you sure it is really worth $1.70? You should have heard of Warren Buffets, who become a billionaire just by using value investing. You should have also heard that Warren Buffets always managed to buy company stock at a discounted value from its true value. BUT, how do you actually evaluate the true intrinsic value of a stock?&lt;/p&gt; &lt;h4&gt;Net Present value (NPV)&lt;/h4&gt; &lt;p&gt;Let me give you an example of how to find the intrinsic value of a stock:&lt;/p&gt; &lt;p&gt;You want to buy a cow, and this cow will produce $100 worth of milk every year for 10 years. At the End of 10 years, this cow can be sold for $1000. So how much you think this cow will worth? If your answer is $2000, then you definitely have to read on! Cause, you are WRONG!&lt;/p&gt; &lt;p&gt;To calculate its intrinsic value, you have to use the concept of Future and Present value of the money taking the inflation of money into account. Assuming the inflation of money is 5% per year.&lt;/p&gt; &lt;div align=&quot;center&quot;&gt; &lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;463&quot; align=&quot;center&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;&lt;font size=&quot;2&quot;&gt;Year&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;22&quot;&gt;&lt;font size=&quot;2&quot;&gt;0&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;34&quot;&gt;&lt;font size=&quot;2&quot;&gt;1&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;34&quot;&gt;&lt;font size=&quot;2&quot;&gt;2&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;35&quot;&gt;&lt;font size=&quot;2&quot;&gt;3&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;32&quot;&gt;&lt;font size=&quot;2&quot;&gt;4&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;32&quot;&gt;&lt;font size=&quot;2&quot;&gt;5&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;32&quot;&gt;&lt;font size=&quot;2&quot;&gt;6&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;27&quot;&gt;&lt;font size=&quot;2&quot;&gt;7&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;8&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;9&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;76&quot;&gt;&lt;font size=&quot;2&quot;&gt;10&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;69&quot;&gt;&lt;font size=&quot;2&quot;&gt;Future Value&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;21&quot;&gt;&lt;font size=&quot;2&quot;&gt;0&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;34&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;34&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;34&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;28&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;100&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;76&quot;&gt;&lt;font size=&quot;2&quot;&gt;100+1000&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;69&quot;&gt;&lt;font size=&quot;2&quot;&gt;Present Value&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;21&quot;&gt;&lt;font size=&quot;2&quot;&gt;0&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;34&quot;&gt;&lt;font size=&quot;2&quot;&gt;95.2&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;34&quot;&gt;&lt;font size=&quot;2&quot;&gt;90.7&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;35&quot;&gt;&lt;font size=&quot;2&quot;&gt;86.4&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;82.3&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;78.4&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;74.6&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;29&quot;&gt;&lt;font size=&quot;2&quot;&gt;71.1&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;67.7&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;33&quot;&gt;&lt;font size=&quot;2&quot;&gt;64.5&lt;/font&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;76&quot;&gt;&lt;font size=&quot;2&quot;&gt;61.4+613.9&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;The Net Present value (Sum of all Present value) = $1486.1. &lt;br&gt;Therefore, this cow only worth up to $1486.1 !!!!&lt;/p&gt; &lt;p&gt;The Formula is given by,&lt;/p&gt;&lt;img style=&quot;display: block; float: none; margin-left: auto; margin-right: auto&quot; title=&quot;PV(t)=\frac{FV(t)}{(1+r)^{t}}&quot; src=&quot;http://latex.codecogs.com/gif.latex?PV(t)=\frac{FV(t)}{(1+r)^{t}}&quot;&gt;  &lt;p&gt;where t is time in years, PV(t) is Present value at time t, FV(t) is Future value at time t, r is the inflation rate.&lt;/p&gt; &lt;p&gt;To Calculate the Net Present Value (NPV),&lt;/p&gt;&lt;img style=&quot;display: block; float: none; margin-left: auto; margin-right: auto&quot; title=&quot;NPV(t)=\sum_{n=1}^{n=10}PV(n)&quot; src=&quot;http://latex.codecogs.com/gif.latex?NPV(t)=\sum_{n=1}^{n=10}PV(n)&quot;&gt;  &lt;p&gt;Where, t is the time in years, NPV(t) is the Net Present Value at over the time t, PV(n) is the Present Value at time n.&lt;/p&gt; &lt;h4&gt;Discounted Cash flow (DCF)&lt;/h4&gt; &lt;p&gt;So now, you know how to find NPV. How does this relate to Cash flow?&lt;/p&gt; &lt;p&gt;Refer to the past 5-10 year of the annual report, look for the &lt;strong&gt;Operating Cash flow&lt;/strong&gt; of the company. &lt;strong&gt;NOTE:&lt;/strong&gt; If the growth of the operating cash flow is irregular or having more than 2 negative cash flow in a consecutive year then DCF can’t be used!&lt;/p&gt; &lt;p&gt;Estimate the growth rate of the company’s operating cash flow over 10 years. &lt;/p&gt; &lt;p&gt;Using the current fiscal year of the company’s operating cash flow as the initial value &lt;img title=&quot;F_{0}&quot; src=&quot;http://latex.codecogs.com/gif.latex?F_{0}&quot;&gt;, calculate the future value ,FV(t), of the operating cash flow with the formula below,&lt;/p&gt; &lt;p&gt;&lt;img style=&quot;display: block; float: none; margin-left: auto; margin-right: auto&quot; title=&quot;FV(t)=F_{0}(1+g)^{t}&quot; src=&quot;http://latex.codecogs.com/gif.latex?FV(t)=F_{0}(1+g)^{t}&quot;&gt;&lt;/p&gt; &lt;p&gt;where g is the estimated cash flow growth rate and t is the time in year. Note that the current year is t=0.&lt;/p&gt; &lt;p&gt;Using the projected FV(t) over 10 years, find the NPV of the cash flow. Finally the intrinsic value of the stock price can be found using,&lt;/p&gt; &lt;p&gt;&lt;img style=&quot;display: block; float: none; margin-left: auto; margin-right: auto&quot; title=&quot;P=\frac{NPV}{K}&quot; src=&quot;http://latex.codecogs.com/gif.latex?P=\frac{NPV}{K}&quot;&gt;&lt;/p&gt; &lt;p&gt;Where P is the intrinsic value of stock, NPV is the Net Present value of the cash flow over 10 years, K is the number of outstanding common stock.&lt;/p&gt; &lt;p&gt;To read more about discounted cash flow and value investing, you can refer to the follow reference books. If you are a beginner to stock investing, I would strongly recommend you read the book “&lt;a href=&quot;http://www.adamkhoo.net/go.php?offer=calculus85&amp;amp;pid=15&quot;&gt;Secret of Millionaire Investors&lt;/a&gt;” by Adam Khoo and Conrad Alvin Lim.&lt;/p&gt; &lt;h4&gt;Recommended Books&lt;/h4&gt; &lt;p&gt;&lt;a href=&quot;http://www.adamkhoo.net/go.php?offer=calculus85&amp;amp;pid=15&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;smifront&quot; border=&quot;0&quot; alt=&quot;smifront&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyZk75wFfmgmt6snPHeLRBVTgq8BPZuYq2MxuoOp15j-M-wZB93aChMKECYCfWR7DFDtvSBF5lLN8HdI6uXb7w3lkKGZ7OqtrcNyIx3HU0e8NYdsK0085SER5_SpPL9uZjNOtxwcTJS8k/?imgmax=800&quot; width=&quot;164&quot; height=&quot;244&quot;&gt;&lt;/a&gt; &lt;iframe style=&quot;width: 120px; height: 240px&quot; marginheight=&quot;0&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0470467150&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;iframe style=&quot;width: 120px; height: 240px&quot; marginheight=&quot;0&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0471463396&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;iframe style=&quot;width: 120px; height: 240px&quot; marginheight=&quot;0&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0470683597&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;iframe style=&quot;width: 120px; height: 240px&quot; marginheight=&quot;0&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=FFFFFF&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;asins=0470053151&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/2922807065637243966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/09/intrinsic-value-of-stock-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/2922807065637243966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/2922807065637243966'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/09/intrinsic-value-of-stock-using.html' title='Intrinsic value of a stock using Discounted Cash flow Model'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyZk75wFfmgmt6snPHeLRBVTgq8BPZuYq2MxuoOp15j-M-wZB93aChMKECYCfWR7DFDtvSBF5lLN8HdI6uXb7w3lkKGZ7OqtrcNyIx3HU0e8NYdsK0085SER5_SpPL9uZjNOtxwcTJS8k/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-2096829774369627745</id><published>2010-09-13T03:51:00.001-07:00</published><updated>2010-09-13T03:51:11.595-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Investing"/><title type='text'>Book Review of the Secrets of Millionaire Investors</title><content type='html'>&lt;p&gt;There are a lot of books out there on how to become a millionaire, and quite a few on investing as well.&amp;nbsp; Mostly, they’re disappointing.&amp;nbsp; The millionaire books might be inspirational, the good ones anyway, and they may have some advice that’s useful, but in order to actually making them work, you would have to sign up for follow-up seminars and the special, proprietary coaching programs of the authors, all of them expensive. &lt;p&gt;And about those books on investments – they tend to be disappointing for a different reason:&amp;nbsp; Either they’re too basic and conservative, in the vein of promising you that you too can become a millionaire if you invest 10% of your salary for the next 40 years.&amp;nbsp; &lt;p&gt;Or they are, once again, too vague.&amp;nbsp; They might provide introductions into some of the basics of certain aspects of stock trading, but if you’d try to actually follow their advice, you’d soon find yourself in hot water. &lt;p&gt;Not so with &lt;a href=&quot;http://www.adamkhoo.net/go.php?offer=calculus85&amp;amp;pid=15&quot;&gt;Adam Khoo and Conrad Lim’s book, Secrets of Millionaire Investors&lt;/a&gt;.&amp;nbsp; Just from looking at the title, I would have probably expected more of the same.&amp;nbsp; But Adam and Conrad actually provide the blueprints – and the details – on how to make investing work. &lt;p&gt;The book starts with a bang – taking us right into the world of trading stocks, and the challenges Adam faced during his first attempts at making it work.&amp;nbsp; Let’s just say it wasn’t a pretty sight.&amp;nbsp; For two years, he played it safe after that. &lt;p&gt;But the failures were just stepping stones, prompting Adam to seek out mentors and models from whom he could learn, something he discusses in much detail in some of his other books, for example in Master Your Mind and in Secrets of Self-Made Millionaires. &lt;p&gt;His key role model:&amp;nbsp; Warren Buffett, arguably the world’s most successful investor.&amp;nbsp; He studied what Buffett had done and quickly saw where he himself had gone wrong.&amp;nbsp; His other investing books were of the sort I mentioned above – providing good but incomplete information, and Adam learned the hard way that a little knowledge, even if it’s good, can be very dangerous. &lt;p&gt;So he set out to learn everything he needed to know to become a successful investor, and started to apply what he learned.&amp;nbsp; First he focused on Singapore, but he quickly moved on to the U.S. stock market, a much more dynamic marketplace. &lt;p&gt;But even skilled investing in the stock market only gets you so far.&amp;nbsp; He soon noticed that some of his friends doubled their money in weeks...&amp;nbsp; by buying options. &lt;p&gt;So he attended seminars and quickly expanded his expertise to options as well. &lt;p&gt;Next, Adam’s co-author, Conrad Lim, shares his own rags-to-riches story.&amp;nbsp; He decided to learn about the stock market after going through several business failures and a bankruptcy.&amp;nbsp; I actually find that inspiring.&amp;nbsp; It means that even after thorough failure, you have a chance to better yourself, and become wealthy. &lt;p&gt;On his quest to learn about the stock market, Conrad too suffered the failures caused by good but incomplete information.&amp;nbsp; He quickly learned from his mistakes, though, and slowly, he was making gains.&amp;nbsp; After about a year, he was consistently earning a nice full-time income just from trading stocks, and things went uphill from there. He went from failure to becoming someone people sought out for advice. &lt;p&gt;Next, the book goes into the meat of investing, starting by dispelling the myths perpetrated by most of the other books, especially the one about the correlation between low risk and low return on one side, and high risk and high return on the other.&amp;nbsp; &lt;p&gt;A poignant quote by Warren Buffett underlines that point: &lt;p&gt;“Risk Comes from Not Knowing What You Are Doing” &lt;p&gt;And that’s the situation the book sets out to remedy.&amp;nbsp; I was amazed at the wealth of detail the book went into – efficiently and clearly explained in its 272 pages.&amp;nbsp; And not just regular stock investing either, but all the fancy stuff, including options and short-selling. &lt;p&gt;Here’s some of the kind of information covered in this book: &lt;p&gt;1.&amp;nbsp; Basic principles of how the stock market works, and how to work the stock market successfully, including such gems as how to make sure you get out early if you picked the wrong stock without getting burned too badly. &lt;p&gt;2.&amp;nbsp; In a chapter, called “The Idiot Proof Way To Making Money” the authors explain the first and&amp;nbsp; most basic system for making money in stocks.&amp;nbsp; They argue that with the information they provide, it’s possible to achieve just about risk-free annual returns.&amp;nbsp; The only “skill” you need is patience. &lt;p&gt;Have you ever been at those teaser investment seminars, where they tell you about surefire ways to make money in the stock market and show you some fancy charts that they say will tell you exactly when to buy and sell and so on?&amp;nbsp; I have.&amp;nbsp; And then they say that we’d get all the info we need to actually apply this information if we bought into their $5000 or so program. &lt;p&gt;Reading this chapter brought back those memories because all the charts they showed (and many more) are right here in this book, starting with this chapter. The difference:&amp;nbsp; They’re explained in so much detail that you can actually apply that knowledge.&amp;nbsp; That’s when I really started to pay attention.&amp;nbsp; This was good stuff. &lt;p&gt;It teaches you how to buy, how to sell, when to buy and sell, and so much more.&amp;nbsp; The “more” is key, of course.&amp;nbsp; If you did just the idiot proof techniques, you could make a nice chunk of change, but it would probably be hard to become really wealthy that way.&amp;nbsp; That’s why the authors added many ways to turbo-charge the process.&amp;nbsp; And, something very important, especially when the economy goes through challenging times – they’ve provided plenty of ways to make money no matter what the economy does. &lt;p&gt;The next chapter is about Value Investing, Warren Buffett’s secret.&amp;nbsp; But this goes way beyond the kind of information you can buy at a regular bookstore.&amp;nbsp; And one of the key skills you learn in this chapter: How to evaluate a business and the potential of its stock – in great depth!&amp;nbsp; Worksheets are provided. &lt;p&gt;Next, something really cool:&amp;nbsp; “Momentum Investing.”&amp;nbsp; I must admit that I had never even heard of that before.&amp;nbsp; The idea is that you catch stocks that are about they take off and rise in value so quickly that most other people don’t catch on till they have to buy them at a premium.&amp;nbsp; Many detailed charts and instructions help you to figure out which stocks are good candidates, and how to catch them just before they hit it big. &lt;p&gt;Of course, what goes up often comes down, either temporarily or, sometimes, permanently.&amp;nbsp; So this chapter also provides detailed strategies on how you can protect yourself from losing what you’ve just earned. &lt;p&gt;If the book ended here, it would have already surpassed my expectations, as well as most of what you can find elsewhere, and probably most of those $5000 seminars as well. &lt;p&gt;But it doesn’t end here.&amp;nbsp; It goes on to cover stock options, the real secret to making lots of money in the stock market, and quickly.&amp;nbsp; Of course, you can also lose your shirt, but after learning and carefully applying all the strategies in this offer, that chance is much reduced. &lt;p&gt;The beauty of stock options, according to Adam and Conrad, is that you can make money with them in any kind of economic climate, that results can come quickly, and that you can leverage whatever funds you have by controlling a much larger amount of money.&amp;nbsp; That is also the key to the risk, which is why options are something to be approached with caution – and knowledge of how they work. &lt;p&gt;There are a few warnings in this chapter.&amp;nbsp; Don’t try this at home... (unless you know what you’re doing).&amp;nbsp; Yet there are also techniques that are much less risky – and the authors point them out and proceed to explain them so thoroughly, I wanted to stop reading the rest of the book and just have a go at them. &lt;p&gt;In fact, options are really the heart of this book.&amp;nbsp; They are the key to making significant financial gains in a short amount of time, and so they get a lot of extra coverage.&amp;nbsp; How they work, how to understand the information you need to gather to make informed decisions about them, and how to best go about making money with them. &lt;p&gt;There’s even a super safe way to make money with options. Yes, you can still lose money but the amount is very limited – and you stand to gain a great deal if your bet pays off.&amp;nbsp;&amp;nbsp; Plus, of course, with the information you have gathered using the other techniques, your bet will always be informed. &lt;p&gt;Another whole chapter is devoted to the fine art of short selling, a technique that can pay off big during bear markets.&amp;nbsp; You’ve probably read about them in the paper.&amp;nbsp; Well, here’s how to do it, and, of course, with lots and lots of detailed info along with work sheets for help with assessing funds and their performance so your chances at success are maximized. &lt;p&gt;The last chapter guides you towards putting all this information into action.&amp;nbsp; Once again, it comes with work sheets you can use to assess your risk and the probable movement of the stocks.&amp;nbsp; And advice on how to keep track of your gains and losses so you can tweak your system and make it turn mostly profits. &lt;p&gt;All in all – it’s an outstanding guide to how to make money in the stock market – with charts and plenty of work sheets where you can track and evaluate the stocks you’re interested in. &lt;p&gt;It’s a how-to book that really lives up to its name.&amp;nbsp; Just one small disappointment – there were a few places where the authors mention some even more advanced strategies, which are only available to members of their proprietary Wealth Academy program.&amp;nbsp; So there’s still a bit of the old tease. &lt;p&gt;But on the other hand, the book provides a wealth of actionable information, which is plenty to keep its readers busy for a long time, and, if they apply it diligently, it should quickly pay for Adam’s Wealth Academy program, where they learn to accelerate their income even more. &lt;p&gt;And come to think of it, there’s always more to learn, and considering the value that this book provides, the fact that Adam and Conrad offer a way to learn even more is actually great news. &lt;p&gt;&lt;a href=&quot;http://www.adamkhoo.net/go.php?offer=calculus85&amp;amp;pid=15&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;smifront&quot; border=&quot;0&quot; alt=&quot;smifront&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2eyQZyNagygyaDtbR885SYbUY4Ez26Ig1RctAEP38psKKUPyCnsJsc7blT3E3F6_BqhUOSqCfhAte39pFqYR3S4rea35iOVKf_giLRx9_Q6g3KrcHcp8MMyRKDZ98o4UoYWnAn26rrcQ/?imgmax=800&quot; width=&quot;164&quot; height=&quot;244&quot;&gt;&lt;/a&gt;  &lt;p&gt;You can buy the book through clicking &lt;a href=&quot;http://www.adamkhoo.net/go.php?offer=calculus85&amp;amp;pid=15&quot;&gt;here&lt;/a&gt;.   </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/2096829774369627745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/09/book-review-of-secrets-of-millionaire.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/2096829774369627745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/2096829774369627745'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/09/book-review-of-secrets-of-millionaire.html' title='Book Review of the Secrets of Millionaire Investors'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2eyQZyNagygyaDtbR885SYbUY4Ez26Ig1RctAEP38psKKUPyCnsJsc7blT3E3F6_BqhUOSqCfhAte39pFqYR3S4rea35iOVKf_giLRx9_Q6g3KrcHcp8MMyRKDZ98o4UoYWnAn26rrcQ/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-4453168712467552482</id><published>2010-09-13T00:40:00.000-07:00</published><updated>2010-09-13T00:40:09.813-07:00</updated><title type='text'>Verifying my Ping.sg account</title><content type='html'>So you have just added your link to some ping blogger like ping.sg? To claim ownership of your own blog, it is recommended you verify it! To verify, simply go to your account in ping.sg and click on verify your blog link. A verification link will be given to you. You can now simply copy and paste that link onto your website.&lt;br /&gt;
&lt;br /&gt;
Example of the link is:&lt;br /&gt;
&lt;a href=&quot;http://ping.sg/user/calculus1985&quot;&gt;&lt;span id=&quot;blog-verify-222cf52382c17e46311c82fa32d77a8e&quot;&gt;calculus1985&#39;s Profile on Ping.sg&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;http://ping.sg/user/calculus1985#222cf52382c17e46311c82fa32d77a8e&quot;&gt;&amp;nbsp;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/4453168712467552482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/09/verifying-my-pingsg-account.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/4453168712467552482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/4453168712467552482'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/09/verifying-my-pingsg-account.html' title='Verifying my Ping.sg account'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-5967795282801259763</id><published>2010-05-28T19:29:00.001-07:00</published><updated>2010-05-28T19:29:54.569-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PDF"/><title type='text'>Remove Background colour in PDF file</title><content type='html'>&lt;p&gt;Most of the time, you might want to remove the background colour of a PDF file. This allow you to save ink on printing. To do so, Click on Document-&amp;gt;Background-&amp;gt;Remove. &lt;/p&gt;  &lt;p&gt;This step will remove the background color permanently from the PDF file.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/5967795282801259763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/05/remove-background-colour-in-pdf-file.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5967795282801259763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5967795282801259763'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/05/remove-background-colour-in-pdf-file.html' title='Remove Background colour in PDF file'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-1038435425185044210</id><published>2010-02-15T18:46:00.001-08:00</published><updated>2010-02-15T18:46:04.655-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Threading"/><title type='text'>Multi Threading in Win32</title><content type='html'>&lt;p&gt;To do threading in win32, you have the option of CreateThread() Function or _beginthread(). The best option to use is _beginthread() or _beginthreadex() because if you happen to use C Runtime (CRT) Function such as malloc, free etc. They will create a thread and carry out the function. To prevent conflict with these CRT’s thread, it is advisable to use _beginthread().&lt;/p&gt;  &lt;p&gt;The source of article specifying this issue can be found in msdn&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://support.microsoft.com/kb/104641&quot;&gt;http://support.microsoft.com/kb/104641&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/1038435425185044210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/02/multi-threading-in-win32.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/1038435425185044210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/1038435425185044210'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/02/multi-threading-in-win32.html' title='Multi Threading in Win32'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-9178430585801679798</id><published>2010-01-31T06:41:00.001-08:00</published><updated>2010-01-31T06:41:56.078-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GLUT"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><title type='text'>Newly Updated Markerless Feature Tracking</title><content type='html'>&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/DaMfwBjjMbQ&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/DaMfwBjjMbQ&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/9178430585801679798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/01/newly-updated-markerless-feature.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/9178430585801679798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/9178430585801679798'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/01/newly-updated-markerless-feature.html' title='Newly Updated Markerless Feature Tracking'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-479702302613439297</id><published>2010-01-21T04:55:00.001-08:00</published><updated>2010-01-21T04:55:18.243-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><title type='text'>Matrix rank using SVD</title><content type='html'>&lt;p&gt;A = USV^T&lt;/p&gt;  &lt;p&gt;S contain the singular value of A. The total number of non-zero singular value in S is equal to the rank of the matrix.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/479702302613439297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/01/matrix-rank-using-svd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/479702302613439297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/479702302613439297'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/01/matrix-rank-using-svd.html' title='Matrix rank using SVD'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-8397570432336225784</id><published>2010-01-12T08:15:00.001-08:00</published><updated>2010-09-15T10:38:39.173-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><category scheme="http://www.blogger.com/atom/ns#" term="SBA"/><title type='text'>How to compile Sparse Bundle Adjustment C/C++ Package (SBA) on Windows?</title><content type='html'>Go to &lt;a href=&quot;http://www.ics.forth.gr/~lourakis/sba/index.html&quot;&gt;http://www.ics.forth.gr/~lourakis/sba/index.html&lt;/a&gt; down the sba package&lt;br /&gt;
Go to &lt;a href=&quot;http://www.netlib.org/clapack/&quot;&gt;http://www.netlib.org/clapack/&lt;/a&gt; download the Lapack version&lt;br /&gt;
Go to download CMake GUI &lt;a href=&quot;http://www.cmake.org/&quot;&gt;http://www.cmake.org/&lt;/a&gt;&lt;br /&gt;
Due to some bug in Laplack, there exist a link error. Go to &lt;a href=&quot;http://www.fi.muni.cz/~xsvobod2/misc/lapack/&quot;&gt;http://www.fi.muni.cz/~xsvobod2/misc/lapack/&lt;/a&gt; to download the dll and lib file for the laplack if compile under window&lt;br /&gt;
install, CMake then use CMake to generate solution for ur Visual Studio. &lt;br /&gt;
Compile the LAPACK ( and pray…. )&lt;br /&gt;
Copy the .dll and lib file u downloaded from &lt;a href=&quot;http://www.fi.muni.cz/~xsvobod2/misc/lapack/&quot;&gt;http://www.fi.muni.cz/~xsvobod2/misc/lapack/&lt;/a&gt; into the lib directory of LAPACK \LIB\Win32&lt;br /&gt;
Use CMake to generate solution for SBA. Then under the configuration, change the Lapack to lapack_win32_MT, BLAS to blas_win32_MT, f2c to libf2c and the directory to where your LAPACK lib directory is.&lt;br /&gt;
Compile SBA and everything should work fine…&lt;br /&gt;
&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0898714478&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=3642096816&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0521540518&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1441918469&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0123725380&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596516134&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/8397570432336225784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2010/01/how-to-compile-sparse-bundle-adjustment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/8397570432336225784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/8397570432336225784'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2010/01/how-to-compile-sparse-bundle-adjustment.html' title='How to compile Sparse Bundle Adjustment C/C++ Package (SBA) on Windows?'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-1313990397824029908</id><published>2009-12-31T20:10:00.001-08:00</published><updated>2009-12-31T20:10:58.139-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Window Networking"/><title type='text'>Can’t find your PC on the network workgroup on windows ?</title><content type='html'>&lt;p&gt;if you go to the command prompt and type ifconfig /all&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;look carefully under the “Window IP Configuration” section. The subsection “Node Type” should be either broadcast or Hybrid in order for your PC to be seen on the window workgroup network.&lt;/p&gt;  &lt;p&gt;Chances are if you don’t see your PC, it is in Private Node Type (P Node). For more information on the Node Type go to micorsoft knowledge base at this URL &lt;a href=&quot;http://support.microsoft.com/kb/314053&quot;&gt;http://support.microsoft.com/kb/314053&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To Change the Node type go to registry editor HKEY_LOCAL_MACHINE\computer\CurrentControlSet\Services&lt;/p&gt;  &lt;p&gt;Look for Key: Netbt\Parameters, NodeType&lt;/p&gt;  &lt;p&gt;Change the value to 1 or 8.&lt;/p&gt;  &lt;p&gt;Valid Range: 1,2,4,8 (B-node, P-node, M-node, H-node)&lt;/p&gt;  &lt;p&gt;The recommended node type is Hybrid instead of broadcast. Broadcast might cause some conflict in the packet.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/1313990397824029908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/cant-find-your-pc-on-network-workgroup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/1313990397824029908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/1313990397824029908'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/cant-find-your-pc-on-network-workgroup.html' title='Can’t find your PC on the network workgroup on windows ?'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-4917080307793087155</id><published>2009-12-28T22:46:00.001-08:00</published><updated>2009-12-28T22:47:10.643-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Chinese Application"/><category scheme="http://www.blogger.com/atom/ns#" term="Window Language"/><title type='text'>Running Non-english Software Application in WinXP, win Vista or Win 7</title><content type='html'>&lt;p&gt;You can download &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=8C4E8E0D-45D1-4D9B-B7C0-8430C1AC89AB&amp;amp;displaylang=en&quot;&gt;Microsoft app locale utility&lt;/a&gt; from Microsoft webpage. This application allow you to run the application in its language. Rather than having to download a language pack or change the language interface of your Windows. This provide a temporary solution for running a non-English Application e.g. Running Chinese Application in Windows 7 English version&lt;/p&gt;  &lt;p&gt;Note: For window 7 user you have to “Run in Window XP” Compatibility mode in order to install this software. If you just simply install it without change the mode, you are unlikely to install successfully.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/4917080307793087155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/running-non-english-software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/4917080307793087155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/4917080307793087155'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/running-non-english-software.html' title='Running Non-english Software Application in WinXP, win Vista or Win 7'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-7603805146019341587</id><published>2009-12-22T10:41:00.001-08:00</published><updated>2009-12-22T10:41:45.692-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Excel"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>XML format for Excel Table</title><content type='html'>&lt;p&gt;The XML file must start with this format&lt;/p&gt;  &lt;pre class=&quot;brush: xml&quot;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For Each table, it has to be enclose by&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush: xml&quot;&gt;&amp;lt;table_name&amp;gt; #TABLE DATA HERE # &amp;lt;/table_name&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Each entry of the table is indicated by&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush: xml&quot;&gt;&amp;lt;row_name&amp;gt; &amp;lt;col_name&amp;gt;##COL DATA###&amp;lt;/col_name&amp;gt; ..... &amp;lt;/row_name&amp;gt;&lt;/pre&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/7603805146019341587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/xml-format-for-excel-table.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/7603805146019341587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/7603805146019341587'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/xml-format-for-excel-table.html' title='XML format for Excel Table'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-1296643915806551381</id><published>2009-12-19T03:29:00.001-08:00</published><updated>2009-12-19T03:29:25.959-08:00</updated><title type='text'>AuthenTec Driver for Win7</title><content type='html'>&lt;p&gt;I am using Fujitsu T4220 Tablet PC. It come with the AuthenTec AES2501a fingerprint sensor. To make the biometric reader work under win7, you have to follow the following steps&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Uninstall whatever finger print software and finger print driver you had installed previously. Go to Device Manager to ensure it is remove. &lt;strong&gt;After that restart your computer&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Download the authenTec software from its website, install it and restart computer again&lt;/li&gt;    &lt;li&gt;After that you can use the true suite to enroll your finger print&lt;/li&gt; &lt;/ol&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/1296643915806551381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/authentec-driver-for-win7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/1296643915806551381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/1296643915806551381'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/authentec-driver-for-win7.html' title='AuthenTec Driver for Win7'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-5552973240507606665</id><published>2009-12-16T22:36:00.001-08:00</published><updated>2009-12-16T22:36:53.576-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><title type='text'>Natural Feature Tracking using OpenCV and OpenGL</title><content type='html'>&lt;p&gt;This is my project on Natural feature tracking&lt;/p&gt;  &lt;p&gt;I inserted an AR object into the scene and track it&lt;/p&gt; &lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/Bvy-x6T-HiM&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/Bvy-x6T-HiM&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/5552973240507606665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/natural-feature-tracking-using-opencv.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5552973240507606665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5552973240507606665'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/natural-feature-tracking-using-opencv.html' title='Natural Feature Tracking using OpenCV and OpenGL'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-5747847564004341515</id><published>2009-12-15T23:29:00.001-08:00</published><updated>2009-12-15T23:29:01.169-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GLUT"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><title type='text'>setup GLUT for Visual Studio 2008</title><content type='html'>&lt;p&gt;installing glut for Visual studio 2008 on win XP/Vista/ win7&lt;/p&gt;  &lt;p&gt;Download GLUT for win32 at &lt;a href=&quot;http://www.xmission.com/~nate/glut.html&quot;&gt;http://www.xmission.com/~nate/glut.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Because there isn’t any Platform SDK folder in Visual Studio 2008&lt;/p&gt;  &lt;p&gt;It is now in a completely new folder call WindowSDK the location is at&lt;/p&gt;  &lt;p&gt;C:\Program Files\Microsoft SDKs\Windows\v6.0A&lt;/p&gt;  &lt;p&gt;Steps&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Copy glut.h to C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl\&lt;/li&gt;    &lt;li&gt;Copy glut32.lib to C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib&lt;/li&gt;    &lt;li&gt;copy glut32.dll to C:\Windows\System32&lt;/li&gt; &lt;/ol&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/5747847564004341515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/setup-glut-for-visual-studio-2008.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5747847564004341515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5747847564004341515'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/setup-glut-for-visual-studio-2008.html' title='setup GLUT for Visual Studio 2008'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-9011083489891841024</id><published>2009-12-15T20:45:00.001-08:00</published><updated>2009-12-15T20:45:37.655-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blogging Tool"/><category scheme="http://www.blogger.com/atom/ns#" term="Window Live Writer"/><title type='text'>Inserting code to your Webpage or blogger</title><content type='html'>&lt;p&gt;Well, if you are doing this in live space blog then it is ok. However, if you are trying to insert code snippet to your &lt;a href=&quot;http://www.blogger.com&quot;&gt;Blogger&lt;/a&gt; (blogspt) then the format given by the plugin in Window Live Writer (WLW) will be incompatible. There will be multiple line spacing in the code snippet appear in the blogger (blogspot) layout.&lt;/p&gt;  &lt;p&gt;To solve this, problem one can make use of the &lt;a href=&quot;http://alexgorbatchev.com/wiki/SyntaxHighlighter:Integration&quot;&gt;Syntax Highlighter&lt;/a&gt; integration. What it does it, it link the code you enter to its server and through javascript, it format the code for you.&lt;/p&gt;  &lt;p&gt;To do that you first have to edit your blog layout template HTML.    &lt;br /&gt;Look for &amp;lt;/head&amp;gt; in your HTML Layout Template and insert the following line of code&lt;/p&gt;  &lt;pre class=&quot;brush: xml&quot;&gt;&amp;lt;link href=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css&#39; rel=&#39;stylesheet&#39; type=&#39;text/css&#39;/&amp;gt; &lt;br /&gt;&amp;lt;link href=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css&#39; rel=&#39;stylesheet&#39; type=&#39;text/css&#39;/&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCpp.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCSharp.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCss.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushJava.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushJScript.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushPhp.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushPython.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushRuby.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushSql.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushVb.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushXml.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushPerl.js&#39; type=&#39;text/javascript&#39;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;script language=&#39;javascript&#39;&amp;gt; &lt;br /&gt;SyntaxHighlighter.config.bloggerMode = true;&lt;br /&gt;SyntaxHighlighter.config.clipboardSwf = &#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/clipboard.swf&#39;;&lt;br /&gt;SyntaxHighlighter.all();&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;These line simply tell your webpage to look for the javascript in the Syntax Highlighter Website &lt;a href=&quot;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/&quot;&gt;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;However, this isn’t complete yet, to let your webpage know that the line is a source code snippet, you have to enclose it with&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush: xml&quot;&gt;&amp;lt;pre class=&amp;quot;brush: cpp&amp;quot;&amp;gt;&lt;br /&gt;#### YOUR SOURCE CODE INSERT HERE ####&lt;br /&gt;&amp;lt;/pre&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;if it is not c++ source code, then you just change it to the source code e.g. “brush: xml” for HTML or XML etc&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/9011083489891841024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/inserting-code-to-your-webpage-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/9011083489891841024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/9011083489891841024'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/inserting-code-to-your-webpage-or.html' title='Inserting code to your Webpage or blogger'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-6041267400616941024</id><published>2009-12-15T06:05:00.001-08:00</published><updated>2009-12-15T06:05:57.354-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blogging Tool"/><title type='text'>Using Windows Live Writer for Blogger</title><content type='html'>&lt;p&gt;If you try to upload picture from Windows Live Writer (WLW) to blogger, most likely you encounter a&lt;/p&gt;  &lt;p&gt;Failure:403   &lt;br /&gt;Failure to connect to remote server.&lt;/p&gt;  &lt;p&gt;To solve this, go to your Google Picasa Account &lt;a title=&quot;http://picasaweb.google.com/&quot; href=&quot;http://picasaweb.google.com/&quot;&gt;http://picasaweb.google.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Create a empty new album, named it : “Windows Live Writer”&lt;/p&gt;  &lt;p&gt;After that your WLW will be able to upload picture to the blogger.&lt;/p&gt;  &lt;p&gt;This is because WLW don’t know where to upload to in Picasa, by specifying that folder, it has a location to upload to.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/6041267400616941024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/using-windows-live-writer-for-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/6041267400616941024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/6041267400616941024'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/using-windows-live-writer-for-blogger.html' title='Using Windows Live Writer for Blogger'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-1445830545856871301</id><published>2009-12-15T05:55:00.001-08:00</published><updated>2010-09-13T19:04:06.351-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blogging Tool"/><category scheme="http://www.blogger.com/atom/ns#" term="LaTeX"/><title type='text'>How to write Latex Math Equation on your blog?</title><content type='html'>&lt;p&gt;Ever wanted to have ease of writing math equation on your blog or webpage???&lt;/p&gt; &lt;p&gt;The solution is to use &lt;a href=&quot;http://www.codecogs.com/components/equationeditor/equationeditor.php&quot;&gt;http://www.codecogs.com/components/equationeditor/equationeditor.php&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The website allow you to type your equation in LaTeX format and using its TeX Server, it will convert the equation to images and you will be able to show your math equation there.&lt;/p&gt; &lt;p&gt;Enough of saying, let me show you an example, suppose i want print a integration formula i just type:&lt;/p&gt;&lt;pre class=&quot;brush: xml&quot;&gt;&amp;lt;img style=&quot;display: block; float: none; margin-left: auto; margin-right: auto&quot; title=&quot;&lt;br /&gt;	\int_{a}^{b}(x+2)dx&lt;br /&gt;&quot; src=&quot;http://latex.codecogs.com/gif.latex?\int_{a}^{b}(x+2)dx&quot; /&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Refer to the 3rd of the code above, the LaTex Math Equation is inserted after the question mark in src=”&lt;a href=&quot;http://latex.codecogs.com/gif.latex?[put&quot;&gt;http://latex.codecogs.com/gif.latex?[put&lt;/a&gt; your TeX Code here]”&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Try it, it should look something like this&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img style=&quot;display: block; float: none; margin-left: auto; margin-right: auto&quot; title=&quot;\int_{a}^{b}(x+2)dx&quot; src=&quot;http://latex.codecogs.com/gif.latex?\int_{a}^{b}(x+2)dx&quot;&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/1445830545856871301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/talking-about-how-to-write-latex-math.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/1445830545856871301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/1445830545856871301'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/talking-about-how-to-write-latex-math.html' title='How to write Latex Math Equation on your blog?'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-3237916978055891500</id><published>2009-12-15T04:24:00.001-08:00</published><updated>2010-09-13T07:41:11.541-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><title type='text'>OpenGL Texture Mapping</title><content type='html'>&lt;p&gt;If you are doing AR, and for texture mapping&lt;/p&gt; &lt;p&gt;use glTexImage2D and glTexSubImage2D&lt;/p&gt; &lt;p&gt;For the glTexImage2D to work, the SIZE OF IMAGE MUST be POWER of 2, e,g, 2, 4 , 8, 16&lt;/p&gt; &lt;p&gt;any size like 640 x 480 is unaccepatable since it is not power of 2.&lt;/p&gt;&lt;pre class=&quot;brush: cpp&quot;&gt;void initTexture()&lt;br /&gt;{&lt;br /&gt;//Alloc Texture&lt;br /&gt;	IplImage* frameImg = cvQueryFrame(capture);&lt;br /&gt;	IplImage *textImg = cvCreateImage(cvSize(512,256), frameImg-&amp;gt;depth, frameImg-&amp;gt;nChannels);&lt;br /&gt;	cvResize(frameImg, textImg);&lt;br /&gt;	cvFlip(textImg, NULL, 0);&lt;br /&gt;&lt;br /&gt;	glGenTextures(1, &amp;amp;textureID);&lt;br /&gt;	glBindTexture(GL_TEXTURE_2D, textureID);&lt;br /&gt;	glPixelStorei(GL_UNPACK_ALIGNMENT, 1);&lt;br /&gt;	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);&lt;br /&gt;	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);&lt;br /&gt;	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);	&lt;br /&gt;	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);&lt;br /&gt;&lt;br /&gt;	glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);&lt;br /&gt;	glTexImage2D(GL_TEXTURE_2D, 0, 3,textImg-&amp;gt;width, textImg-&amp;gt;height,0,&lt;br /&gt;		GL_BGR_EXT,GL_UNSIGNED_BYTE, textImg-&amp;gt;imageData);&lt;br /&gt;&lt;br /&gt;	cvReleaseImage(&amp;amp;textImg);&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;After the initialization of the textureMap, one can proceed to draw it using glTexSubImage2D&lt;/p&gt;&lt;pre class=&quot;brush: cpp&quot;&gt;void drawCameraImage(IplImage*  tempImage)&lt;br /&gt;{&lt;br /&gt;	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;	//////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;	// Do texture mapping for drawing image in OpenGL space&lt;br /&gt;&lt;br /&gt;	glViewport(0,0, GL_WINDOW_WIDTH, GL_WINDOW_HEIGHT) ;&lt;br /&gt;&lt;br /&gt;	glMatrixMode(GL_PROJECTION) ;&lt;br /&gt;	glLoadIdentity() ;&lt;br /&gt;	glOrtho(0, GL_WINDOW_WIDTH, 0, GL_WINDOW_HEIGHT, 0, 2000) ;&lt;br /&gt;&lt;br /&gt;	glMatrixMode(GL_MODELVIEW) ;&lt;br /&gt;	glLoadIdentity() ;&lt;br /&gt;&lt;br /&gt;	glEnable(GL_TEXTURE_2D) ;&lt;br /&gt;	glBindTexture(GL_TEXTURE_2D, textureID) ;&lt;br /&gt;	LoadCameraImage(tempImage);&lt;br /&gt;	glBegin(GL_QUADS) ;&lt;br /&gt;		glTexCoord2f(0,0) ;&lt;br /&gt;		glVertex3f(0,0, -1999) ;&lt;br /&gt;&lt;br /&gt;		glTexCoord2f(1,0) ;&lt;br /&gt;		glVertex3f(GL_WINDOW_WIDTH,0, -1999) ;&lt;br /&gt;&lt;br /&gt;		glTexCoord2f(1,1) ;&lt;br /&gt;		glVertex3f(GL_WINDOW_WIDTH,GL_WINDOW_HEIGHT, -1999) ;&lt;br /&gt;&lt;br /&gt;		glTexCoord2f(0,1) ;&lt;br /&gt;		glVertex3f(0,GL_WINDOW_HEIGHT, -1999) ;&lt;br /&gt;	glEnd() ;&lt;br /&gt;&lt;br /&gt;	glDisable(GL_TEXTURE_2D) ;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void LoadCameraImage(IplImage*  tempImage) &lt;br /&gt;{&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;	cvFlip(tempImage, NULL, 0);&lt;br /&gt;	IplImage *scaledImage = cvCreateImage(cvSize(512, 256),  tempImage-&amp;gt;depth, tempImage-&amp;gt;nChannels);&lt;br /&gt;	cvResize(tempImage, scaledImage, CV_INTER_AREA);&lt;br /&gt;	&lt;br /&gt;	glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);&lt;br /&gt;&lt;br /&gt;	glTexSubImage2D(GL_TEXTURE_2D, 0, 0,0, scaledImage-&amp;gt;width, scaledImage-&amp;gt;height, GL_BGR_EXT,&lt;br /&gt;		GL_UNSIGNED_BYTE, scaledImage-&amp;gt;imageData);&lt;br /&gt;	&lt;br /&gt;	cvReleaseImage(&amp;amp;scaledImage) ;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;glTexSubImage2D is only effective after glTexImage2D is called, so remember to use glTexImage2D&lt;/p&gt;&lt;br /&gt;&lt;p&gt;SubImage function is faster than calling glTexImage2D again and again.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To learn more about openGL programming, you might want to read the following list of books: &lt;br&gt;&lt;iframe style=&quot;width: 120px; height: 240px&quot; marginheight=&quot;0&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=FFFFFF&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;asins=0321712617&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;iframe style=&quot;width: 120px; height: 240px&quot; marginheight=&quot;0&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=FFFFFF&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;asins=0321552628&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;iframe style=&quot;width: 120px; height: 240px&quot; marginheight=&quot;0&quot; src=&quot;http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=FFFFFF&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=lollym-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;asins=159863528X&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/3237916978055891500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/opengl-texture-mapping.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/3237916978055891500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/3237916978055891500'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/opengl-texture-mapping.html' title='OpenGL Texture Mapping'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-5814527795133001526</id><published>2009-12-15T04:04:00.001-08:00</published><updated>2009-12-15T04:16:34.525-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><title type='text'>OpenGL and OpenCV Transformation</title><content type='html'>&lt;p&gt;To Display AR object correctly on the OpenGL&lt;/p&gt;  &lt;p&gt;first you must understand that OpenGL Frame is different from OpenCV&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyZOS6AdmH4QSvW6rgK08j-ZUSKKzWqAx2oWoLRVAYhv54pSo5plUOD6a5RoGPiMMNC2qgEyuNi2smkqkpQ1bsCSyNKDrx0Zo7FW320Qp4A9mTRJK59biniA7PSzyc9KCDifM6f-qZolw/s1600-h/opencv_opengl_frame%5B6%5D.jpg&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;opencv_opengl_frame&quot; border=&quot;0&quot; alt=&quot;opencv_opengl_frame&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo4DbkC8ulXidGcviTckSRs5L0n40q_6CMSFN8ca4rUElkq8lMzGoULsm4XIFHbQxTgygnwClhiv6BEYchHUV5UW8YBvVimAyGUy_Ql6Dvm-5WcYdFgB4RbCqQM9GnJCD0_2TceX4-Bc4/?imgmax=800&quot; width=&quot;433&quot; height=&quot;280&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;That matrix operation simply just flip the axis. Note that the Z axis and Y axis difference.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/5814527795133001526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/opengl-and-opencv-transformation_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5814527795133001526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5814527795133001526'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/opengl-and-opencv-transformation_15.html' title='OpenGL and OpenCV Transformation'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo4DbkC8ulXidGcviTckSRs5L0n40q_6CMSFN8ca4rUElkq8lMzGoULsm4XIFHbQxTgygnwClhiv6BEYchHUV5UW8YBvVimAyGUy_Ql6Dvm-5WcYdFgB4RbCqQM9GnJCD0_2TceX4-Bc4/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-5088534063794080508</id><published>2009-12-15T03:47:00.001-08:00</published><updated>2009-12-15T03:47:56.039-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><title type='text'>OpenCV 2.0a and Visual Studio 2008 Conflict</title><content type='html'>&lt;p&gt;If you had recently upgraded to Visual Studio C++ 2008 SP1 or whatever upgrade, your OpenCV will fail to run. It will display this error when you try to run the apps&lt;/p&gt;  &lt;p&gt;“application failed to initialize because of improper configuration”&lt;/p&gt;  &lt;p&gt;To solve this, either go to your Project Properties Page and Under C/C++ Pre-processor Definitions, you enter this command _BIND_TO_CURRENT_VCLIBS_VERSION=1&lt;/p&gt;  &lt;p&gt;if ur project is using Precompiled Header, which mean you will see StdAfx,h,&amp;#160; you should include this command in your StdAfx.h instead &lt;/p&gt;  &lt;pre&gt;#define _BIND_TO_CURRENT_VCLIBS_VERSION 1&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This solution is given in msdn &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc664727.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/cc664727.aspx&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;due to the difference in the manifest version.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If all still fail after doing all this, then do a clean uninstall of vc2008, then install again. Then Rebuild your OpenCV and your Project, your project will run fine.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/5088534063794080508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/opencv-20a-and-visual-studio-2008.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5088534063794080508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/5088534063794080508'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/opencv-20a-and-visual-studio-2008.html' title='OpenCV 2.0a and Visual Studio 2008 Conflict'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5256237358703633433.post-3137443281928542061</id><published>2009-12-15T03:46:00.001-08:00</published><updated>2009-12-15T03:46:48.475-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OpenGL and OpenCV"/><title type='text'>OpenGL and OpenCV world frame</title><content type='html'>&lt;p&gt;There are 2 Frame&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;World Coordinate Frame &lt;/li&gt;    &lt;li&gt;Camera Frame &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The OpenCV coordinate is w.r.t the World Coordinate Frame. In order to display correctly on the OpenGL. The coordinate has to be transformed to be w.r.t Camera Frame. &lt;/p&gt;  &lt;p&gt;The step is:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Find the Extrinsic Matrix in OpenCV &lt;/li&gt;    &lt;li&gt;Transform the world coordinate to Camera Coordinate by the following formula      &lt;br /&gt;Xcam = P*Xworld &lt;/li&gt;    &lt;li&gt;Translate the OpenGL using glTranslate by Xcam , note that y and z axis is multiply by –1 due to the difference in OpenGL and OpenCV frame &lt;/li&gt;    &lt;li&gt;Rotate the Camera by the Camera Orientation using the Rotation Matrix. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The next post will be on more detail on this mathematical derivation&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://lollymotions.blogspot.com/feeds/3137443281928542061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lollymotions.blogspot.com/2009/12/opengl-and-opencv-world-frame.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/3137443281928542061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5256237358703633433/posts/default/3137443281928542061'/><link rel='alternate' type='text/html' href='http://lollymotions.blogspot.com/2009/12/opengl-and-opencv-world-frame.html' title='OpenGL and OpenCV world frame'/><author><name>calculus</name><uri>http://www.blogger.com/profile/00181634799216503876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>