去除小面积轮廓 java_OpenCV - 关闭轮廓(Java)

在尝试使用OpenCV处理DXF转图像过程中,作者遇到图像右侧轮廓未完全闭合的问题。文章探讨了使用`Core.copyMakeBorder()`增加边距和`Imgproc.approxPolyDP()`以及`Imgproc.convexHull()`来封闭轮廓的方法,但效果不理想。作者寻求解决方案以完成轮廓的闭合。
摘要由CSDN通过智能技术生成

我正在尝试关闭此图片右侧的轮廓:Sample . 打开轮廓的原因在于 kabeja ,这是一个将DXF文件转换为图像的库 . 似乎在某些图像上它没有't convert the last pixel column (or row) and that'为什么样本图片是打开的 .

我有想法在Opencv中使用 Core.copyMakeBorder() ,为图片添加一些空间 . 之后,我尝试使用 Imgproc.approxPolyDP() 来关闭轮廓,但这不会发布超过2个链接't work. I tried this with different Epsilon values: Pics EDIT: Can'

原因可能是轮廓围绕着线条 . 它永远不会关闭我想要它做的轮廓 .

我尝试了另一种使用 Imgproc.convexHull() 的方法,它提供了这个方法:ConvexHull . 这可能对我有用,但我不知道如何取出我需要的凸包部分并将其与轮廓合并在一起以关闭它 .

我希望有人有个主意 .

这是我的Imgproc.approxPolyDP()方法

public static ArrayList makeComplete(Mat mat) {

System.out.println("makeComplete: START");

Mat dst = new Mat();

Core.copyMakeBorder(mat, dst, 10, 10, 10, 10, Core.BORDER_CONSTANT);

ArrayList cnts = Tools.getContours(dst);

ArrayList opened = new ArrayList<>();

//convert

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值