如何找到二值图像的最低点?

2024-09-24 02:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在应用了深度学习目标检测和几种图像处理滤波器后,得到了以下图像。 这是图像

enter image description here

我想找到redpoint坐标系。

enter image description here

为了更接近答案,去掉那些不需要的线。我用了一个面具,这是最后的结果。在

我的问题是如何在这张图片的最低点找到一个点?

enter image description here


Tags: 答案图像目标图片图像处理坐标系面具最低点
2条回答

如果我没听错,你想找到图像中非黑色的最低行的行号。所以你可以这样做:

import cv2
import numpy as np

# Load image
img = cv2.imread('tyre.png',cv2.IMREAD_GRAYSCALE)                                           

# Get X, Y coordinates of non-black pixels
y, x = np.nonzero(img)                                                                            

如果您现在查看y,您可以看到第246行是最后一行有任何非黑色像素。在

^{pr2}$

另一种解决方案是使用^{}来检测图像中的圆形形状。在

我使用了一个来自pyimagesearch的示例作为代码的基础,并使用HoughCircles中检测到的圆的输出来添加圆的低部分。结果如下图所示:

lowpointcircle

由于此函数返回[x, y, r](圆的圆心和半径),因此可以很容易地找到圆的最低部分:

low_point = [x, y + r]

请记住,您可以使用cv2.HoughCircles()函数中的参数来。在

你可以看到我在this Github page.中使用的Jupyter笔记本。在

我使用的代码:

^{pr2}$

相关问题 更多 >