如何使用OpenCV Python找到棋盘图案

如何使用OpenCV Python找到棋盘图案

我们可以使用cv2.findChessboardCorners()在图像中找到棋盘角落,而使用cv2.drawChessboardCorners()可以绘制带有图案的棋盘角落。以下是这两个方法的语法:

ret, corners = cv2.findChessboardCorners(img, patterSize, None)
cv2.drawChessboardCorners(img, patternSize, corners,ret)

步骤

为了在棋盘中找到模式,您可以按照以下步骤进行操作 −

  • 导入所需的库。在所有以下示例中,所需的Python库是 OpenCV 。请确保您已经安装了它。

  • 使用 cv2.imread() 读取棋盘的输入图像,并使用 cv2.cvtColor() 将其转换为灰度图像。

  • 使用 cv2.findChessboardCorners() 在棋盘图像中找到棋盘角点。它返回两个输出参数 retcornersret 在图像中检测到棋盘角点时为True。 corners 是检测到的棋盘角点的坐标,以(x,y)格式表示。

  • 使用 cv2.drawChessboardCorners() 在原始输入图像上绘制棋盘角点和模式。

  • 显示带有绘制的棋盘模式的图像,

让我们看一些示例,以更清楚地理解。

输入图像

在下面的示例中,我们将使用此图片作为输入文件。

如何使用OpenCV Python找到棋盘图案

示例

在这个Python程序中,我们在输入图像中找到模式。

# import required libraries
import cv2

# read input image
img = cv2.imread('left01.jpg')

# convert the input image to a grayscale
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

# Find the chess board corners
ret, corners = cv2.findChessboardCorners(gray, (7,6),None)

# if chessboard corners are detected
if ret == True:

   # Draw and display the corners
   img = cv2.drawChessboardCorners(img, (7,6), corners,ret)
   cv2.imshow('Chessboard',img)
   cv2.waitKey(0)
cv2.destroyAllWindows()

当我们执行上述代码时,它将产生以下输出窗口-。

如何使用OpenCV Python找到棋盘图案

示例

在这个Python程序中,我们将看到如何以不同的方式解决相同的问题-。

# import required libraries
import cv2

# read input image
img = cv2.imread('left01.jpg')

# convert the input image to a grayscale
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

# Find the chess board corners
ret, corners = cv2.findChessboardCorners(gray, (7,6),None)

# terminating criteria
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)
if ret == True:
   corners2 = cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),criteria)

 # Draw and display the corners
 img = cv2.drawChessboardCorners(img, (7,6), corners,ret)
 cv2.imshow('Chessboard',img)
 cv2.waitKey(0)
cv2.destroyAllWindows()

执行时,它将产生以下 输出

如何使用OpenCV Python找到棋盘图案

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程