Использование matlab для вычисления свойств многоугольника, определенного как список точек - PullRequest
2 голосов
/ 28 июня 2010

Имеет ли MATLAB встроенную функцию для нахождения общих свойств, таких как центр масс и моменты инерции для многоугольника, определенного как список (нецелых) точек?

regionprops выполняет эту задачу для целочисленных точек, при условии, что они представляют индексы пикселей в изображении. Но единственные функции, которые я могу найти, которые обрабатывают нецелые списки точек, это polyarea и inpolygon.

Сейчас я хочу создать структуру bwconncomp со всеми точками, умноженными на какое-то большое значение (например, 10000), затем передать его в regionprops, но подумал, есть ли более элегантное решение.

Ответы [ 3 ]

1 голос
/ 28 июня 2010

Я не знаю функции в MATLAB, которая бы делала это для вас.

Однако poly2mask может быть полезным для вас, чтобы создать маски пикселей для подачи в regionprops,Я также предлагаю, чтобы, если вы решили пойти по этому пути, вы тщательно протестировали, насколько дискретизация влияет на результаты, чтобы не создавать сумасшедшие большие массивы (и не тратить время) без реального повышения точности.

1 голос
/ 28 июня 2010

Вы должны проверить представление POLYGEOM по H.J. Sommer на MathWorks File Exchange . Похоже, он имеет все необходимые измерения свойств и хорошую документацию, описывающую формулы, используемые в коде.

0 голосов
/ 28 июня 2010

Одной из возможностей является отправка вычислений в Java Topology Suite .Я не знаю о «моментах инерции», но у него, по крайней мере, есть метод центроида.

...