gpt4 book ai didi

OpenCV Erode 和 Dilate 切换

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:50 25 4
gpt4 key购买 nike

我很好奇为什么当我尝试放大图片时,背景会扩大,而前景中的对象会缩小。当我尝试腐 eclipse 图片时,背景缩小,对象扩大。应该反过来吗?

 int type = 2;
int size = 5;
Mat element = getStructuringElement( type, Size( 2*size + 1, 2*size + 1), Point( size, size ));
switch( filterEnhan )
{
case 0: out=img.clone();
break;
case 1: morphologyEx(img, out, MORPH_DILATE, element);
break;
case 2: morphologyEx(img, out, MORPH_ERODE, element);
break;
case 3:morphologyEx(img, out, MORPH_OPEN, element);
break;
}

原图: Original Image

膨胀后: After dilatation:

侵 eclipse 后: After Erosion:

最佳答案

您使用了错误的操作。在文档中,您可以找到函数 morphologyEx() 允许的值是:

  • MORPH_OPEN - 开操作
  • MORPH_CLOSE - 关闭操作
  • MORPH_GRADIENT - 形态梯度
  • MORPH_TOPHAT - “礼帽”
  • MORPH_BLACKHAT - “黑帽”

您正在使用此处不允许的 MORPH_DILATEMORPH_ERODE 调用它。这两个常量旨在用于函数 createMorphologyFilter。它没有崩溃的原因是,那些命名常量实际上是数字 - 1、2、3 等。

所以你在范围内因此没有崩溃,但实际上你正在做一些其他操作。

对于腐 eclipse 和膨胀,使用函数:erode()dilate()

关于OpenCV Erode 和 Dilate 切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25153941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com