问题标签 [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.
python - Bradley 自适应阈值算法
我目前正在实施一种称为Bradley Adaptive Thresholding
.
为了弄清楚如何实现这个算法,我主要关注了两个链接。我还成功地实现了另外两种阈值算法,主要是Otsu 方法和平衡直方图阈值。
这是我为了创建Bradley Adaptive Thresholding
算法而一直关注的两个链接。
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.420.7883&rep=rep1&type=pdf
这是Python
我运行算法并保存图像的源代码部分。我使用Python Imaging Library
和没有其他工具来完成我想做的事情。
这是我的代码部分,它说明了您以前没有见过的这些 set 和 get 方法的实现。
最后,这是输入和输出图像。这些图片与我提供给您的第一个链接中的原始研究论文中使用的图片相同。注意:输出图像几乎是全白的,可能很难看清,但我还是提供了它,以防万一有人真的想要它作为参考。
algorithm - 布拉德利自适应阈值——困惑(问题)
关于 Bradley 实施的自适应阈值,我有一些问题,可能很愚蠢。我已经阅读了关于它的论文http://people.scs.carleton.ca:8008/~roth/iit-publications-iti/docs/gerh-50002.pdf我有点困惑。主要是关于这个说法:
假设我们有这个输入:
让我们这么说:
所以这意味着我们有一个 3x3 的窗口,对吧?然后:
那什么是计数?如果是窗口中的像素数,为什么是 2*2=4,而不是根据算法的 3*3=9?此外,为什么像素的原始值乘以计数?
论文说该值与周围像素的平均值进行比较,为什么不是
然后?
有人可以向我解释一下吗?这可能是一个非常愚蠢的问题,但我无法弄清楚。
c++ - OpenCV / C++ - 如何在向量上使用adaptiveThreshold而不是Mat?
我有一个关于在 C++ 中使用OpenCVadaptiveThreshold
中的函数的问题。(这是它的文档。)
读完这篇文章,我很清楚如何使用这个函数来找到一个好的图像阈值(在OpenVC中表示为Mat
对象)。
我的情况有点不同,因为我只想将它用于 avector
而不是 a Mat
。所以基本上我有一个vector
值double
,我需要找到一个好的阈值,并且想知道是否有一种简单的方法可以adaptiveThreshold
针对这个问题调整函数。我尝试了更多静态方法来生成阈值,例如使用平均平均值或中位数,但在我的情况下这些方法效果不佳。
有人对如何解决这个问题有建议吗?我猜我将不得不调整src
anddst
参数并以某种方式传递我的向量,但是这样做的直接方法不起作用。
c++ - 对于大于 255 的值(即类型 CV_8UC1),如何使用 OpenCV 中的adaptiveThreshold?
我想使用OpenCVadaptiveThreshold
中的函数来确定 a 中值的适当的本地阈值。vector<double>
adaptiveThreshold
在文档中指定如下:
请注意,src
它必须是Source 8-bit 单通道图像(所以如果我理解正确,输入需要是类型CV_8UC1
,如果我在这里错了,请纠正我......)。
由于 myvector<double>
不是 type CV_8UC1
,解决此问题的一种方法是将范围内的值归一化0
,255
然后将生成的归一化值作为 avector<unsigned char>
输入到adaptiveThreshold
函数中。
乍一看这可能看起来不错,但随着我原始值中的值vector<double>
变得非常大并归一化到 to 的范围内0
,它会带来很大的精度损失255
。
所以,我想知道是否没有选项可以将该adaptiveThreshold
函数用于更广泛的值。对我来说这似乎太不合逻辑了,它应该只适用于最大值255
......感觉就像我监督了一些非常简单的事情,但我不知道如何解决这个问题......
python - 自适应阈值 ---ValueError: 太多值无法解包
我在图像处理方面非常业余。我可以成功地进行正常阈值处理,但是我在自适应阈值处理中遇到了错误。这是我的代码:
错误信息:
任何帮助表示赞赏。
image-processing - 对 RGB 图像进行阈值处理
我们有一个 RGB 图像。我想对其应用自适应阈值。我们怎样才能找到阈值???我认为我们可以分别找到每个通道的阈值,但接下来会发生什么混乱?或者,如果您可以提供一些更好的解决方案,那将是可观的。谢谢。
javascript - Javascript Bradley 自适应阈值实现
我一直在尝试实施布拉德利自适应阈值。我知道其中一个堆栈溢出问题中有一个 python 代码。但是我正在努力通过遵循这一点在 JS 中实现相同的功能。谁能帮帮我吗?到目前为止,我的代码是:
我得到非常糟糕的图像。我应该说我不能把它称为图像。
opencv - 在 opencv 中使用较新的算法进行图像二值化
我想对低质量的图像进行二值化,发现现有的解决方案或程序是全局和局部二值化技术的实现,例如 Sauvola 方法、NiBlack 方法等,并没有多大用处。
我确实找到了一些关于更好方法的好论文,例如论文中给出的方法:1)http://www.ski.org/sites/default/files/publications/wacv11-display-reader.pdf#cite.adap -binar 2) https://www.jstage.jst.go.jp/article/elex/1/16/1_16_501/_pdf
但是我之前没有在图像处理方面做过很多工作,所以我想知道如何继续实现它以及实现这些算法需要什么知识
c++ - OpenCV 自适应阈值化 HSV 图像
我们(我的团队和我)希望能够追踪一只手(主要是食指尖)。手的颜色与图片中的脸基本相同,但正如您所见,我们得到的很多噪点也是如此。它在手后有黑色“屏幕”时效果很好。
现在的问题是自适应阈值仅对灰度图像有用,因此不能很好地检测到手。
我试过谷歌搜索 HSV 自适应阈值但没有运气,所以我认为 stackoverflow 有一些好主意。
编辑:当前 HSV -> 二进制阈值: