📜  Python|使用 OpenCV 检测图像的角落

📅  最后修改于: 2022-05-13 01:54:44.425000             🧑  作者: Mango

Python|使用 OpenCV 检测图像的角落

OpenCV (开源计算机视觉)是一个计算机视觉库,包含对图像或视频执行操作的各种功能。 OpenCV 库可用于对视频执行多种操作。

让我们看看如何检测图像中的角点。

cv2.goodFeaturesToTrack()方法通过 Shi-Tomasi 方法找到图像中的 N 个最强角。请注意,图像应该是灰度图像。指定要查找的角数和质量级别(0-1 之间的值)。它表示每个人都被拒绝的角落的最低质量。然后提供检测到的角之间的最小欧几里得距离。

角点检测前的图像:

# import the required library
import numpy as np
import cv2
from matplotlib import pyplot as plt
  
  
# read the image
img = cv2.imread('corner1.png')
  
# convert image to gray scale image
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  
# detect corners with the goodFeaturesToTrack function.
corners = cv2.goodFeaturesToTrack(gray, 27, 0.01, 10)
corners = np.int0(corners)
  
# we iterate through each corner, 
# making a circle at each point that we think is a corner.
for i in corners:
    x, y = i.ravel()
    cv2.circle(img, (x, y), 3, 255, -1)
  
plt.imshow(img), plt.show()

角点检测后的图像 -