opencv - 如何从二进制掩码生成 trimap?
问题描述
我现在正在尝试实施这篇论文:
我已经让 FCN 和 CRF 部分正常工作,并且一旦我有了 trimap,我就找到了生成 alpha 掩码的代码。
不过,我被困在(c)和(d)之间的部分。
如何在给定二进制掩码的情况下生成 trimap?论文说:
我们在头发和皮肤的二元分割掩码上应用形态学算子,获得指示前景(头发/皮肤)、背景和未知像素的三元图。为了处理分割不准确的问题,并最好地捕捉前景和背景的外观变化,我们首先用一个小内核侵蚀二进制掩码,然后提取骨架像素作为前景约束像素的一部分。我们还使用更大的内核侵蚀二进制掩码,以获得更多的前景约束像素。最终的前景约束像素是两部分的并集。如果我们只保留第二部分,那么一些细毛区域将在大内核侵蚀后消失。如果一个像素在扩张蒙版之外,那么我们将其作为背景约束像素。标记为未知的所有其他像素,
解决方案
推荐阅读
- sql-server - 无法使用 Citrix 主页的 Visual Studio 建立 SSIS 连接管理器,但能够使用运行选项执行 SSRS 报告
- flutter - Flutter_dotenv 的 FileNotFoundError
- django - “添加另一个”时具有不同字段集的 Django Admin Inlines
- c# - 我如何在 UWP 应用程序中实现 Twain 以扫描文档
- c - 如何在kafka中使用来自主题的特定分区的消息
- python - 我试图在 pygame 上解决这个不流畅和波涛汹涌的动画和动作,我一直在尝试一切,但没有任何效果
- json - 当我 JsonConvert.DeserializeObject 它只是停止在 asp.net 核心中工作
- mysql - 从支付工资表中获取最近 3 个月的记录,其中月份和年份存储在单独的列中
- python - openpyxl.chart 指定多个数据标题
- c# - 升级到 MSTest 2.2.4 后,自动化 selenium 测试停止工作