﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-_飞寒の魂器.h-随笔分类-OpenCV</title><link>http://www.cppblog.com/mtysblog/category/16037.html</link><description>梦之所寄，行之所为</description><language>zh-cn</language><lastBuildDate>Sat, 19 Feb 2011 14:08:49 GMT</lastBuildDate><pubDate>Sat, 19 Feb 2011 14:08:49 GMT</pubDate><ttl>60</ttl><item><title>径向梯度变换</title><link>http://www.cppblog.com/mtysblog/archive/2011/02/19/140317.html</link><dc:creator>_飞寒</dc:creator><author>_飞寒</author><pubDate>Sat, 19 Feb 2011 13:53:00 GMT</pubDate><guid>http://www.cppblog.com/mtysblog/archive/2011/02/19/140317.html</guid><wfw:comment>http://www.cppblog.com/mtysblog/comments/140317.html</wfw:comment><comments>http://www.cppblog.com/mtysblog/archive/2011/02/19/140317.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mtysblog/comments/commentRss/140317.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mtysblog/services/trackbacks/140317.html</trackback:ping><description><![CDATA[<br>&nbsp;&nbsp;&nbsp;第一个CV程序，对图片做径向梯度变换。 纪念下~<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;HelloOpencv.cpp&nbsp;:&nbsp;定义控制台应用程序的入口点。</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">stdafx.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">cxcore.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">highgui.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">math.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;cv;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;_tmain(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;argc,&nbsp;_TCHAR</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;argv[])<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img id=Codehighlighter1_193_884_Open_Image onclick="this.style.display='none'; Codehighlighter1_193_884_Open_Text.style.display='none'; Codehighlighter1_193_884_Closed_Image.style.display='inline'; Codehighlighter1_193_884_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_193_884_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_193_884_Closed_Text.style.display='none'; Codehighlighter1_193_884_Open_Image.style.display='inline'; Codehighlighter1_193_884_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_193_884_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_193_884_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CvPoint&nbsp;center;<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;scale&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;IplImage</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;image&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(argc&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;)</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;cvLoadImage(argv[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">])&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">&nbsp;image&nbsp;)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;center&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cvPoint(&nbsp;image</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;,&nbsp;image</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;);<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">image</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;)<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img id=Codehighlighter1_451_762_Open_Image onclick="this.style.display='none'; Codehighlighter1_451_762_Open_Text.style.display='none'; Codehighlighter1_451_762_Closed_Image.style.display='inline'; Codehighlighter1_451_762_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_451_762_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_451_762_Closed_Text.style.display='none'; Codehighlighter1_451_762_Open_Image.style.display='inline'; Codehighlighter1_451_762_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;j&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">image</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width;&nbsp;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;)</span><span id=Codehighlighter1_451_762_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_451_762_Open_Text><span style="COLOR: #000000">{<br><br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;dx&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;)(&nbsp;j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">center.x&nbsp;)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">center.x;<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;dy&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;)(&nbsp;i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">center.y&nbsp;)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">center.y;<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;wight&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;exp(&nbsp;(dx</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">dx</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">dy</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">dy)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">scale&nbsp;);<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uchar</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;ptr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">CV_IMAGE_ELEM(&nbsp;image,&nbsp;uchar,&nbsp;i,&nbsp;j</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">&nbsp;);<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ptr[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cvRound(ptr[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">wight);<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ptr[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cvRound(ptr[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">wight);<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ptr[</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cvRound(ptr[</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">wight);<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cvSaveImage(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">new.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,image);<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cvNamedWindow(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">_飞寒の&nbsp;TEST</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cvShowImage(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">_飞寒の&nbsp;TEST</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,image);<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cvWaitKey();<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>&nbsp;&nbsp;&nbsp;效果如下：<br><br><img style="WIDTH: 496px; HEIGHT: 357px" height=357 alt="" src="http://www.cppblog.com/images/cppblog_com/mtysblog/5.jpg" width=496 border=0><br><br><br><br>
<img src ="http://www.cppblog.com/mtysblog/aggbug/140317.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mtysblog/" target="_blank">_飞寒</a> 2011-02-19 21:53 <a href="http://www.cppblog.com/mtysblog/archive/2011/02/19/140317.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VS2008初装 OpenCV2.2的一些问题</title><link>http://www.cppblog.com/mtysblog/archive/2011/02/19/140311.html</link><dc:creator>_飞寒</dc:creator><author>_飞寒</author><pubDate>Sat, 19 Feb 2011 07:30:00 GMT</pubDate><guid>http://www.cppblog.com/mtysblog/archive/2011/02/19/140311.html</guid><wfw:comment>http://www.cppblog.com/mtysblog/comments/140311.html</wfw:comment><comments>http://www.cppblog.com/mtysblog/archive/2011/02/19/140311.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mtysblog/comments/commentRss/140311.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mtysblog/services/trackbacks/140311.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在酝酿了半个月之后，鄙人终于磨磨蹭蹭的下载安装了CV2.2-win32版本。但由于下载到的是针对VS2010优化的，无法遇见安装在2008中会发生什么问题。终于在煎熬了48小时+各种goole+自力更生后成功compiled~ 以下为安装流程，与CV2.1、2.0版本的安装原理大同小异，但由于2.2的文件组织结构发生变化，可能会导致像我这样的小白照抄步骤的话无法成功安装：<br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. 下载安装OpenCV2.2到任意西文路径。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. 下载安装 CMake 2.8&nbsp;，安装后用于导出CV的c++项目文件。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.cmake.org/cmake/resources/software.html"><u><font color=#0000ff>http://www.cmake.org/cmake/resources/software.html</font></u></a><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1) 如图所示,选择编译资源，和编译后结果的保存路径(如 F:\OpenCV2.2\vc2008 )。点击<span class=Apple-style-span style="WORD-SPACING: 0px; FONT: medium Simsun; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class=Apple-style-span style="FONT-SIZE: 13px; LINE-HEIGHT: 19px; FONT-FAMILY: Tahoma, 'Lucida Grande', Verdana, Helvetica, Arial, sans-serif">configure，配置为 VS 9 2008，配置无误后点击Generate生成各种工程文件。<br></span></span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img style="WIDTH: 433px; HEIGHT: 520px" height=520 alt="" src="http://www.cppblog.com/images/cppblog_com/mtysblog/1.jpg" width=433 border=0>&nbsp;&nbsp;&nbsp;&nbsp; <img height=100 alt="" src="http://www.cppblog.com/images/cppblog_com/mtysblog/2.jpg" width=286 border=0><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)&nbsp; 在编译结果的文件夹内<span class=Apple-style-span style="WORD-SPACING: 0px; FONT: medium Simsun; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class=Apple-style-span style="FONT-SIZE: 13px; LINE-HEIGHT: 19px; FONT-FAMILY: Tahoma, 'Lucida Grande', Verdana, Helvetica, Arial, sans-serif">生成OpenCV.sln的VC Solution File，请用VS 2008 打开OpenCV.sln, 然后全部编译，无误后批生成所有EXAMPLE。<br></span></span><br><img style="WIDTH: 448px; HEIGHT: 329px" height=329 alt="" src="http://www.cppblog.com/images/cppblog_com/mtysblog/3.jpg" width=448 border=0><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至此，OpenCV的*d.dll文件（for debug）和*.dll文件（for release）将出现在 \vs2008\bin 目录中；OpenCV的*d.lib文件（for debug）和*.lib文件（for release）将出现在\vs2008\lib 目录；头文件*.h出现在 vs2008\include\opencv2中。可以被 VS 2008 调用的OpenCV动态库<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; (5) 配置系统环境变量&nbsp;将...\vs2008\bin加入Windows系统环境变量Path中，可能要重启。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; (6) 为VS2008配置 OpenCV环境！如图，配置CV程序可能需要的库文件和头文件。到了这一步问题终于出现了，按照CV中文站上的安装教程安装的话，VS死都提示 xxx.h 文件无法找到。经过多番摸索，最后是确定文件结构造成的问题。<br><br><img style="WIDTH: 513px; HEIGHT: 296px" height=296 alt="" src="http://www.cppblog.com/images/cppblog_com/mtysblog/4.jpg" width=513 border=0><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 首先，完全生成OpenCV.sln内的代码后，\vs2008\include 和 \vs2008\lib 内会出现相应的文件，.lib文件的路径&nbsp; xxx\vs2008\lib 只需按照教程直接添加即可。<br>但是include文件则不同，在2.1及其以下版本中的文件组织方式不同，2.2中由于一些重大更新，在opencv文件夹同级目录下拥有opencv2文件夹(未使用VS08批生成之前)，所有相应的头文件其实都已经迁入其中，保留opencv文件夹的目的是为了向下兼容，打开opencv文件夹里的任意头文件，我们发现代码处大致有:<br><br>#ifndef __OPENCV_OLD_CXCORE_H__<br>#define __OPENCV_OLD_CXCORE_H__</p>
<p>//#if defined(__GNUC__)<br>//#warning "This is a deprecated opencv header provided for compatibility. Please include a header from a corresponding opencv module"<br>//#endif</p>
<p>#include "opencv2/core/core_c.h"<br>#include "opencv2/core/core.hpp"</p>
<p>#endif<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实际上编译被跳转了，但是回到 \vs2008\inlcude目录下，惊讶的发现生成的结果事实上未包含 opencv文件夹！此时如果仅仅把 ...\vs2008\include\opencv2配置，则vs2008仍然无法导入头文件，此时需要手动将 \include\opencv 目录复制到 \vs2008下，然后追加配置 ...\vs2008\include\opencv。最后F5编译，bingo~<br><br><br></p>
<img src ="http://www.cppblog.com/mtysblog/aggbug/140311.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mtysblog/" target="_blank">_飞寒</a> 2011-02-19 15:30 <a href="http://www.cppblog.com/mtysblog/archive/2011/02/19/140311.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>