суббота, 2 февраля 2013 г.

сравнение границ изображений matlab

img = imread('kkk.jpg'); ЂЂЂ открываем наше изображение. Я использовал изображение из статьи .

Заметьте, в нем всего 30 строчек. Из них половина реализует красивый вывод результата. Давайте разберем код.

 text(boundary(1,2)-15,boundary(1,1)+15, num2str(radius,3),'Color','y',...

stats = regionprops(L,'Centroid','EquivDiameter');

Я старался писать с нуля, исходя из формулировки задачи и не пользуясь алгоритмическими наработками . Естественно, в силу простоты задачи решения очень похожи. В хелпе MATLAB'а по Image Processing Toolbox обнаружился набор демок, посвященных детектированию объектов и в частности поиску круглых форм, что мне очень помогло. Далее приводится код полученного алгоритма на m-языке:

В этом топике я приведу альтернативный подход к задаче, решенной товарищем . Как заметили в комментариях, задачу обнаружения округлостей на изображении можно было решить при помощи MATLAB Image Processing Toolbox, что я и сделал. MATLAB радует меня очень сильной документацией с большим количеством наглядных примеров; а также удобством m-языка, за счет которого сильно сокращается время реализации вычислительных решений. Конечно, есть и минусы ЂЂЂ в частности алгоритмы работают медленно, ЂЂЂ но для данной задачи это не существенно. Отмечу только, что из m-языка довольно просто можно получить C-код, который будет работать гораздо быстрее.

Детектирование округлостей на изображении средствами MATLAB

Детектирование округлостей на изображении средствами MATLAB / Хабрахабр

Комментариев нет:

Отправить комментарий