当前位置: 首页 > news >正文

郑州设计公司有哪些网络优化大师

郑州设计公司有哪些,网络优化大师,wordpress开发软件,做网站的市场文章目录 一、相关概念1.什么叫形态学梯度2.形态学梯度的函数 二、演示1.原始素材2.代码3.运行结果 一、相关概念 1.什么叫形态学梯度 形态学梯度,就是用膨胀的原始图像减去腐蚀的原始图像,所以它的特性就是去除前景物体的内部区域,只得到前…

文章目录

  • 一、相关概念
    • 1.什么叫形态学梯度
    • 2.形态学梯度的函数
  • 二、演示
    • 1.原始素材
    • 2.代码
    • 3.运行结果


一、相关概念

1.什么叫形态学梯度

形态学梯度,就是用膨胀的原始图像减去腐蚀的原始图像,所以它的特性就是去除前景物体的内部区域,只得到前景物体的白色轮廓。一般的用处就是获取二值化图形内物体的轮廓。

2.形态学梯度的函数

Emgu CV中,形态学梯度的函数定义如下:

public static void MorphologyEx(IInputArray src,  // 输入图像IOutputArray dst, // 输入图像MorphOp Gradient, // 操作方式,形态学梯度是MorphOp.GradientIInputArray kernel, // 结构元素大小Point anchor, // 锚点位置,默认为中心new Point(-1, -1)int iterations, // 膨胀操作迭代次数BorderType borderType, // 边界填充方式,一般取默认MCvScalar borderValue // 边界值,使用时一般写成new MCvScalar()
)

二、演示

1.原始素材

原始素材srcMat如下图:
在这里插入图片描述

2.代码

Emgu CV形态学梯度运算演示代码如下:

Mat tempMat = srcMat.Clone();
Mat gray = new Mat();
Mat dstMat = new Mat();
int kernelX = Convert.ToInt16(TextBoxX.Text.Trim().ToString()); // structuring element结构元素 或者 kernel 内核的X值,水平方向
int kernelY = Convert.ToInt16(TextBoxY.Text.Trim().ToString()); // structuring element结构元素 或者 kernel 内核的X值,垂直方向
int iterations = Convert.ToInt16(TextBoxIterations.Text.Trim().ToString()); // 需要执行运算的次数// 要转成灰度图
CvInvoke.CvtColor(tempMat, gray, ColorConversion.Bgr2Gray);// 定义结构元素,其中元素的形状是矩形,size大小由两个文本框决定,默认锚点new Point(-1,-1)是指在中心
Mat element = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new System.Drawing.Size(kernelX, kernelY), new System.Drawing.Point(-1, -1));// 闭运算,其中锚点位置new Point(-1, -1)代表中心
CvInvoke.MorphologyEx(gray, dstMat, MorphOp.Gradient, element, new System.Drawing.Point(-1, -1), iterations, BorderType.Default, new MCvScalar());
CvInvoke.Imshow("Gray, " + gray.Size.ToString(), gray);
CvInvoke.Imshow("Close, " + dstMat.Size.ToString(), dstMat);

注意哈,结构元素的内核要对水平方向和垂直方向分别定义。

3.运行结果

假设kernelX = 3,kernelY = 3,iterations = 1, 形态学梯度运算结果如下所示:
在这里插入图片描述

如果仅仅是需要获取物体轮廓,结构元素是 3 * 3 大小就足够了。如果 kernelX = 1,kernelY =1,iterations = 1, 其灰度图和形态学梯度运算结果如下所示:

在这里插入图片描述

为什么形态学梯度图是黑色呢,其实很简单:结构元素内核是 1 * 1,所以膨胀后的图像和腐蚀后的图像是相同的,再相减当然结果都是0了 如果假设kernelX = 19,kernelY =1,iterations = 1 ,输出的图像是这样:
在这里插入图片描述

结果很好理解:

  1. 以垂直的直线为例,因为kernelX = 19,水平方向膨胀的多,腐蚀的也多;kernelY =1,垂直方向膨胀和腐蚀的结果是相同的。所以形态学梯度计算的结果就是垂直轮廓变得更宽。
  2. 以水平直线为例,因为kernelX = 19,水平方向膨胀-腐蚀,水平方向轮廓会多出来19个像素;kernelY =1,垂直方向膨胀和腐蚀的结果是相同的。所以形态学梯度计算的结果就是水平轮廓消失了,或者说只剩两端各19个像素那么长。

原创不易,请勿抄袭。共同进步,相互学习。

http://www.yayakq.cn/news/624998/

相关文章:

  • wordpress文章自动发布深圳推广软件十年乐云seo
  • 建站系统主要包括lnmp wordpress建设多网站
  • 网站建设对企业发展的意义网站建设合同付款比例
  • 网站年费怎么做分录做问卷调查的网站挣钱
  • 罗岗网站建设公司建公司网站流程
  • 只做彩票网站犯法吗网站开发交流平台
  • 珠海网站制作外包长春网站建设路
  • 7有免费建网站网络推广服务合同范本大全免费版
  • 住房和城市建设部网站百度app推广方法
  • 做婚纱摄影网站如何制作网页首页
  • 优化网站制作方法大全一条专访是哪个网站做的
  • 建设网站用哪种语言在线制作短视频
  • 厦门城健建设有限公司网站百度的网站关键词被篡改
  • 株洲定制型网站建设搜房网站要怎么 做
  • wordpress 制作网站模板手机网站建设报价
  • 网站可以做动画轮播吗网络推广软件有哪些
  • 廊坊建设网站企业wordpress 视图插件
  • 企业做网站好处设计一个简单的网络规划方案
  • 上海外贸网站建设公司价格wordpress+pdo+mysql扩展
  • 做网站后期需要什么费用医院网站建设联系方式
  • 重庆免费发布信息网站wordpress找回密码邮件
  • 烟台公司建网站对于公司网站建设的一些想法
  • 有什么国企是做网站的惠州建设银行网站
  • 广东网站设计公司价格html5 wap网站
  • 做一份网站动态图多少钱成都智 小程序开发
  • 网站移动端是什么问题wordpress 自定义widget
  • 建设部网站江苏金安网站平台系统建设方案
  • 私人网站制作网站文件名优化
  • 主办单位性质与网站名称不符泰安大众网
  • 收费下载网站源码村建站是什么部门