小编Run*_*ils的帖子

使用openCV检测线的孔,末端和起点吗?

我正在尝试创建一个Python脚本来检测线的孔,末端和起点。我认为openCV可以很好地实现这一目标。

因此,举例来说,一切都始于这张图片:

在此处输入图片说明

最后,我要实现的是:

在此处输入图片说明

因此,我首先将图像导入Python并进行灰度转换。现在,我想到了使用该goodFeaturesToTrack()方法跟踪孔的想法。通常用于查找图像中的角。

但是,效果不是很好,因为在此之后脚本会知道这些点,但是它不知道某个点是来自孔还是该行的起点或终点。另一个问题是,如果我使用其他图像,则此方法不仅可以检测到孔的起点,起点和终点,而且可以检测到更多的点。

这是我的完整代码,可以更好地理解我的问题:

import cv2
import numpy as np
import matplotlib.pyplot as plt

# lodes in img

img = cv2.imread('png1.png', cv2.IMREAD_COLOR)
img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

corners = cv2.goodFeaturesToTrack(img_gray, 200, 0.05, 10)

for corner in corners:
    x, y = corner.ravel()
    cv2.circle(img, (x,y), 7, (255,255,0), -1)

cv2.imshow('img',img)
Run Code Online (Sandbox Code Playgroud)

我不知道解决这个问题。

python opencv tracking detect

5
推荐指数
1
解决办法
1422
查看次数

标签 统计

detect ×1

opencv ×1

python ×1

tracking ×1