📄 opencv用户手册之图像处理部分:采样、差值与几何变换(中文翻译) cnbie.htm
字号:
<DT>interpolation
<DD>差值方法:
<UL>
<LI>CV_INTER_NN-最近邻差值,
<LI>CV_INTER_LINEAR-双线性差值(缺省使用)
<LI>CV_INTER_AREA-<SPANLANG=EN-US>使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大是,类似于</SPAN><CODE><SPANLANG=EN-US>CV_INTER_NN</SPAN></CODE><SPANLANG=EN-US>方法.</SPAN>.
<LI>CV_INTER_CUBIC-立方差值.</LI></UL></DD></DL>
<P>函数<SPANLANG=EN-US><AHREF="FILE: FrontPageTempDir Temp LOCALS~1 user DOCUME~1
C:
pvw1.htm#decl_cvResize?>cvResize</A>将图像</SPAN><CODE><SPANLANG=EN-US>src</SPAN></CODE><SPANLANG=EN-US>改变尺寸得到与</SPAN><CODE><SPANLANG=EN-US>dst同样大小。</SPAN></CODE>若设定<SPANLANG=EN-US>ROI,函数将按常规支持ROI</SPAN>.</P>
<HR>
<H3><ANAME=DECL_CVWARPAFFINE>WarpAffine</A></H3><PCLASS=BLURB><SPANSTYLE="FONT-FAMILY:宋体;MSO-ASCII-FONT-FAMILY:HELVETICA;MSO-HANSI-FONT-FAMILY:HELVETICA">对图像做仿射变换</SPAN>
<P></P><PRE>voidcvWarpAffine(constCvArr*src,CvArr*dst,constCvMat*map_matrix,intflags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,CvScalarfillval=cvScalarAll(0));</PRE>
<P>
<DL>
<DT>src
<DD>输入图像.
<DT>dst
<DD>输出图像.
<DT>map_matrix
<DD><SPANLANG=EN-US>2×3变换矩阵</SPAN>
<DT>flags
<DD>差值方法与开关选项:
<UL>
<LI>CV_WARP_FILL_OUTLIERS-<SPANLANG=EN-US>填充所有缩小图像的象素。如果部分象素落在输入图像的边界外,那么它们的值设定为</SPAN><CODE><SPANLANG=EN-US>fillval</SPAN></CODE><SPANLANG=EN-US>.</SPAN>
<LI>CV_WARP_INVERSE_MAP-<SPANLANG=EN-US>指定</SPAN><CODE><SPANLANG=EN-US>matrix</SPAN></CODE><SPANLANG=EN-US>是输出图像到输入图像的反变换,因此可以直接用来做象素差值。否则,函数从</SPAN><CODE><SPANLANG=EN-US>map_matrix得到反变换。</SPAN></CODE></LI></UL>
<DT>fillval
<DD>用来填充边界外面的值</DD></DL>
<P>函数<SPANLANG=EN-US><AHREF="FILE: FrontPageTempDir Temp LOCALS~1 user DOCUME~1
C: pvw1.htm#decl_cvWarpAffine?>cvWarpAffine</A>利用下面指定的矩阵变换输入图像:</SPAN></P><PRE>dst(x&apos;,y&apos;)<-src(x,y)如果没有指定<SPANLANG=EN-US>CV_WARP_INVERSE_MAP,(x&apos;,y&apos;)<SUP>T</SUP>=map_matrix•(x,y,1)<SUP>T</SUP>+b,</SPAN>否则,<SPANLANG=EN-US>(x,y)<SUP>T</SUP>=map_matrix•(x&apos;,y&apos,1)<SUP>T</SUP>+b</SPAN></PRE>
<P>函数与<SPANLANG=EN-US><AHREF="FILE: FrontPageTempDir Temp LOCALS~1 user DOCUME~1
C:
pvw1.htm#decl_cvGetQuadrangleSubPix?>cvGetQuadrangleSubPix</A>类似,但是不完全相同。<AHREF="FILE:
FrontPageTempDir Temp LOCALS~1 user DOCUME~1 C:
pvw1.htm#decl_cvWarpAffine?>cvWarpAffine</A>要求输入和输出图像具有同样的数据类型,有更大的资源开销(因此对大图像不太合适)而且输出图像的部分可以保留不变。而<AHREF="FILE:
FrontPageTempDir Temp LOCALS~1 user DOCUME~1 C:
pvw1.htm#decl_cvGetQuadrangleSubPix?>cvGetQuadrangleSubPix</A>可以精确地从8位图像中提取四边形到浮点数缓存区中,具有比较小的系统开销,而且总是全部改变输出图像的内容。</SPAN></P>
<P>要变换稀疏矩阵,使用<SPANLANG=EN-US>cxcore中的函数<AHREF="FILE: FrontPageTempDir Temp
LOCALS~1 user DOCUME~1 C: pvw1.htm#decl_cvTransform?>cvTransform</A>。</SPAN></P>
<HR>
<H3><ANAME=DECL_CV2DROTATIONMATRIX>2DRotationMatrix</A></H3><PCLASS=BLURB><SPANSTYLE="FONT-FAMILY:宋体;MSO-ASCII-FONT-FAMILY:HELVETICA;MSO-HANSI-FONT-FAMILY:HELVETICA">计算二维旋转的仿射变换矩阵</SPAN>
<P></P><PRE>CvMat*cv2DRotationMatrix(CvPoint2D32fcenter,doubleangle,doublescale,CvMat*map_matrix);</PRE>
<P>
<DL>
<DT>center
<DD>输入图像的旋转中心
<DT>angle
<DD>旋转角度(度)。正值表示逆时针旋转<SPANLANG=EN-US>(坐标原点假设在左上角).</SPAN>
<DT>scale
<DD>各项同性的尺度因子
<DT>map_matrix
<DD>输出<SPANLANG=EN-US>2×3矩阵的指针</SPAN></DD></DL>
<P>函数<SPANLANG=EN-US><AHREF="FILE: FrontPageTempDir Temp LOCALS~1 user DOCUME~1
C: pvw1.htm#decl_cv2DRotationMatrix?>cv2DRotationMatrix</A>计算矩阵:</SPAN></P><PRE>[αβ|(1-α)*center.x-β*center.y][-βα|β*center.x+(1-α)*center.y]whereα=scale*cos(angle),β=scale*sin(angle)</PRE>
<P>该变换映射旋转中心到它本身。如果这不是目的的话,应该调整平移(<SPANLANG=EN-US>Hunnish:这段话令人费解:Thetransformationmapstherotationcentertoitself.Ifthisisnotthepurpose,theshiftshouldbeadjusted)</SPAN></P>
<HR>
<H3><ANAME=DECL_CVWARPPERSPECTIVE>WarpPerspective</A></H3><PCLASS=BLURB><SPANSTYLE="FONT-FAMILY:宋体;MSO-ASCII-FONT-FAMILY:HELVETICA;MSO-HANSI-FONT-FAMILY:HELVETICA">对图像进行透视变换</SPAN>
<P></P><PRE>voidcvWarpPerspective(constCvArr*src,CvArr*dst,constCvMat*map_matrix,intflags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,CvScalarfillval=cvScalarAll(0));</PRE>
<P>
<DL>
<DT>src
<DD>输入图像.
<DT>dst
<DD>输出图像.
<DT>map_matrix
<DD><SPANLANG=EN-US>3×3变换矩阵</SPAN>
<DT>flags
<DD>差值方法的开关选项:
<UL>
<LI>CV_WARP_FILL_OUTLIERS-<SPANLANG=EN-US>填充所有缩小图像的象素。如果部分象素落在输入图像的边界外,那么它们的值设定为</SPAN><CODE><SPANLANG=EN-US>fillval</SPAN></CODE><SPANLANG=EN-US>.</SPAN>
<LI>CV_WARP_INVERSE_MAP-<SPANLANG=EN-US>指定</SPAN><CODE><SPANLANG=EN-US>matrix</SPAN></CODE><SPANLANG=EN-US>是输出图像到输入图像的反变换,因此可以直接用来做象素差值。否则,函数从</SPAN><CODE><SPANLANG=EN-US>map_matrix得到反变换。</SPAN></CODE></LI></UL>
<DT>fillval
<DD>用来填充边界外面的值</DD></DL>
<P>函数<SPANLANG=EN-US><AHREF="FILE: FrontPageTempDir Temp LOCALS~1 user DOCUME~1
C:
pvw1.htm#decl_cvWarpPerspective?>cvWarpPerspective</A>利用下面指定矩阵变换输入图像:</SPAN></P><PRE>dst(x&apos;,y&apos;)<-src(x,y)若指定<SPANLANG=EN-US>CV_WARP_INVERSE_MAP,(tx&apos;,ty&apos;,t)<SUP>T</SUP>=map_matrix•(x,y,1)<SUP>T</SUP>+b</SPAN>否则,<SPANLANG=EN-US>(tx,ty,t)<SUP>T</SUP>=map_matrix•(x&apos;,y&apos,1)<SUP>T</SUP>+b</SPAN></PRE>
<P>要变换稀疏矩阵,使用<SPANLANG=EN-US>cxcore中的函数<AHREF="FILE: FrontPageTempDir Temp
LOCALS~1 user DOCUME~1 C: pvw1.htm#decl_cvTransform?>cvTransform</A>。</SPAN></P>
<HR>
<H3><ANAME=DECL_CVWARPPERSPECTIVEQMATRIX>WarpPerspectiveQMatrix</A></H3><PCLASS=BLURB><SPANSTYLE="FONT-FAMILY:宋体;MSO-ASCII-FONT-FAMILY:HELVETICA;MSO-HANSI-FONT-FAMILY:HELVETICA">用</SPAN><SPANLANG=EN-US>4</SPAN><SPANSTYLE="FONT-FAMILY:宋体;MSO-ASCII-FONT-FAMILY:HELVETICA;MSO-HANSI-FONT-FAMILY:HELVETICA">个对应点计算透视变换矩阵</SPAN>
<P></P><PRE>CvMat*cvWarpPerspectiveQMatrix(constCvPoint2D32f*src,constCvPoint2D32f*dst,CvMat*map_matrix);</PRE>
<P>
<DL>
<DT>src
<DD>输入图像的四边形的<SPANLANG=EN-US>4个点坐标</SPAN>
<DT>dst
<DD>输出图像的对应四边形的<SPANLANG=EN-US>4个点坐标</SPAN>
<DT>map_matrix
<DD>输出的<SPANLANG=EN-US>3×3矩阵</SPAN></DD></DL>
<P>函数<SPANLANG=EN-US><AHREF="FILE: FrontPageTempDir Temp LOCALS~1 user DOCUME~1
C:
pvw1.htm#decl_cvWarpPerspectiveQMatrix?>cvWarpPerspectiveQMatrix</A>计算透视变换矩阵,使得:</SPAN></P><PRE>(t<SUB>i</SUB>x'<SUB>i</SUB>,t<SUB>i</SUB>y'<SUB>i</SUB>,t<SUB>i</SUB>)<SUP>T</SUP>=matrix•(x<SUB>i</SUB>,y<SUB>i</SUB>,1)<SUP>T</SUP></PRE>
<P>where<CODE>dst(i)=(x'<SUB>i</SUB>,y'<SUB>i</SUB>),src(i)=(x<SUB>i</SUB>,y<SUB>i</SUB>),i=0..3</CODE>.</P></DIV>
<DIV id=zf1 style="MARGIN: 0px 20px 10px; COLOR: red">高效的学习 = 丰富的资料 +
积极的提问</DIV>
<DIV id=zf2
style="MARGIN: 0px 20px 10px; COLOR: red">阅读本文后,如有任何疑问和见解请直接在此提出,共同探讨。</DIV></DIV>
<DIV id=bottom>
<H2>相关链接:</H2>
<DIV style="WORD-BREAK: break-all; WORD-WRAP: break-word"><A
href="http://cnbie.net/print_242587m55356.html">1</A> <A
href="http://cnbie.net/print_242587m55357.html">2</A> <A
href="http://cnbie.net/print_242587m55358.html">3</A> <A
href="http://cnbie.net/print_242587m55359.html">4</A> <A
href="http://cnbie.net/print_242587m55360.html">5</A> <A
href="http://cnbie.net/print_242587m55361.html">6</A> <A
href="http://cnbie.net/print_242587m55362.html">7</A> <A
href="http://cnbie.net/print_242587m55363.html">8</A> <A
href="http://cnbie.net/print_242587m55364.html">9</A> <A
href="http://cnbie.net/print_242587m55365.html">10</A> <A
href="http://cnbie.net/print_242587m55366.html">11</A> <A
href="http://cnbie.net/print_242587m55367.html">12</A> <A
href="http://cnbie.net/print_242587m55368.html">13</A> <A
href="http://cnbie.net/print_242587m55369.html">14</A> <A
href="http://cnbie.net/print_242587m55370.html">15</A> <A
href="http://cnbie.net/print_242587m55371.html">16</A> <A
href="http://cnbie.net/print_242587m55372.html">17</A> <A
href="http://cnbie.net/print_242587m55373.html">18</A> <A
href="http://cnbie.net/print_242587m55374.html">19</A> <A
href="http://cnbie.net/print_242587m55375.html">20</A> <A
href="http://cnbie.net/print_242587m55376.html">21</A> <A
href="http://cnbie.net/print_242587m55377.html">22</A> <A
href="http://cnbie.net/print_242587m55378.html">23</A> <A
href="http://cnbie.net/print_242587m55379.html">24</A> <A
href="http://cnbie.net/print_242587m55380.html">25</A> <A
href="http://cnbie.net/print_242587m55381.html">26</A> <A
href="http://cnbie.net/print_242587m55382.html">27</A> <A
href="http://cnbie.net/print_242587m55383.html">28</A> <A
href="http://cnbie.net/print_242587m55384.html">29</A> <A
href="http://cnbie.net/print_242587m55385.html">30</A> <A
href="http://cnbie.net/print_242587m55386.html">31</A> <A
href="http://cnbie.net/print_242587m55387.html">32</A> <A
href="http://cnbie.net/print_242587m55388.html">33</A> <A
href="http://cnbie.net/print_242587m55389.html">34</A> <A
href="http://cnbie.net/print_242587m55390.html">35</A> <A
href="http://cnbie.net/print_242587m55391.html">36</A> <A
href="http://cnbie.net/print_242587m55392.html">37</A> <A
href="http://cnbie.net/print_242587m55393.html">38</A> <A
href="http://cnbie.net/print_242587m55394.html">39</A> <A
href="http://cnbie.net/print_242587m55395.html">40</A> <A
href="http://cnbie.net/print_242587m55396.html">41</A> <A
href="http://cnbie.net/print_242587m55397.html">42</A> <A
href="http://cnbie.net/print_242587m55398.html">43</A> <A
href="http://cnbie.net/print_242587m55399.html">44</A> <A
href="http://cnbie.net/print_242587m55400.html">45</A> <A
href="http://cnbie.net/print_242587m55401.html">46</A> <A
href="http://cnbie.net/print_242587m55402.html">47</A> <A
href="http://cnbie.net/print_242587m55403.html">48</A> <A
href="http://cnbie.net/print_242587m55404.html">49</A> <A
href="http://cnbie.net/print_242587m55405.html">50</A> <A
href="http://cnbie.net/print_242587m55406.html">51</A> <A
href="http://cnbie.net/print_242587m55407.html">52</A> <A
href="http://cnbie.net/print_242587m55408.html">53</A> <A
href="http://cnbie.net/print_242587m55409.html">54</A> <A
href="http://cnbie.net/print_242587m55410.html">55</A> <A
href="http://cnbie.net/print_242587m55411.html">56</A> <A
href="http://cnbie.net/print_242587m55412.html">57</A> <A
href="http://cnbie.net/print_242587m55413.html">58</A> <A
href="http://cnbie.net/print_242587m55414.html">59</A> <A
href="http://cnbie.net/print_242587m55415.html">60</A> </DIV><BR><BR></DIV>
<SCRIPT language=JavaScript
src="OPENCV用户手册之图像处理部分:采样、差值与几何变换(中文翻译) CNBIE_files/counter.htm"
type=text/javascript></SCRIPT>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -