问题标签 [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.
java - Java中的OpenCV自适应阈值
javadoc提到自适应阈值函数的签名为
我需要以某种方式自动输入特定图像的值blockSize
和(偏移量)。C
所以我得到了一个彩色图像,我将其转换为灰度,然后应用自适应阈值作为 OCR 的预处理步骤。
目前,我对值进行硬编码,blocksize
并C
查看什么给了我更好的结果,然后确定该值。有没有办法以某种方式找到这些参数的最佳(或更好)值,以便给定灰度图像,我的算法知道什么是blocksize
“C”的好值。
PS:我使用的自适应阈值方法是ADAPTIVE_THRESH_MEAN_C
。
matlab - 如何使用模糊逻辑在 MATLAB 中分析两个图像?
我有两个灰度图像 I1 和 I2,以及三个模糊规则。规则是:
- IF I1 灰度值低AND I2 灰度值低THEN case A
- IF I1 灰度值高AND I2 灰度值高THEN case B
- IF I1 灰度值高AND I2 灰度值低THEN case C
问题 1:如何将其作为基于模糊逻辑的决策来实现?
现在的情况是 I1 遵循一个明显的双模态直方图(因此可以很容易地使用一个简单的阈值来以布尔方式在低灰度值和高灰度值之间做出决定),而 I2 遵循一个几乎是瑞利形状的衰减直方图,其中一个简单的阈值不是那么容易找到的(模糊逻辑的美在这里可能发挥作用)。
问题2:这些情况下的隶属函数应该如何设计?以及如何将它们分别合并以做出最终决定?
实际上,我的主要兴趣是基于这个简单的例子来理解模糊逻辑的应用,但如果它有助于使用 MATLAB 中可用的功能,这将是一种资产。
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
c# - 如何使用 Emugu CV 对图像进行自适应高斯阈值化?
我正在浏览Emugu CV的文档,但找不到要使用的东西。有人可以向我展示一些有关如何将其用于自适应高斯阈值的示例吗?
matlab - 自适应阈值 Matlab-Opencv
我想通过matlab在8位单通道uint8图像上应用cv.adaptiveThreshold(opencv),但我总是出错。我已经尝试了以下网站的代码:https ://kyamagu.github.io/mexopencv/matlab/adaptiveThreshold.html
它给了我没有足够的输入参数的错误。当我这样运行时:
它工作正常,但这不是我想要的。我不想应用默认方法和标准。
谢谢您的帮助。
opencv - 在白色背景上查找形状。细化线条
我有以下图像作为测试图像:
我试图找到图像(和其他图像)上的形状。我现在的方法如下:
- 具有 3x3 内核的高斯模糊
- 使用列表进行精明边缘检测(获取所有形状)
- Morphology 与 MorphOp.Close 关闭边缘
- FindContours 查找轮廓
- 每个轮廓的迭代:
- 查找 ApproxPolyDP
- 找到 ConvexHull
- 如果船体尺寸 < 2、大约面积 < 200 或船体尺寸 > 50000 或弧长大约 < 100,则丢弃
- 绘制凸包
这几乎是完美的,但请注意,这些线条被视为轮廓事件->供应商和事件->文档)。查看边缘信息时,很明显为什么会这样:
线条被检测为轮廓。我如何准备/找到形状以便检测不到线条?我虽然有一些细化算法,但由于我也在处理现实生活中的图像,所以很难找到一个有效的阈值。这是一个现实生活图像的示例,其中很难进行细化,因为细化通常要求图像是黑白单色的。
你会怎么做?有什么方法可以确定轮廓/凸包是线、矩形还是类似的东西?
java - 使用 Java opencv 连接图像中检测到的皱纹的折线
我正在开发一个程序来检测从高分辨率相机拍摄的图像中的皱纹。目前,该项目处于启动阶段。到目前为止,我已经执行了以下步骤:
- 转换为灰度并对比图像。
- 使用高斯模糊去除噪点。
- 应用自适应阈值来检测皱纹。
- 使用膨胀来增强检测到的皱纹的大小,并尽可能多地连接单个皱纹的不同元素。
- 通过找到轮廓并去除面积较小的轮廓来去除噪音。
这是相同的代码:
问题: 正如您从下图中显示的结果中看到的那样,皮肤上的单个皱纹正在分解成单独的小元素。在这里,我试图通过扩张来连接这些元素以显示完整的皱纹。完成后,我首先检测轮廓,计算轮廓的面积,然后去除面积小于特定值的轮廓,从而消除噪声。
然而,这并没有给我一个正确的结果,所以我觉得可能有一些更好的方法来连接破碎的皱纹元素。请帮我解决这个问题。
如果这个问题有任何问题,请原谅我,因为我真的需要一个解决方案,而且我是这里的新手。
以下是图片: