Как распознать углы шахматной доски с помощью OpenCV по изображению вида сбоку с фигурами на доске?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как распознать углы шахматной доски с помощью OpenCV по изображению вида сбоку с фигурами на доске?

Сообщение Anonymous »

Я использую OpenCV для определения угла шахматной доски по изображению вида сбоку, где на доске присутствуют фигуры. Я обработал изображение в несколько этапов, включая преобразование в оттенки серого, размытие по Гауссу, определение порога, морфологию, расширение и обнаружение краев Кэнни, но мне трудно точно определить углы шахматной доски.

Код: Выделить всё

import cv2 as cv
import numpy as np

# Load and preprocess the image
img = cv.imread("input.jpg")
img = cv.resize(img, (1280, 720))
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
blur = cv.GaussianBlur(gray, (5, 5), 0)
ret, thresh = cv.threshold(gray, 127, 255, cv.THRESH_BINARY_INV)
kernel = np.ones((5, 5), np.uint8)
opening = cv.morphologyEx(gray, cv.MORPH_OPEN, kernel)
dilation = cv.dilate(opening, kernel, iterations=1)
canny = cv.Canny(dilation, 100, 200)

# Find contours
contours, hierarchy = cv.findContours(canny, cv.RETR_TREE, cv.CHAIN_APPROX_NONE)
if contours:
largest_contour = max(contours, key=cv.contourArea)
cv.drawContours(img, [largest_contour], -1, (0, 255, 0), thickness=cv.FILLED)
rect = cv.minAreaRect(largest_contour)
box = cv.boxPoints(rect)
box = np.int32(box)
cv.drawContours(img, [box], 0, (255, 0, 0), 2)

# Show image
cv.imshow("Image", img)
cv.waitKey(0)
cv.destroyAllWindows()

Какие изменения можно внести, чтобы улучшить определение контуров шахматной доски?
Вот входные и выходные изображения: https://imgur.com /a/o7GkRQb

Я также пробовал использовать некоторые сообщения, например
  • Как найти углы изображения с помощью OpenCv
  • OpenCV C++/Obj-C: расширенное обнаружение квадратов
за помощью. Но на самом деле это не сработало.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ith-pieces
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»