Получение квадратов из сетки в OpenCV, почему система Cant обнаруживает больше квадратов?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Получение квадратов из сетки в OpenCV, почему система Cant обнаруживает больше квадратов?

Сообщение Anonymous »

Я пытался создать читателя для шахматной доски, пока ничего не привыкла, просто хочу читать представленные квадраты. Похоже, что проблема заключается в том, что в то время как некоторые квадраты обнаруживаются, другие игнорируются системой. В настоящее время я прочитал и пытался выполнить все решения по этим подобным вопросам:
Python opencv: извлечение цветового решателя кубика Rubik
Как получить ячейки сетки Sudoku с OpenCV? />
Изображение

Изображение


Это код, но он в Java, если опубликованное решение находится в Python, который в порядке, так как довольно легко преобразовать между.
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

boolean writeFile = true;
// Mat src =
// Imgcodecs.imread("C:\\Users\\thorf\\Documents\\JavaWS\\openCVtest\\src\\openCVtest\\linesinput.png");
Mat src = Imgcodecs.imread("C:\\Users\\thorf\\Documents\\JavaWS\\openCVtest\\src\\openCVtest\\chessboard.png");
Mat grey = new Mat();
Size size = new Size(3, 3);
double[][] sharpenKernel = { { -1, -1, -1 }, { -1, 9, -1 }, { -1, -1, -1 } };

Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, size);

Imgproc.cvtColor(src, grey, Imgproc.COLOR_BGR2GRAY);

Mat threshed = new Mat();
Imgproc.threshold(grey, threshed, 200, 255, Imgproc.THRESH_OTSU);
Imgcodecs.imwrite("threshed.png", threshed);
showWaitDestroy("threshed", threshed);

Mat blur = new Mat();
Imgproc.medianBlur(threshed, blur, 5);
Imgcodecs.imwrite("blur.png", blur);
showWaitDestroy("blur", blur);

Mat edges = new Mat();
Imgproc.Canny(blur, edges, 50, 400);
Imgcodecs.imwrite("edges.png", edges);
showWaitDestroy("edges", edges);

Mat inv = new Mat();
Core.bitwise_not(edges, inv);
Imgcodecs.imwrite("inv.png", inv);
showWaitDestroy("inv", inv);

processROIs(inv, src);
< /code>
Как можно увидеть только определенные квадраты, часто те, которые являются белыми и имеют в них кусочки, однако это не всегда так. Впервые используя CV, поэтому любая справка оценена. Это может быть на другой границе и т. Д., что мешает мне найти внешние границы.

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

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

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

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

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

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

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