opencv - 使用引用图像从二值图像确定对象(手)的宽度

标签 opencv computer-vision object-detection

我想找到人手的宽度,但卡在手上的洞上。

我有一只手的图片并找到了它的二进制文件。手上有一个圆圈,其半径和中心已知(引用对象)。我想找到手的宽度,但它上面有一些补丁(孔),这阻碍了找到手的最佳宽度。

这是我目前能做的

手图

enter image description here

Binary Image

我试过选择手的 roi 来找到宽度,但是图像中的孔无法让我找到宽度

Hand Roi (Rectangles)

我也试过让他们排队,但没办法

Hand Roi (Lines)

最佳答案

如果有彩色图像,分割手和硬币会容易得多。无论如何,这是输出和方法:

enter image description here enter image description here

  1. 分割出您需要找到比较的部分
  2. 查找轮廓并绘制边界矩形或最佳拟合圆。你 可以使用这个长度、宽度或半径作为度量来查找比较实际尺寸。在这种情况下,一个是 53,另一个是 172(我猜)
  3. 除以长度并乘以已知的尺寸值。

注意:如果您需要准确的值,请不要依赖此方法,因为在测量时可能需要考虑很多因素,例如视差等。

在这种情况下,使用宽度会是更好的近似值

为了分割,我必须对图像进行高增强滤波,多次侵 eclipse 和膨胀,最终在一定程度上去除背景,然后达到阈值。对于硬币,锐化、扩张和阈值。 Shiny 的角落帮助解决了问题。如何分割图像取决于您在其中使用的内容。如果你想用相似的图像自动化这个过程,那么我们应该看到更好的方法

关于opencv - 使用引用图像从二值图像确定对象(手)的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45793234/

相关文章:

python - 如何使用OpenCV检测具有相同颜色的像素区域

python - 如何为opencv安装gstreamer 1.0 badplugin?

python-2.7 - 在 Anaconda 中安装 opencv python 包

python - 使用 python-opencv 的水平和垂直边缘轮廓

iphone - 重构图像中矩形对象的纵横比

python - 物体检测分类报告

python - 在 Python OpenCV 中查找 connectedComponents 的颜色

image-processing - 我可以使用哪些库来修改视频?

python - 通过 PILLOW 库从图像中提取检测到的对象

opencv - 前景蒙版图像的视差图