﻿<?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++博客-canaan-随笔分类-OPenCV学习</title><link>http://www.cppblog.com/chinapeter2008/category/21232.html</link><description>c++爱好者</description><language>zh-cn</language><lastBuildDate>Wed, 13 Jul 2016 00:38:52 GMT</lastBuildDate><pubDate>Wed, 13 Jul 2016 00:38:52 GMT</pubDate><ttl>60</ttl><item><title>新手入门学习OpenCV2.4.13 载入修改保存图像 (三)</title><link>http://www.cppblog.com/chinapeter2008/archive/2016/07/12/213919.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Mon, 11 Jul 2016 23:40:00 GMT</pubDate><guid>http://www.cppblog.com/chinapeter2008/archive/2016/07/12/213919.html</guid><wfw:comment>http://www.cppblog.com/chinapeter2008/comments/213919.html</wfw:comment><comments>http://www.cppblog.com/chinapeter2008/archive/2016/07/12/213919.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chinapeter2008/comments/commentRss/213919.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chinapeter2008/services/trackbacks/213919.html</trackback:ping><description><![CDATA[<strong> 提示：</strong>学习这课之前，我们假设你已经知道如何用imread载入图像并用imshow显示在窗口中。&nbsp;如果还不知道那么先看<div><a href="http://www.cppblog.com/chinapeter2008/archive/2016/07/11/213910.html"><a id="viewpost1_TitleUrl" href="http://www.cppblog.com/chinapeter2008/archive/2016/07/11/213910.html">新手入门学习OpenCV2.4.13 载入并显示图像 (二)</a></div>目标：<br />在这个教程中你将会学到：<br />1、使用<span style="color: #0000ff;">imread</span>载入图像<br />2、使用<span style="color: #0000ff;">cvtColor</span>将图像冲<span style="color: #0000ff;">BGR</span>格式转换为<span style="color: #0000ff;">Grayscale</span>格式<br />3、使用<span style="color: #0000ff;">imwrite</span>将转换好的图像保存到硬盘上 <br /><br /><strong>源码：</strong><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">cv.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">highgui.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "></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;5</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;argc,&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">**</span><span style="color: #000000; ">&nbsp;argv)<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">*</span><span style="color: #000000; ">&nbsp;imageName&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;argv[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;Mat&nbsp;image;<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;image&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;imread(imageName,&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</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;argc&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">image.data)<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">No&nbsp;image&nbsp;data\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;Mat&nbsp;gray_image;<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;cvtColor(image,&nbsp;gray_image,&nbsp;CV_BGR2GRAY);<br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;imwrite(</span><span style="color: #000000; ">"D:/</span><span style="color: #000000; ">images/Gray_Image.jpg</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;gray_image);<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;namedWindow(imageName,&nbsp;CV_WINDOW_AUTOSIZE);<br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;namedWindow(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Gray&nbsp;image</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;CV_WINDOW_AUTOSIZE);<br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;imshow(imageName,&nbsp;image);<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;imshow(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Gray&nbsp;image</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;gray_image);<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;waitKey(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&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; ">31</span>&nbsp;<span style="color: #000000; ">}</span></div><br /><strong>说明：</strong><br />1、通过<span style="color: #0000ff;">imread</span>载入一个<span style="color: #0000ff;">BGR</span>图像。<br />2、将图像冲<span style="color: #0000ff;">BGR</span>转换成<span style="color: #0000ff;">Grayscale</span>格式：<br /><span style="color: #339966;">cvtColor( image, gray_image, CV_BGR2GRAY);</span><br />cvtColor参数：<br />a、源图像(<span style="color: #0000ff;">image)</span><br />b、目标图像(<span style="color: #0000ff;">gray_image</span>)，用于保存转换好的图像。<br />c、指定转换类型。<br /><br />3、保存图像<br /><span style="color: #339966;">imwrite("../../images/Gray_Image.jpg", gray_image);</span><br /><br />4、最后通过窗口显示图像，查看转换效果。<br /><div><span style="color: #339966;">namedWindow(imageName, CV_WINDOW_AUTOSIZE);</span><br /><span style="color: #339966;">&nbsp;namedWindow("Gray image", CV_WINDOW_AUTOSIZE);</span></div><div></div><div><span style="color: #339966;">&nbsp;imshow(imageName, image);</span><br /><span style="color: #339966;">&nbsp;imshow("Gray image", gray_image);</span><br /><br /><strong>结果：</strong></div><img width="540" height="301" alt="" src="http://www.cppblog.com/images/cppblog_com/chinapeter2008/result.jpg" border="0" /><img src ="http://www.cppblog.com/chinapeter2008/aggbug/213919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chinapeter2008/" target="_blank">canaan</a> 2016-07-12 07:40 <a href="http://www.cppblog.com/chinapeter2008/archive/2016/07/12/213919.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>新手入门学习OpenCV2.4.13 载入并显示图像 (二)</title><link>http://www.cppblog.com/chinapeter2008/archive/2016/07/11/213910.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Sun, 10 Jul 2016 23:58:00 GMT</pubDate><guid>http://www.cppblog.com/chinapeter2008/archive/2016/07/11/213910.html</guid><wfw:comment>http://www.cppblog.com/chinapeter2008/comments/213910.html</wfw:comment><comments>http://www.cppblog.com/chinapeter2008/archive/2016/07/11/213910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chinapeter2008/comments/commentRss/213910.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chinapeter2008/services/trackbacks/213910.html</trackback:ping><description><![CDATA[<strong>目标</strong><br /><strong>学习</strong>：1、使用<span style="color: #0000ff;">imread</span>载入图像。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、使用<span style="color: #0000ff;">namedWindow</span>创建命名OpenCV窗口。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、使用<span style="color: #0000ff;">imshow</span>在OpenCV窗口中显示图像。 <br /><br /><strong>源码</strong>：<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid #cccccc; border-image: none; width: 98%; font-size: 13px; word-break: break-all; background-color: #eeeeee;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">opencv2</span><span style="color: #000000; ">/</span><span style="color: #000000; ">core</span><span style="color: #000000; ">/</span><span style="color: #000000; ">core.hpp</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">opencv2</span><span style="color: #000000; ">/</span><span style="color: #000000; ">highgui</span><span style="color: #000000; ">/</span><span style="color: #000000; ">highgui.hpp</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; "></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;6</span>&nbsp;<span style="color: #000000; "></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;7</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;argc,&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">**</span><span style="color: #000000; ">&nbsp;argv)<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</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;argc)<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;Usage:&nbsp;display_image&nbsp;ImageToLoadAndDisplay</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;Mat&nbsp;image;<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;image&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;imread(argv[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">],&nbsp;CV_LOAD_IMAGE_COLOR);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;Read&nbsp;the&nbsp;file</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; "><br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&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; ">image.data)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;Check&nbsp;for&nbsp;invalid&nbsp;input</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Could&nbsp;not&nbsp;open&nbsp;or&nbsp;find&nbsp;the&nbsp;image</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;std::endl;<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;namedWindow(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Display&nbsp;window</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;WINDOW_AUTOSIZE);&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;Create&nbsp;a&nbsp;window&nbsp;for&nbsp;display</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;imshow(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Display&nbsp;window</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;image);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;Show&nbsp;our&nbsp;image&nbsp;inside&nbsp;it.</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; "><br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;waitKey(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;wait&nbsp;for&nbsp;a&nbsp;keystroke&nbsp;in&nbsp;the&nbsp;window</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&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; ">30</span>&nbsp;<span style="color: #000000; ">}</span></div><br /><strong>说明</strong>：<br />在使用OpenCV 2 的功能之前，几乎总是要包含 <br />1、<span style="color: #0000ff;">core</span> 部分，定义库的基本构建块<br />2、<span style="color: #0000ff;">highgui</span>模块，包含输入输出操作函数。<br /><br /><div><span style="color: #339966;">&nbsp;</span><span style="color: #339966;">#include&nbsp;</span><span style="color: #339966;">&lt;</span><span style="color: #339966;">opencv2</span><span style="color: #339966;">/</span><span style="color: #339966;">core</span><span style="color: #339966;">/</span><span style="color: #339966;">core.hpp</span><span style="color: #339966;">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;</span><span style="color: #339966;">#include&nbsp;</span><span style="color: #339966;">&lt;</span><span style="color: #339966;">opencv2</span><span style="color: #339966;">/</span><span style="color: #339966;">highgui</span><span style="color: #339966;">/</span><span style="color: #339966;">highgui.hpp</span><span style="color: #339966;">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080;">&nbsp;</span><span style="color: #339966;">#include&nbsp;</span><span style="color: #339966;">&lt;</span><span style="color: #339966;">iostream&gt;</span></div><strong></strong><br />还需要include&lt;iostream&gt;这样更容易在console上输出输入。为了避免数据结构和函数名称与其他库冲突，OpenCV有自己的命名空间<span style="color: #0000ff;">cv</span>。当然为了避免在每个关键字前都加cv::keyword，可以在头部导入该命名空间。<br /><span style="color: #339966;">using namespace cv;</span><br /><span style="color: #339966;">using namespace std;</span><br /><br />需要在命令行输入有效的图像名称。<br /><div><span style="color: #339966;">if</span><span style="color: #339966;">&nbsp;(</span><span style="color: #339966;">2</span>&nbsp;<span style="color: #339966;">!=</span><span style="color: #339966;">&nbsp;argc)<br /></span><span style="color: #339966;">{<br /></span><span style="color: #339966;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #339966;">&lt;&lt;</span>&nbsp;<span style="color: #339966;">"</span><span style="color: #339966;">&nbsp;Usage:&nbsp;display_image&nbsp;ImageToLoadAndDisplay</span><span style="color: #339966;">"</span>&nbsp;<span style="color: #339966;">&lt;&lt;</span><span style="color: #339966;">&nbsp;endl;<br /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #339966;">return</span>&nbsp;<span style="color: #339966;">-</span><span style="color: #339966;">1</span><span style="color: #339966;">;</span></div><strong></strong><span style="color: #339966;">}</span><br />然后创建<span style="color: #0000ff;">Mat</span>对象用于存储载入的图像数据。<br /><span style="color: #339966;">Mat image;</span><br /><br />调用<span style="color: #0000ff;">imread</span>函数载入图像（图像名称为<span style="color: #0000ff;">argv[1]</span>指定的）。第二个参数指定图像格式。<br /><span style="color: #0000ff;">1、CV_LOAD_IMAGE_UNCHANGED (&lt;0) loads the image as is(including the alpha channel if present)</span><br /><span style="color: #0000ff;">2、CV_LOAD_IMAGE_GRAYSCALE (0) loads the image as an intensity one</span><br /><span style="color: #0000ff;">3、CV_LOAD_IMAGE_COLOR (&gt;0) loads the image in the BGR format</span><br /><br /><div><span style="color: #339966;">image = imread(argv[1], CV_LOAD_IMAGE_COLOR);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Read the file</span></div><span style="color: #000000;">如果第二个参数未指定，那么默认为</span><span style="color: #0000ff;">CV_LOAD_IMAGE_COLOR</span><br /><br />为了检查图像是否正常载入，我们用<span style="color: #0000ff;">namedWindow</span>函数创建一个OpenCV窗口来显示图像。需要指定窗口名称和大小。<br />第二个参数默认为：WINDOW_AUTOSIZE<br />1、<span style="color: #0000ff;">WINDOW_AUTOSIZE</span>&nbsp;&nbsp;&nbsp; 只支持QT平台。<br />2、<span style="color: #0000ff;">WINDOW_NORMAL&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QT上支持窗口调整大小。<br /><br />最后在创建的窗口中显示图像<br /><div><span style="color: #339966;">imshow(</span><span style="color: #339966;">"</span><span style="color: #339966;">Display&nbsp;window</span><span style="color: #339966;">"</span><span style="color: #339966;">,&nbsp;image);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /><strong>结果</strong><br />编译执行程序。<br />./DisplayImage&nbsp;d:\apple.jpg</span></div><strong></strong><img src ="http://www.cppblog.com/chinapeter2008/aggbug/213910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chinapeter2008/" target="_blank">canaan</a> 2016-07-11 07:58 <a href="http://www.cppblog.com/chinapeter2008/archive/2016/07/11/213910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>