测试图像我编写了一个 Python 脚本,该脚本使用随附的测试图像手动对图像进行侵蚀形态学操作,但是当我同时显示原始图像和更改后的图像时,即使认为它应该被侵蚀,最后一个看起来仍然相同。 我有 3 个功能,我的主要 function、RGB 到灰度转换 function 和侵蚀 function。 ...
测试图像我编写了一个 Python 脚本,该脚本使用随附的测试图像手动对图像进行侵蚀形态学操作,但是当我同时显示原始图像和更改后的图像时,即使认为它应该被侵蚀,最后一个看起来仍然相同。 我有 3 个功能,我的主要 function、RGB 到灰度转换 function 和侵蚀 function。 ...
我正在处理形态学操作。我有一个 Matlab 脚本,它使用 function strel strel('form', w)生成结构元素,其中 SE 的形式可以是line 、 disk 、 diamond 、 square或其他形式(I至少需要 function 才能生成这 4 种形式), w是为 ...
我正在尝试检测扑克牌并将它们转换为使用 python opencv 鸟瞰卡片。 我的代码适用于简单的案例,但我并没有停留在简单的案例上,而是想尝试更复杂的案例。 我在为卡片找到正确的轮廓时遇到问题。这是我试图检测卡片并绘制轮廓的附加图像: 我的代码:path1 = "F:\\ComputerVi ...
我有以下图像(图像全黑,不要介意边框) 我只想留下(1 像素宽)线,并摆脱所有点(其中一些实际上是几个像素)。 我知道这很容易,但我现在没有想法:( 我试过的: 开放的形态学操作(侵蚀+扩张) - 让我一无所有或相同 blob 检测 - 这样做可能会在膨胀后工作,但它会崩溃而没有错误(Windo ...
我有以下图像,其中我检测到了边界,代表 7 个圆圈。 在我看来,识别上面的圆圈相当容易,但我无法使用 opencv 霍夫变换检测所有圆圈。 这是我尝试过的: 根据我在 function 上输入的参数,我要么得到中心圆,要么得到外圆,要么得到很多圆。 你们有没有一组参数可以让 output 所有圈子? ...
您能否建议我如何通过 Matlab 中的重建来实现形态关闭? 据我所知,imreconstruct命令可用于通过重建实现开放(在我的重建开放代码下方)。 以下是我为关闭重建编写的代码: 但是代码不能正常工作。 你能告诉我我的错误是什么,所以我可以解决它吗? ...
您能否建议我可以使用哪种图像处理变换来纠正文本扫描后的字符模糊? 之后,我计划使用顶帽变换去除不均匀的背景照明。 ...
我已经使用深度学习进行了分割,之后,我注意到有时分割的形状似乎很好,有时,它需要更多的形态学操作后处理。 分段的形状是一个环,在极少数情况下是实心圆,如附图所示。 当这个环分割是闭合形状时,没有问题,但是当环打开时就有问题,因为我无法正确测量内部面积(环内)并且面积计算是整个项目的目标. 那么如何 ...
我正在尝试使用 Morphological top-hat 操作来纠正文本文档中不均匀的背景照明。 应用 Top hat 后,我得到的分析结果比原始图像更差。 你能告诉我我做错了什么吗? ...
我创建了一个蒙版来仅提取图像的红色部分。 结果如下所示: 我只想保留最大的白色簇(并删除所有其他较小的簇)。 我查看了morphology.remove_small_objects 以删除其他文化,但有时这些第二个集群的大小几乎与最大的一个集群一样大。 所以我需要另一种方法来摆脱它们。 ...
我有下面的图像,我确实喜欢计算环内的像素以获得该区域。 我做了一些形态学操作作为一种后处理,以使图像尽可能具有清晰平滑的边缘。 正如您在下面的代码中看到的那样,我尝试以不同的方式做到这一点,但它们都不是最佳的。 你能告诉我如何计算圆的像素内部区域吗? 注意:里面的一些像素不是全黑的,它们的强度很 ...
我已经从眼底图像中分割了血管 map,但它在血管之间包含许多不需要的孔,有人可以建议任何方法来填充孔和平滑图像 ...
我试图了解如何控制扩张的 OpenCV 中的 kernel 锚。 这是我的示例代码来解释我的想法: 这是对应的output: 当我将 kernel 锚更改为(0, 1)时, 我希望膨胀会向上,但我得到的结果完全相同。 有人对此有解释吗? 提前致谢! ...
我有一个像这样的代码: 我得到以下输出: 关闭块1: 关闭块2: 但后来我看到了这个。 它说: 根据冈萨雷斯的“数字图像处理,第 3 版”,开/关的多次应用在第一次应用后没有任何效果! 但这不是我得到的结果。 我得到 1 对 3 次迭代,并得到不同的结果。 我做错了什么或误解了什么? ...
我有一张图片,要求我计算圆圈的数量。 我能够将其简化为这张图片: 现在我可以使用连接组件的数量来得到答案。 没关系。 但是是否有可能只使用形态学操作来做到这一点? (就像以某种方式获得这些“圆圈”的“中心”,然后简单地计算像素) ...
假设我有一个二值图像,表示为numpy矩阵,其中像素为背景 (0) 或前景 (1)。 我正在寻找一种方法来删除前景中没有任何最近邻居的所有像素。 假设,图像矩阵是: 单个像素删除后的结果图像应该是 到目前为止,我的方法是对所有可能的方向进行开口组合: 另一种方法是标记连接的组件并按索引删除它们,但是 ...
给定一个值从 0 到n的二维数组,我想通过它包含的值来扩张每个像素,在扩张过程中,较高的值应该覆盖较低的值。 也就是说,半径内的任何像素等于一个像素的值,如果它们的值较小,则继承该值。 例如,如果输入是[0 1 0 2 0 0] ,则输出将是[1 2 2 2 2 2 ] 。 如何实施? ...
我想为附加图像提取 2 个蒙版中的水平线和垂直线。 我尝试过形态学操作来做到这一点, 但问题是,它将线检测为矩形,然后以2条线代表矩形2条边的形式绘制它。 有什么想法可以解决这个问题吗? 图片: 横向结果: 垂直结果: 编辑:那是我的另一张图片: ...
我正在处理手写数字识别问题,使用 OpenCV 进行预处理,使用 Keras/Tensorflow 进行推理。 我遇到了在预处理中丢失某些功能的问题,其中大致包括: 大津阈值 膨胀(使数字粗细与我用来预训练神经网络的另一个数据集相同) 使用 cv2.INTER_AREA 缩小到 28x2 ...
我正在使用 opencv(版本 4.1.0,使用 Python 3.7)对二进制图像执行形态学关闭。 我在使用大的闭合内核时遇到边界问题。 我的代码是: 我阅读了这个问题和这个问题,还有文档,这使我也尝试像这样更改morphologyEx()的borderValue参数 但是这两种方法都不 ...