Я хотел бы задать другой вопрос, связанный с Как удалить дефекты выпуклости в квадрате судоку?
Я реализовал средство решения судоку в OpenCV -Python, и оно работает очень хорошо. Но в это время я сделал предположение, которое упростит мою проблему.
Предположение::Sudoku boundary(square) is the biggest blob in the input image
Например,:
Красный блок — это обнаруженный квадрат. Вы можете видеть, что он покрывает большую часть изображения.
Проблема:
Проблема есть не что иное, как предположение.If sudoku square has another square around it, method fails. Or if the image has another bigger blob than the sudoku square, again method fails.
Например, возьмите это изображение . (Я не хочу загружать исходное изображение сюда, оно довольно большое, и я все равно хочу загрузить результат)
Я попробовал несколько следующих способов, чтобы найти квадрат судоку на этом изображении:
1)Find the biggest blob
Тогда У меня получилась красная область. Method Failed
.
(Изображение изменено по сравнению с исходным изображением, чтобы уменьшить размер.)
2)Find only square regions
Вы можете видеть много кандидатов, особенно KING CROSSWORD
, который во всем похож на судоку.Method again fails
In short, this image has everything, to fail me.
Вопрос:
How to detect a sudoku square in an image, especially in the test image i gave? Is there any better algorithm for this?
ОБНОВЛЕНИЕ:Прочитав некоторые ответы и комментарии, я думаю, что должен дать обновление. Посмотрите на изображение ниже:
На этом изображении есть судоку с вопросом и ответом на предыдущий судоку. Оба похожи. Я думаю, что поиск подблоков -или тестирование OCR здесь не сработают.