Возврат позиций контура в 2D матрице, в Matlab?
У меня есть 2D матрица 50x50, состоящая из отверстия "1" (диск), а остальные значения равны нулю. (матрица двоичная). Я просто хотел бы вернуть позиции в матрице контура объекта, как показано на рисунке ниже. Я попробовал команду "imcontour" (так как мой случай также является двоичным изображением). Это хорошо, но некоторые из заданных положений контура превышают размер матрицы, что означает, что он может давать положение в пикселях, а не индекс матрицы. Я также попробовал "контур" и "границу", но тщетно. Есть идеи?
1 ответ
Решение
Если я правильно понял, попробуйте [x,y]=find(M), чтобы извлечь позиции, и попробуйте ind=find(M), чтобы извлечь номера индексов ненулевых значений в вашей матрице.