问题标签 [adaptive-threshold]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
19625 浏览

matlab - 自适应阈值 - 最小误差阈值方法的实现

我正在尝试在 MATLAB 中实现以下最小错误阈值(由 J. Kittler 和 J. Illingworth 编写)方法。

你可以看看PDF:

我的代码是:

我在下面的图片上试过了: 信件

原始尺寸图像

目标是提取字母的二进制图像(Hebrew Letters)。我将代码应用于图像的子块(40 x 40)。然而,我得到的结果不如K-Means Clustering method

我错过了什么?有人有更好的主意吗?

谢谢。

PS有人会在主题标签中添加“自适应阈值”吗(我不能,因为我是新手)。

0 投票
2 回答
3749 浏览

opencv - 自适应阈值后断开的轮廓

我想自适应地对该图像进行阈值化,以使用findContours()OpenCV 找到外边界。我使用自适应阈值的原因通常是:全局阈值,即使使用 Otsu 的方法,也不能充分补偿图像不同部分之间的亮度差异。

在此处输入图像描述

不幸的是,自适应阈值处理会在某些具有粗网格线的交叉点处产生破损。这是因为,对于交叉点处的像素,粗网格线占据了太多周围区域,以至于局部阈值高于交叉点处像素的(仅中等暗)值。令人惊讶的是,即使对于大阈值窗口,这种效果在某种程度上仍然有效。

在此处输入图像描述

当然,这使得自适应阈值对于在这些类型的图像中寻找轮廓毫无用处。但是,总体而言,它在提出连接边缘方面仍然比 Canny 等其他算法要好得多。

通过手动填充图像中的所有一像素和两像素间隙,我已经能够在自适应阈值处理后重新连接边缘(我实际上是在按比例缩小的图像上设置阈值以节省运行时间;在上面的完整图像中,间隙更大-尺寸图像)。这是我使用的 OpenCV 代码(为 Android 绑定编写的)。0 为黑色,-1 为白色。

这是填充间隙之前和之后的缩小图像:

在此处输入图像描述 在此处输入图像描述

虽然这在这里工作得很好,但它是一种粗略的技术,不能填补所有的空白,有时还会将网格与其他附近的轮廓连接起来。

在自适应阈值之后避免断开轮廓的可靠方法是什么?

0 投票
4 回答
12261 浏览

opencv - 具有模糊图像的自适应阈值

我正在寻找图像二值化的最佳自适应阈值方法。但是我对黑暗和模糊的图像有任何问题。
输入图像:
让图像加载...

当我使用自适应阈值方法时,我收到此
输出图像
让图像加载...

这对我不好!
那么,有人可以帮我解决这个问题吗?


另一张图片:在此处输入图像描述

和 :在此处输入图像描述

@Hammer'solution 的第一个看起来非常糟糕(我必须选择 c 通道),第二个我可以使用自适应阈值正常。
所以我想为所有情况找到最佳解决方案。

再次感谢!

0 投票
1 回答
297 浏览

matlab - tiff 堆栈的阈值查看整个堆栈而不是单个 tiff 图像

我有一个 tiff 堆栈(b/w),当我从 imageJ 中的堆栈中打开单个图像时,对比度是完美的,但是,当我打开整个堆栈(移动物体的图像序列)时,最后的对比度很糟糕幻灯片(当然,荧光已经褪色了)。在 Matlab 或 imageJ 中是否有办法确保对比度不是由整个堆栈决定,而是由堆栈中的单个图像决定(这样亮度的变化就不再存在了)。

让我知道如何更好地解释。这是一个非常简单的问题,但我不知道不看有多么容易理解。

谢谢

0 投票
2 回答
1804 浏览

matlab - 如何从 X 射线图像中分割骨骼?

我想从我的手部 X 射线图像中去除皮肤颗粒。我希望骨骼为白色,所有其他区域(包括 X 射线中的皮肤区域)为黑色。我正在垫实验室做我的项目。

0 投票
0 回答
1218 浏览

c# - 二值化劣质图像

更新的问题:

是否可以将此图像二值化?我有一张图片列表,和这张图片一模一样。

我希望图像只有黑白值。

更新:

我试图对图像进行二值化并去除噪点,但这就是我得到的。 在此处输入图像描述

我尝试使用它,因为它是我发现的最简单的方法,但我认为效率不够。它来自 Aforge.net 库。我使用了 SISThreshold,因为我无法让 otsu 阈值工作,而 Otsu 是我最熟悉的。

希望你能给我更好的方法或其他方法来清理它们。谢谢!

0 投票
1 回答
1566 浏览

python - Python Opecv2 中的各种阈值方法实现

我想比较各种阈值方法的性能。从字面上看,我发现各种阈值方法是

  • 基于直方图形状的方法(例如:- Otsu 方法)
  • 基于聚类的方法
  • 基于熵的方法
  • 属性相似性方法
  • 局部自适应阈值

我不知道 python opencv2 是否有上述阈值方法的实现。任何其他python库都有它的实现吗?

我找到了一些链接,但那是非常基本的:-
http://docs.opencv.org/doc/tutorials/imgproc/threshold/threshold.html http://opencvpython.blogspot.in/2013/05/thresholding.html
(局部阈值,全局阈值,自适应阈值,二进制,二进制反转等,只存在于python opencv中。我发现)

谁能帮我实现上述阈值类型?或者有什么想法可以完成我的任务?

提前谢谢...

0 投票
1 回答
2776 浏览

neural-network - 输出层的神经元数量

我是人工神经网络的新手,但请帮我解决这个问题?

我正在尝试实现用于字符识别的人工神经网络(使用 MLP 和 SNN),我是否需要在输出层中具有与需要识别的字符数量相同数量的神经元。例如,如果我希望我的网络能够识别大写字母、小写字母和数字,我是否需要在输出层有 26+26+10 个神经元。

如果我必须识别 Unicode 字符集中的所有字符,我需要多少输出层中的神经元。

是否有任何方法(动态阈值)来减少这个数字或在输出层动态添加神经元?

如果可能,请提供研究文章的链接。谢谢。

0 投票
2 回答
21225 浏览

c++ - openCV AdaptiveThreshold 与 Otsu 阈值。投资回报率

我尝试使用这两种方法,但似乎自适应阈值似乎给出了更好的结果。我用了

在原始图像上,只有我使用了阈值。

有什么我可以用 Otsu 方法调整的东西,以使图像更好,比如自适应阈值处理?还有一件事,侧面有一些不需要的指纹残留物,知道我该如何处理它们吗?

我从期刊上读到,通过比较自定义正方形中白色像素的百分比,我可以得到 ROI。然而,这种方法需要我有一个阈值,可以使用 OTSU 方法找到,但我不太确定 AdaptiveThresholding。

结果 :

原来的自适应

原来的 大津

0 投票
1 回答
4488 浏览

java - 自适应阈值给出错误(opencv,java)

我正在尝试对图像进行自适应阈值处理,但它给了我这个错误:

我似乎无法理解为什么,这是我的代码: