OpenCV 中的形态重建

2023-12-04

在 OpenCV 中处理带有文本的图像时,我的打开操作不会产生正确的输出数据。该问题与本文中描述的问题非常相似:http://www.cpe.eng.cmu.ac.th/wp-content/uploads/CPE752_06part2.pdf

Screenshot from PDF section

据我所见,人们建议使用重建操作。OpenCV 或一些已知的库/代码中是否有任何内置机制可以实现这一点?


Here's my Python3执行 in 与 MatLab 的类比imreconstruct算法:

import cv2
import numpy as np


def imreconstruct(marker: np.ndarray, mask: np.ndarray, radius: int = 1):
    """Iteratively expand the markers white keeping them limited by the mask during each iteration.

    :param marker: Grayscale image where initial seed is white on black background.
    :param mask: Grayscale mask where the valid area is white on black background.
    :param radius Can be increased to improve expansion speed while causing decreased isolation from nearby areas.
    :returns A copy of the last expansion.
    Written By Semnodime.
    """
    kernel = np.ones(shape=(radius * 2 + 1,) * 2, dtype=np.uint8)
    while True:
        expanded = cv2.dilate(src=marker, kernel=kernel)
        cv2.bitwise_and(src1=expanded, src2=mask, dst=expanded)

        # Termination criterion: Expansion didn't change the image at all
        if (marker == expanded).all():
            return expanded
        marker = expanded
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCV 中的形态重建 的相关文章

  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • 当我使用“control-c”关闭发送对等方的套接字时,为什么接收对等方的套接字不断接收“”

    我是套接字编程的新手 我知道使用 control c 关闭套接字是一个坏习惯 但是为什么在我使用 control c 关闭发送进程后 接收方上的套接字不断接收 在 control c 退出进程后 发送方的套接字不应该关闭吗 谢谢 我知道使用
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • 将 unsigned char * (uint8_t *) 转换为 const char *

    我有一个带有 uint8 t 参数的函数 uint8 t ihex decode uint8 t in size t len uint8 t out uint8 t i hn ln for i 0 i lt len i 2 hn in i
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 为什么我收到“找不到编译动态表达式所需的一种或多种类型。”?

    我有一个已更新的项目 NET 3 5 MVC v2 到 NET 4 0 MVC v3 当我尝试使用或设置时编译出现错误 ViewBag Title财产 找不到编译动态表达式所需的一种或多种类型 您是否缺少对 Microsoft CSharp
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • Tomcat 在 7.0.27 版本之后不支持 blazeds 流式传输?

    我发现我的 Flex 应用程序在 tomcat 版本 subject 之后不再工作 请帮助我解决这个问题 我尝试了很多事情但没有成功 这是我的配置 火焰 4 x Tomcat 最新 7 0 32 爪哇7 应用程序只是挂起 没有任何错误或任何
  • 数据库优先 - Mono 上的 EF6

    Context 我需要在我的本地计算机 Macbook 上运行一个 遗留 Net 应用程序 我们的大部分堆栈是 dotnetcore 但这个特定的应用程序有点旧 虽然我确实意识到可能只启动一个 Windows 虚拟机并在那里构建它会更容易
  • 在 Android 中哪里可以找到保存的图像?

    打扰一下 快速提问 我有这样的视频流例程 我接收数据包 将它们转换为 byte 然后转换为位图 然后将它们显示在屏幕上 dsocket receive packetReceived receive packet byte buff pack
  • 如何使向量的元素唯一? (删除不相邻的重复项)

    我有一个包含一些不相邻重复项的向量 作为一个简单的例子 请考虑 2 1 6 1 4 6 2 1 1 我正在尝试做这个vector通过删除不相邻的重复项并保持元素的顺序来保持唯一性 结果将是 2 1 6 4 我尝试的解决方案是 插入 std
  • 对贝塞尔曲线点进行动画处理

    我正在尝试对用 Paintcode 很棒的应用程序 顺便说一句 制作的贝塞尔曲线进行动画处理 并在 drawRect 方法中的自定义 UIView 中进行绘制 绘图工作正常 但我想为贝塞尔曲线中的单个点设置动画 这是我的非工作方法 void
  • 为什么 ng-content 选择器在 *ngFor 中不起作用

    这是 stackblitz 代码 如你看到的 div div ul number ul div div
  • 已分配值,从未使用过,但没有编译器消息

    整个程序采用 net Web 应用程序的 Web 形式 namespace WebApplication1 public partial class WebForm1 System Web UI Page protected void Pa
  • 从数据库中获取高于平均水平的学生

    我创建了一个视图 其中包含 student full name subject code result Jennifer Higgins CS1234 81 Jennifer Higgins CS1235 90 Kal Penn CS123
  • 致命错误:调用未定义的方法 mysqli::bind_param()

    我在这里挑不出毛病 你帮忙吗 这是我的错误 致命错误 调用未定义的方法 mysqli bind param 我不知道出了什么问题
  • R highcharts 多堆叠条形图

    我想绘制多个堆积条形图 但我不知道如何组合 r 代码 Closing Date Non Current Assets Current Assets Non Current Liabilities 2 2013 12 13637344 130
  • UITableView 从右到左对齐

    我正在为 iphone 3 0 开发一个阿拉伯语应用程序 我想知道是否有一种方法可以将 UITableViewCell 转换为从右到左 我希望一切都向相反的方向发展 有什么想法吗 创建您自己的 UITableViewCell 子类并不难 并
  • ConstraintLayout 对多个水平链的处理方式不同

    我正在尝试设置我认为应该是一个简单的布局ConstraintLayout我有一系列文本条目 其标签的大小可以根据语言的不同而变化 标签右侧有一个屏障 因此即使标签长度发生变化 文本条目也能保持对齐 我希望文本条目具有标称大小 在本示例中 顶
  • 如何在 Python Turtle 中导入图像?

    我想要的是获取一个图像来替换默认的海龟 就像这里所做的那样 http blog trinket io using images in turtle programs 这是我的代码 但我不知道为什么它不起作用 import turtle im
  • 单击通知不会启动活动

    我正在从服务创建通知 显示了通知 但是当我单击它时 没有任何反应 它应该打开一个活动 My code NotificationManager notificationManager NotificationManager getSystem
  • 使用 CORDA 流创建原子事务的最佳方法

    我有一个用例 我需要将数据发送给多个交易对手 但各方需要彼此保持匿名 从交易对手处收回背书后 我需要提交整个交易 整个事务的原子性需要保持 使用 Flows 实现这一目标的最佳方法是什么 为此 您需要使用机密身份 机密身份在状态中由Anon
  • Golang 中的货币格式使用来自 golang.org/x/text/currency 的currency.Symbol

    您好 我正在开发一个以货币格式格式化值的函数 我使用 golang org x text currency 来完成这项工作 但我得到的输出是逗号位置的点 没有千位分隔符 func produto Produto FormataPreco v
  • OSS 许可证插件在启动 OssLicensesMenuActivity 时崩溃

    每个人 我已经使用本教程包含了 Android OSS适用于 Android OSS 许可证的 Google API 进入我的项目 目标sdk版本是27 但我在开始时遇到一个问题Oss许可证菜单活动 我这样做如下 OssLicensesMe
  • 及时只显示一种颜色

    我正在开发油漆应用程序 问题是当我选择颜色和油漆 然后选择不同的颜色时 整个油漆颜色会更改为新颜色 任何人都可以告诉我为什么会发生这种情况以及如何解决这个问题吗 以及如何添加橡皮擦 imageview DrawView在这里 public
  • Switch 语句输出字符串错误

    我遇到了这个基本问题 其中 switch case 与字符串一起使用 Break 语句不在 case 之间使用 但为什么即使它与 case 字符串不匹配 它也会适用于所有 case 所以我很想知道为什么输出是3而不是1 public sta
  • OpenCV 中的形态重建

    在 OpenCV 中处理带有文本的图像时 我的打开操作不会产生正确的输出数据 该问题与本文中描述的问题非常相似 http www cpe eng cmu ac th wp content uploads CPE752 06part2 pdf