📄 opencv用户手册之图像处理部分(之三):形态学操作(中文翻译) - hunnish的opencv专栏.htm
字号:
<LI><CODE>CV_SHAPE_CROSS</CODE>, 交错元素 a cross-shaped element;
<LI><CODE>CV_SHAPE_ELLIPSE</CODE>, 椭圆元素;
<LI><CODE>CV_SHAPE_CUSTOM</CODE>, 用户自定义元素。这种情况下参数 <CODE>values</SPAN></CODE>
定义了 mask,即象素的那个邻域必须考虑。 </LI></UL>
<DT>values
<DD>指向结构元素的指针,它是一个平面数组,表示对元素矩阵逐行扫描。非零值的点表示该点属于该元素。如果点为
<CODE>NULL,那么</SPAN></CODE>所有值都被认为是非零,即元素是一个长方形。该参数仅仅当形状是
<CODE>CV_SHAPE_CUSTOM</SPAN></CODE> 时才予以考虑。 </DD></DL>
<P>函数 <A
href="file:///D:/程序/OpenCV/docs/ref/opencvref_cv.HTM#decl_cv CreateStructuringElementEx"><FONT
color=#002c99>cv CreateStructuringElementEx</FONT></A> 分配和填充结构
<CODE>IplConvKernel</SPAN></CODE>, 它可作为形态操作中的结构元素。</P>
<HR>
<H3><A name=decl_cvReleaseStructuringElement>ReleaseStructuringElement</A></H3>
<P class=Blurb><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Helvetica; mso-hansi-font-family: Helvetica">删除结构元素</SPAN></P><PRE>void cvReleaseStructuringElement( IplConvKernel** element );
</PRE>
<P>
<DL>
<DT>element
<DD>被删除的结构元素的指针 </DD></DL>
<P>函数 <A
href="file:///D:/程序/OpenCV/docs/ref/opencvref_cv.HTM#decl_cvReleaseStructuringElement"><FONT
color=#002c99>cvReleaseStructuringElement</FONT></A> 释放结构 <CODE>IplConvKernel
。</SPAN></CODE>如果 <CODE>*element</SPAN></CODE> 为 <CODE>NULL</SPAN></CODE>,
则函数不作用。</P>
<HR>
<H3><A name=decl_cvErode>Erode</A></H3>
<P class=Blurb><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Helvetica; mso-hansi-font-family: Helvetica">使用结构元素腐蚀图像</SPAN></P><PRE>void cvErode( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );
</PRE>
<P>
<DL>
<DT>src
<DD>输入图像.
<DT>dst
<DD>输出图像.
<DT>element
<DD>用于腐蚀的结构元素。若为 <CODE>NULL</SPAN></CODE>, 则使用 3×3 长方形的结构元素
<DT>iterations
<DD>腐蚀的次数 </DD></DL>
<P>函数 <A
href="file:///D:/程序/OpenCV/docs/ref/opencvref_cv.HTM#decl_cvErode"><FONT
color=#002c99>cvErode</FONT></A> 对输入图像使用指定的结构元素进行腐蚀,该结构决定每个具有最小值象素点的邻域形状:</P><PRE>dst=erode(src,element): dst(x,y)=min<SUB>((x',y') in element)</SUB>)src(x+x',y+y')
</PRE>
<P>函数支持(in-place)模式。腐蚀可以重复进行 (<CODE>iterations</SPAN></CODE>) 次.
对彩色图像,每个彩色通道单独处理。</P>
<HR>
<H3><A name=decl_cvDilate>Dilate</A></H3>
<P class=Blurb><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Helvetica; mso-hansi-font-family: Helvetica">使用结构元素膨胀图像</SPAN></P><PRE>void cvDilate( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );
</PRE>
<P>
<DL>
<DT>src
<DD>输入图像.
<DT>dst
<DD>输出图像.
<DT>element
<DD>用于膨胀的结构元素。若为 <CODE>NULL</SPAN></CODE>, 则使用 3×3 长方形的结构元素
<DT>iterations
<DD>膨胀的次数 </DD></DL>
<P>函数 <A
href="file:///D:/程序/OpenCV/docs/ref/opencvref_cv.HTM#decl_cvErode"><FONT
color=#002c99>cvErode</FONT></A> 对输入图像使用指定的结构元素进行腐蚀,该结构决定每个具有最小值象素点的邻域形状:</P>
<P>函数 <A
href="file:///D:/程序/OpenCV/docs/ref/opencvref_cv.HTM#decl_cvDilate"><FONT
color=#002c99>cvDilate</FONT></A> 对输入图像使用指定的结构元素进行膨胀,该结构决定每个具有最小值象素点的邻域形状:</P><PRE>dst=dilate(src,element): dst(x,y)=max<SUB>((x',y') in element)</SUB>)src(x+x',y+y')
</PRE>
<P>函数支持(in-place)模式。膨胀可以重复进行 (<CODE>iterations</SPAN></CODE>) 次.
对彩色图像,每个彩色通道单独处理。</P>
<HR>
<H3><A name=decl_cvMorphologyEx>MorphologyEx</A></H3>
<P class=Blurb>高级形态变换</P><PRE>void cvMorphologyEx( const CvArr* src, CvArr* dst, CvArr* temp,
IplConvKernel* element, int operation, int iterations=1 );
</PRE>
<P>
<DL>
<DT>src
<DD>输入图像.
<DT>dst
<DD>输出图像.
<DT>temp
<DD>临死图像,某些情况下需要
<DT>element
<DD>结构元素
<DT>operation
<DD>形态操作的类型:<BR><CODE>CV_MOP_OPEN</CODE> - 开口<BR><CODE>CV_MOP_CLOSE</CODE> -
闭口<BR><CODE>CV_MOP_GRADIENT</CODE> - 形态梯度<BR><CODE>CV_MOP_TOPHAT</CODE> -
"顶帽"<BR><CODE>CV_MOP_BLACKHAT</CODE> - "黑帽"<BR>
<DT>iterations
<DD>膨胀和腐蚀次数. </DD></DL>
<P>函数 <A
href="file:///D:/程序/OpenCV/docs/ref/opencvref_cv.HTM#decl_cvMorphologyEx"><FONT
color=#002c99>cvMorphologyEx</FONT></A> 在膨胀和腐蚀基本操作的基础上,完成一些高级的形态变换:</P><PRE>开口:
dst=open(src,element)=dilate(erode(src,element),element)
闭口:
dst=close(src,element)=erode(dilate(src,element),element)
形态梯度
dst=morph_grad(src,element)=dilate(src,element)-erode(src,element)
"顶帽":
dst=tophat(src,element)=src-open(src,element)
"黑帽":
dst=blackhat(src,element)=close(src,element)-src
</PRE>
<P>临时图像 <CODE>temp</CODE> 在形态梯度以及对“顶帽”和“黑帽”操作时的 in-place 模式下需要。 </P><BR><BR>
<P id=TBPingURL>Trackback:
http://tb.blog.csdn.net/TrackBack.aspx?PostId=95532</P></DIV>
<DIV class=postFoot>
<SCRIPT
src="OPENCV用户手册之图像处理部分(之三):形态学操作(中文翻译) - HUNNISH的OPENCV专栏.files/PromoteIcon.aspx"></SCRIPT>
[<A href="javascript:StorePage()">点击此处收藏本文</A>] 发表于 2004年09月06日
10:14 AM </DIV></DIV><LINK
href="http://blog.csdn.net/hunnish/Services/Pingback.aspx" rel=pingback><!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://blog.csdn.net/hunnish/archive/2004/09/06/95532.aspx"
dc:identifier="http://blog.csdn.net/hunnish/archive/2004/09/06/95532.aspx"
dc:title="OPENCV用户手册之图像处理部分(之三):形态学操作(中文翻译) "
trackback:ping="http://tb.blog.csdn.net/TrackBack.aspx?PostId=95532" />
</rdf:RDF>
-->
<SCRIPT>function hide(){showComment();}</SCRIPT>
<BR>
<SCRIPT>document.write("<img src=http://counter.csdn.net/pv.aspx?id=24 border=0 width=0 height=0>");</SCRIPT>
<BR>
<DIV id=comments>
<H3></H3><A name=575168> </A>
<DIV class=post>
<DIV class=postTitle><A
href="http://blog.csdn.net/hunnish/archive/2004/10/14/136003.aspx" target=_blank
rel=nofollow>gisgjp</A> 发表于2006-01-10 12:53 PM IP:
59.44.76.*</DIV>
<DIV class=postText>Very Good!! thanks!!</DIV></DIV><BR></DIV>
<DIV class=CommentForm id=commentform>
<H3>发表评论</H3>
<TABLE class=CommentForm>
<TBODY>
<TR>
<TD width=69 height=0></TD>
<TD></TD></TR>
<TR>
<TD width=70>大名:</TD>
<TD align=left><INPUT id=PostComment.ascx_tbName style="WIDTH: 300px"
size=40 name=PostComment.ascx:tbName> <SPAN
id=PostComment.ascx_RequiredFieldValidator2
style="DISPLAY: none; COLOR: red" initialvalue=""
evaluationfunction="RequiredFieldValidatorEvaluateIsValid"
display="Dynamic" errormessage="<br>请输入尊姓大名"
controltovalidate="PostComment.ascx_tbName"><BR>请输入尊姓大名</SPAN> </TD></TR>
<TR>
<TD width=70>网址:</TD>
<TD align=left><INPUT id=PostComment.ascx_tbUrl style="WIDTH: 300px"
size=40 name=PostComment.ascx:tbUrl> </TD></TR>
<TR>
<TD colSpan=3>评论 <SPAN id=PostComment.ascx_RequiredFieldValidator3
style="DISPLAY: none; COLOR: red" initialvalue=""
evaluationfunction="RequiredFieldValidatorEvaluateIsValid"
display="Dynamic" errormessage="<br>请输入评论"
controltovalidate="PostComment.ascx_tbComment"><BR>请输入评论</SPAN> <BR><TEXTAREA id=PostComment.ascx_tbComment style="WIDTH: 381px; HEIGHT: 193px" name=PostComment.ascx:tbComment rows=10 cols=50></TEXTAREA>
</TD></TR>
<TR style="DISPLAY: none">
<TD height=24>验证码</TD>
<TD><INPUT id=PostComment.ascx_ValidationKey style="WIDTH: 150px"
name=PostComment.ascx:ValidationKey> <INPUT id=VCImageSrc type=hidden
value=/VerifyCode.aspx?url=http%3a%2f%2fblog.csdn.net%2fhunnish%2farchive%2f2004%2f09%2f06%2f95532.aspx&datetime=4%2f6%2f2006+6%3a10%3a53+PM&ip=61.167.60.209>
<SPAN id=VCImageSpan></SPAN>
<SCRIPT
src="OPENCV用户手册之图像处理部分(之三):形态学操作(中文翻译) - HUNNISH的OPENCV专栏.files/deferShowVerifyImage.js"
type=text/javascript></SCRIPT>
</TD></TR>
<TR>
<TD colSpan=3><INPUT language=javascript class=Button id=PostComment.ascx_btnSubmit onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " type=submit value=提交 name=PostComment.ascx:btnSubmit>
<INPUT id=PostComment.ascx_chkRemember type=checkbox
name=PostComment.ascx:chkRemember><LABEL
for=PostComment.ascx_chkRemember>记住我?</LABEL></TD></TR>
<TR>
<TD colSpan=3><SPAN id=PostComment.ascx_Message
style="COLOR: red"></SPAN></TD></TR></TBODY></TABLE></DIV></DIV>
<P id=footer>Powered by: <BR><A id=Footer1_Hyperlink2
href="http://scottwater.com/blog" name=Hyperlink1><IMG alt=""
src="OPENCV用户手册之图像处理部分(之三):形态学操作(中文翻译) - HUNNISH的OPENCV专栏.files/100x30_Logo.gif"
border=0></A> <A id=Footer1_Hyperlink3 href="http://asp.net/"
name=Hyperlink1><IMG alt=""
src="OPENCV用户手册之图像处理部分(之三):形态学操作(中文翻译) - HUNNISH的OPENCV专栏.files/PoweredByAsp.Net.gif"
border=0></A> <BR>Copyright © HUNNISH </P>
<SCRIPT
src="OPENCV用户手册之图像处理部分(之三):形态学操作(中文翻译) - HUNNISH的OPENCV专栏.files/counter.js"></SCRIPT>
<SCRIPT language=javascript type=text/javascript>
<!--
var Page_Validators = new Array(document.all["PostComment.ascx_RequiredFieldValidator2"], document.all["PostComment.ascx_RequiredFieldValidator3"]);
// -->
</SCRIPT>
<SCRIPT language=javascript type=text/javascript>
<!--
var Page_ValidationActive = false;
if (typeof(clientInformation) != "undefined" && clientInformation.appName.indexOf("Explorer") != -1) {
if ((typeof(Page_ValidationVer) != "undefined") && (Page_ValidationVer == "125"))
ValidatorOnLoad();
}
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
return true;
}
// -->
</SCRIPT>
</FORM>
<SCRIPT language=javascript>
<!--
try{
hide();
}
catch(e){
}
//-->
</SCRIPT>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -