Это на самом деле предназначено для функции, называемой roipoly в matlab, но это можно считать общей проблемой случая.
Roipoly - это функция, которая позволяет выбрать полигон над изображением и возвращает двоичную маску, где вы можете использовать ее для получения индексов нужного полигона. (В конце концов, это просто нормальный многоугольник).
Мое приложение (K-Nearest Neighbor) требует, чтобы я сделал n n блоков из имеющихся у меня данных (многоугольника), т.е. если у меня есть многоугольник (дорога или участок земли), я хочу n квадрат движется по нему, избегая пересечения с краями и помещая эти n * n пикселей в некоторую переменную.
Эта проблема была бы намного проще, если бы у меня были все мои фигуры в форме прямоугольников, но, к сожалению, это не так. У меня может быть что-то диагональное, круглое или просто неправильное.
Есть ли известный алгоритм, который я могу реализовать? или что-то, что уже делает это или может сделать это проще в Matlab?
Я уже работаю над этим, но это довольно сложно, я хочу убедиться, что я не трачу время на то, чтобы заново изобретать колесо.
Есть идеи?