问题标签 [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 投票
0 回答
757 浏览

java - Java中的OpenCV自适应阈值

javadoc提到自适应阈值函数的签名为

我需要以某种方式自动输入特定图像的值blockSize和(偏移量)。C所以我得到了一个彩色图像,我将其转换为灰度,然后应用自适应阈值作为 OCR 的预处理步骤。

目前,我对值进行硬编码,blocksizeC查看什么给了我更好的结果,然后确定该值。有没有办法以某种方式找到这些参数的最佳(或更好)值,以便给定灰度图像,我的算法知道什么是blocksize“C”的好值。

PS:我使用的自适应阈值方法是ADAPTIVE_THRESH_MEAN_C

0 投票
0 回答
236 浏览

matlab - 如何使用模糊逻辑在 MATLAB 中分析两个图像?

我有两个灰度图像 I1 和 I2,以及三个模糊规则。规则是:

  1. IF I1 灰度值AND I2 灰度值THEN case A
  2. IF I1 灰度值AND I2 灰度值THEN case B
  3. IF I1 灰度值AND I2 灰度值THEN case C

问题 1:如何将其作为基于模糊逻辑的决策来实现?

现在的情况是 I1 遵循一个明显的双模态直方图(因此可以很容易地使用一个简单的阈值来以布尔方式在低灰度值和高灰度值之间做出决定),而 I2 遵循一个几乎是瑞利形状的衰减直方图,其中一个简单的阈值不是那么容易找到的(模糊逻辑的美在这里可能发挥作用)。

问题2:这些情况下的隶属函数应该如何设计?以及如何将它们分别合并以做出最终决定?

实际上,我的主要兴趣是基于这个简单的例子来理解模糊逻辑的应用,但如果它有助于使用 MATLAB 中可用的功能,这将是一种资产。

0 投票
3 回答
3825 浏览

ios - 自适应阈值 CIKernel/CIFilter iOS

为了找到在 iOS 上执行自适应阈值处理的内核,我进行了全面研究。不幸的是,我不理解内核语言或它背后的逻辑。下面,我找到了一个执行阈值的例程(https://gist.github.com/xhruso00/a3f8a9c8ae7e33b8b23d

是否可以将其重写为自适应阈值内核?我提供给它的图像已经变成了黑白并且已经模糊了。你有什么资源可以指点我吗?我想坚持使用 CoreImage,因为我的整个堆栈都是围绕它构建的。

编辑:我试图实现的最佳示例/参考已在 GPUImage 的 GPUImageAdaptiveThresholdFilter 中实现 - https://github.com/BradLarson/GPUImage/blob/c5f0914152419437869c35e29858773b1a06083c/framework/Source/GPUImageAdaptiveThresholdFilter.m

0 投票
0 回答
311 浏览

opencv - 自适应阈值崩溃

我正在使用分割字符

我也在使用

问题是,对于某些图像,在BINARY_INV我将参数设置为之前会崩溃81,-35 ,对于某些图像,它与BINARY

例如,第一个“上部”图像显示BINARY设置为81,-35BINARY_INV到的结果81,-80

更改BINARY121,-35BINARY_INV更改81,-80将导致图像的第二行->在第二个图像处崩溃且没有错误

BINARY_INV将to81,-35BINARYto更改121,-80为最后一张图像

我正在提供代码以使自己更清楚自己在做什么。

我现在对正在发生的事情感到完全困惑。谁能告诉我我做错了什么?

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
415 浏览

ios - 对具有明亮区域的图像进行阈值处理

我正在使用 openCV 为 iOS 开发一个应用程序,它从监视器中拍照并提取曲线,但是当图像在阈值处理后有一些明亮区域时,我没有得到完整的曲线,而是一些黑色区域

原始图像

阈值处理后的图像

那么当图像有一些像示例这样的明亮区域时,我如何处理图像以提取曲线

0 投票
1 回答
2702 浏览

c# - 如何使用 Emugu CV 对图像进行自适应高斯阈值化?

我正在浏览Emugu CV的文档,但找不到要使用的东西。有人可以向我展示一些有关如何将其用于自适应高斯阈值的示例吗?

0 投票
1 回答
465 浏览

matlab - 自适应阈值 Matlab-Opencv

我想通过matlab在8位单通道uint8图像上应用cv.adaptiveThreshold(opencv),但我总是出错。我已经尝试了以下网站的代码:https ://kyamagu.github.io/mexopencv/matlab/adaptiveThreshold.html

它给了我没有足够的输入参数的错误。当我这样运行时:

它工作正常,但这不是我想要的。我不想应用默认方法和标准。

谢谢您的帮助。

0 投票
1 回答
3077 浏览

opencv - 使用opencv获取图像的较暗线条

我们怎样才能去除图像中较亮的线条而只得到较暗的线条?

下图中有一个数独游戏(取自此处)。自适应高斯阈值提供了非常好的结果,但它也包括灰色(较浅)线。

注意:我尝试了 canny,但它也删除了数字。

ee

0 投票
1 回答
382 浏览

opencv - 在白色背景上查找形状。细化线条

我有以下图像作为测试图像:

在此处输入图像描述

我试图找到图像(和其他图像)上的形状。我现在的方法如下:

  1. 具有 3x3 内核的高斯模糊
  2. 使用列表进行精明边缘检测(获取所有形状)
  3. Morphology 与 MorphOp.Close 关闭边缘
  4. FindContours 查找轮廓
  5. 每个轮廓的迭代:
    1. 查找 ApproxPolyDP
    2. 找到 ConvexHull
    3. 如果船体尺寸 < 2、大约面积 < 200 或船体尺寸 > 50000 或弧长大约 < 100,则丢弃
    4. 绘制凸包

此方法产生以下图像,其中绘制了凸包: 在此处输入图像描述

这几乎是完美的,但请注意,这些线条被视为轮廓事件->供应商和事件->文档)。查看边缘信息时,很明显为什么会这样:

在此处输入图像描述

线条被检测为轮廓。我如何准备/找到形状以便检测不到线条?我虽然有一些细化算法,但由于我也在处理现实生活中的图像,所以很难找到一个有效的阈值。这是一个现实生活图像的示例,其中很难进行细化,因为细化通常要求图像是黑白单色的。

在此处输入图像描述

你会怎么做?有什么方法可以确定轮廓/凸包是线、矩形还是类似的东西?

0 投票
0 回答
976 浏览

java - 使用 Java opencv 连接图像中检测到的皱纹的折线

我正在开发一个程序来检测从高分辨率相机拍摄的图像中的皱纹。目前,该项目处于启动阶段。到目前为止,我已经执行了以下步骤:

  1. 转换为灰度并对比图像。
  2. 使用高斯模糊去除噪点。
  3. 应用自适应阈值来检测皱纹。
  4. 使用膨胀来增强检测到的皱纹的大小,并尽可能多地连接单个皱纹的不同元素。
  5. 通过找到轮廓并去除面积较小的轮廓来去除噪音。

这是相同的代码:

问题: 正如您从下图中显示的结果中看到的那样,皮肤上的单个皱纹正在分解成单独的小元素。在这里,我试图通过扩张来连接这些元素以显示完整的皱纹。完成后,我首先检测轮廓,计算轮廓的面积,然后去除面积小于特定值的轮廓,从而消除噪声。

然而,这并没有给我一个正确的结果,所以我觉得可能有一些更好的方法来连接破碎的皱纹元素。请帮我解决这个问题。

如果这个问题有任何问题,请原谅我,因为我真的需要一个解决方案,而且我是这里的新手。

以下是图片:

输入图像 得到轮廓并通过寻找轮廓区域去除噪声后