问题标签 [image-thresholding]

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 投票
1 回答
251 浏览

python - Scikit 图像 otsu 阈值处理产生零阈值

我正在对图像进行一些预处理,在图像上应用Otsu 阈值处理后,我的阈值为零,而在另一个图像上它工作正常

HS-1-G-01.tif 在此处输入图像描述

阈值:0

original_1_1.png 在此处输入图像描述

门槛:204

0 投票
1 回答
175 浏览

python - 将图像转换为二进制不显示足球场的白线

我受到以下博客文章的启发,但是我在第 2/3 步中苦苦挣扎。我想根据阈值从灰度图像创建二值图像,并最终在图像上显示所有白线。我想要的输出如下所示:

在此处输入图像描述

首先,我想通过使用颜色阈值和形态来隔离足球场。

这给出了以下输出:

在此处输入图像描述

到目前为止,我对结果感到满意,但由于阴影很大,我grayscale在拍照时正在努力进行图像处理。因此,二元阈值是基于左上角的阳光部分而不是足球场周围的白线。

在此处输入图像描述

按照教程中的方法,我得到以下简单阈值的输出: 在此处输入图像描述

和自适应阈值:

在此处输入图像描述

最后,Otsu 的阈值:

在此处输入图像描述

如何确保白线变得更加明显?我正在考虑裁剪框架,所以我只能看到该字段,然后使用基于白色的蒙版。不幸的是,这并没有成功。

非常感谢您的帮助,

0 投票
1 回答
693 浏览

python - 使用 OpenCV 和 Python 提取楼层布局和阈值

我尝试使用SSIM提取两个图像之间的差异以仅获取地板区域(image_a是原始图像,而image_b已绘制地板)。

预期的输出是阈值掩码。

我遇到的问题是 ssim 差异的阈值在我的情况下不起作用(示例如下所示)。

有人可以提供更好的阈值技术或理论吗?

检测到最大轮廓 的 image_a 检测到最大轮廓的 image_b阈值在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

0 投票
2 回答
1514 浏览

python - 检查像素是否在opencv python中的连接组件内

我正在对给我一些白色区域的图像进行阈值处理。我有一个位于这些区域之一的像素位置。我正在使用opencvconnectedComponentsWithStats获取区域,然后查找像素是否在这些区域中的任何一个中。我怎样才能做到这一点?

关于这一点,是否有更好的方法来找到该像素位于哪个阈值区域?

0 投票
2 回答
653 浏览

python - 从python中的灰度热图创建多色阈值图像

我有一个灰度图像,并希望在 4 个值范围内(0.035、0.7、0.75)对它们进行阈值处理,以 4 种不同的颜色显示。我需要将结果保存为 UINT8 格式的图像。灰度图像信息如下:

在此处输入图像描述

我尝试了以下方法:

这将返回此错误: ValueError: operands could not be broadcast together with shapes (512,512) (3,) (3,)

我通过使用for循环并一一粘贴像素值以某种方式解决了这个问题。但考虑到我将把它应用于大约 4000 张图像这一事实,它并不好并且需要永远。

在此处输入图像描述

有没有更复杂和有效的方法来做到这一点?

0 投票
1 回答
123 浏览

python - 颜色阈值:为什么蒙版会根据指定的限制产生巨大差异?

我们想对 RGB 图像应用颜色阈值:

原始图像

当我们指定下限为[0, 0, 0],上限为时,[255, 255, 255]结果如下:

掩码为 0

并且,当下限为[1, 1, 1]上限时[255, 255, 255],结果如下:

带 1 的面具

为什么一个像素的差异会在遮蔽上造成如此剧烈的变化?

代码:

0 投票
1 回答
413 浏览

matlab - 使用自适应阈值函数在 MATLAB 中进行图像分割

我使用以下函数编写了几行代码:

它给了我一个面具bw。我将此蒙版与原始图像相乘bb并显示结果。

显示原始图像和结果: 在此处输入图像描述 在此处输入图像描述

它似乎没有为我的形象提供任何面具。有什么方法可以从我的结果中提取那些黄色部分?

0 投票
1 回答
336 浏览

python - 二值化后如何从图像中去除粗线条伪影

我遇到了一个问题,我想区分对象和背景(具有带背光的半透明白纸),即在背景中引入一条固定的粗线并与对象合并。我现在的算法是我从相机中获取图像,使用高斯模糊进行平滑处理,然后从 HSV 中提取值分量,使用 wolf 方法应用局部二值化来获取二值化图像,然后使用 OpenCV 连接分量算法删除一些小的伪影没有连接到这里看到的对象。现在只有这条线伪影与对象合并,但我只想要这张图片中看到的对象. 请注意,二进制图像中有 2 行,因此使用 8 个连接的逻辑来检测不形成循环的行是不可能的,这也是我的想法和尝试。这是代码

非常感谢任何以代码形式提供的帮助。

0 投票
1 回答
261 浏览

android - Opencv Android:如何从阈值输出中删除黑色背景?

我正在使用 OpenCV android 库阈值方法进行图像分割,但问题是输出位图包含我不想要的黑色背景,请注意原始图像没有任何黑色背景,它实际上是白色的。我附上代码供您参考,我是opencv的新手,对它不太了解,所以请帮助我。

在此处输入图像描述

0 投票
1 回答
3333 浏览

c++ - 错误:阈值中的断言失败 (src.type() == CV_8UC1)

我已经尝试使用 Otsu 阈值处理实时视频。但是我遇到了这个问题

OpenCV 错误:阈值中的断言失败 (src.type() == CV_8UC1),文件 /home/usr/opencv-3.2.0/modules/imgproc/src/thresh.cpp,第 1356 行终止在抛出实例后调用cv::Exception' what(): /home/usr/opencv-3.2.0/modules/imgproc/src/thresh.cpp:1356: error: (-215) src.type() == CV_8UC1 in function threshold

而且,这是我使用的编码