问题标签 [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 回答
457 浏览

c++ - 为什么 cv::findContours 返回这么多轮廓?

我读过这篇文章,但即使在使用cv::threshold创建一个真正的二值图像之后,我仍然得到大约 500 个轮廓。我究竟做错了什么?

cv::findContours既然有 13 个清晰的斑点,不应该只返回 13 个轮廓吗?

binary_img 在此处输入图像描述

UPDATE1 使用cv::RETR_EXTERNAL而不是cv::RETR_TREE,但仍然返回比应有的更多轮廓。
在此处输入图像描述

0 投票
1 回答
289 浏览

python-3.x - 有没有办法一次将阈值应用于图像 1 行

我正在尝试一次将阈值应用于图像 1 行。我希望能够选择阈值开始和结束的行。前任。如果我有一个 1000 x 1000 的图像,我想从第 200 行开始应用我的阈值并在第 850 行结束。目前我能够将阈值应用到整个图像。

0 投票
1 回答
238 浏览

python - 为什么在一个代码中 cv2.findContours 函数有效,但在另一个代码中无效?

我是计算机视觉的新手,还没有真正完成任何关于阈值或模糊或其他过滤器的教程。我正在使用以下两个代码来找出图像中的轮廓。一方面该方法有效,但另一方面却无效。我需要帮助来理解发生这种情况的原因,以便说服自己在后台发生的事情。

工作代码片段:

不工作的代码片段

如果有人能找出这里发生的错误的原因,我将不胜感激。

我面临的错误是:

Traceback(最近一次调用最后一次):文件“convexhull.py”,第 27 行,在 im2、contours、hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) ValueError: no enough values to unpack (expected 3,得到 2)

让我知道是否还需要任何其他信息。

0 投票
2 回答
636 浏览

python - 如何使用opencv制作剪切/使图像的背景透明?

我正在尝试使用 opencv 在 python 中制作一些云图,并且我需要能够切出阈值图像的背景。但是,我并不特别知道如何使背景透明,只留下蒙面的云彩。

所以,我希望能够拍出这样的图像: 云面具 并使黑色背景透明,同时保持云层不变。我该怎么做?

0 投票
0 回答
86 浏览

python-3.x - 除了选择最大概率类标签之外,对分割图像进行阈值处理有哪些不同的方法

我正在尝试将卫星图像分割成 2 个类以从背景中提取建筑物的足迹。我正在使用二元交叉熵和 sigmoid 激活。我使用最大概率值(CNN 的输出)来分配类标签。有没有比这更好的方法(我没有正确理解分段建筑物的形状)。

我遇到了这个最佳阈值的答案 如何为类概率选择最佳阈值? 哪种方法最适合两类分割?

0 投票
0 回答
203 浏览

image - 如何对图像进行双阈值处理?

我正在用 C++ 实现 Canny 边缘检测。我陷入了双阈值。我已经手动给出了阈值,这对于给定的图像工作正常。但是当我在其他图像上尝试时,阈值不正确并且图像看起来不太好。有没有办法自动获取给定的阈值图片。

0 投票
1 回答
343 浏览

python-3.x - How to pass RGB information to do Thresholding of an image

I am getting mask image and RGB image from Unreal Engine using UnrealCV. Here, I also get the color information(R, G, B) of the object using UnrealCV from the mask image. Now, I want to know how can I pass this RGB information to OpenCV to do the thresholding.

I am doing now this stuff converting the mask image to Grayscale image and then doing the thresholding. But I don't want to do this. I have checked this answer but here image range has used which I also don't want to do. As in the mask image, every object has its unique color information so I just want to be more specific by sending the RGB information of the desired object from the mask image and then want to tell OpenCV to do the thresholding on the color that I have sent to OpenCV thresholding function.

The code used to get the RGB information is --

It will give the mask color and then I want to pass it to OpenCV for the thresholding purpose.

I expect that it will do the thresholding as like as it is now doing on Grayscale image and then I will use the thresholded image to do the contour operation.

0 投票
1 回答
547 浏览

python - 有没有办法用白色填充图像的内部?

例如,在 MATLAB 图像处理工具箱中,我们有imfill函数。我怎样才能在 Python 中做到这一点?

所以我试图分割各种形状并去除内部的黑色。我知道如果我得到了边界,分割仍然很容易,但我也想检测出完美的形状。简而言之,我想删除图像中的黑色覆盖区域,如图所示。

我尝试过使用按位运算、形态变换和填充。我是洪水填充的新手,不知道它是如何工作的。

在此处输入图像描述

这是到目前为止的分割图像。但我希望那些内部黑色区域也用白色填充,以便可以将其识别为实心形状。

0 投票
2 回答
768 浏览

ocr - 为什么 Tesseract OCR 使用 Otsu 二值化?

为什么 Tesseract OCR 引擎使用全局阈值技术,例如 Otsu 二值化?局部阈值技术(例如 Sauvola、Niblack 等)在从图像中删除文本方面不是更有效吗?

0 投票
0 回答
262 浏览

java - 用于伤口检测的 OpenCV 阈值,还有更好的方法吗?

我一直在摆弄 OpenCV 中的凸包,试图检测不规则形状的伤口(以便稍后使用参考标记计算其大小)。问题是伤口颜色不规则导致阈值问题。我无法完全弄清楚我需要什么样的预处理或如何设置适用的颜色范围。

我尝试应用高斯模糊、膨胀和摆弄红色范围,但到目前为止无济于事。

预期结果:https ://i.ibb.co/TrmyDG0/Inkedmotasem2-LI.jpg

实际结果:https ://i.ibb.co/ccdkCkj/motasem2-jpg-copy2.png

我将不胜感激任何提示我朝着正确方向前进!