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

做淘宝相关网站免费搭建个人网页

做淘宝相关网站,免费搭建个人网页,公司网站建设系统,可以做网站的电脑软件文章目录 一、相关概念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/358430/

相关文章:

  • 广东装饰公司网站建设网站h5什么意思
  • 祥云平台做网站好不好鲁棒导航
  • 自己建个网站做优化wordpress订阅插件
  • 常州 网站设计数学教学网站开发
  • 如何做更改网站的图片知名营销网站
  • 开发区网站建设方案陕西网站制作电话
  • 服装加工厂网站建设方案计划书深圳宝安网站建设500元起价
  • 网站建设流程步骤建网站需成本多少钱
  • 用wordpress做网站教程湖南建设网
  • 合肥生态丽景网站建设wordpress 增加接口
  • 网站后台建设教程下载公司文化墙设计方案
  • 什么系统做网站好淘宝网站的推广方案
  • 江苏建设服务信息网站专业做网站建设 昆山
  • 湖南3合1网站建设电话物联网产品
  • 网站标签怎么做同城58找房子租房信息
  • 公司做网站留言板桂城网站建设制作
  • wap网站平台房地产公司网站建设方案
  • 做网站点击挣钱不网站制作能赚多少钱
  • asp网站转php唐山网站推广优化
  • 传奇简单网站模板靳刘高设计公司官网
  • 跨境电商怎么做流程seo需要掌握哪些技术
  • 公司网站域名备案流程知识付费问答系统网站开发
  • 装潢公司企业网站源码网页源代码能修改吗
  • 利用免费网站做SEO学摄影的网站有哪些
  • 游戏网站开发协议深圳营业执照网上申报入口
  • 苏州营销型网站设计长春火车站电话
  • 建设医院网站的目的禁止粘贴的网站
  • 英文网站建设 济南wordpress显示前3张图片
  • 中国东方营销网站移动互联网开发技术学什么
  • 万能小偷程序做网站腾讯云服务器怎么重启