виконання «Чарівна паличка»
Таким чином, алгоритм «чарівна паличка» дозволяє користувачеві самостійно визначати регіони які необхідно відокремити від фону.
. 6 Інтерактивна сегментація. Розумні ножиці
Одним з найбільш ефективних алгоритмів інтерактивної сегментації є алгоритм «розумні ножиці». Який дозволяє користувачеві задавати лише приблизні межі області, сам же алгоритм, робить ці межі найбільш оптимальними. Робота алгоритму заснована на пошуку шляхів у зваженому графі що робить алгоритм, повільнішим ніж інші, але при цьому набагато більш ефективним
Результат вирізання фрагмента, шляхом застосування алгоритму «розумні ножиці» представлений на малюнку 2.7.
Малюнок 2.7 Результат виконання «Розумні ножиці»
Таким чином, реалізація алгоритму «Розумні ножиці», дозволяє досить точно проводити інтерактивну сегментацію зображення, але за рахунок того що алгоритм працює з графом, його робота досить тривала.
Висновки розділу 2
1. В якості середовища розробки при створенні програми була використана IntelliJ IDEA 2013, так як за допомогою даного середовища, легко можна створити графічний інтерфейс для роботи з растровим зображенням. Відповідно до наявних на ділянці карти об'єктами був створений класифікатор.
2. У ході розробки програми був створений користувальницький інтерфейс, що включає в себе всі візуальні компоненти для основних функцій програми.
3. У результаті проведення обробки методом порогової сегментації, виходить зображення на якому виразно виділені найбільш контрастні частини.
4. Методи сегментації засновані на кластеризації та розростанні областей, дозволяють, зробити більш точне розбиття зображення на регіони, в залежності від якого або заданого ознаки ніж метод порогової сегментації.
5. Алгоритм «чарівна паличка» дозволяє користувачеві самостійно визначати регіони які необхідно відокремити від фону.
6. Реалізація алгоритму «Розумні ножиці», дозволяє досить точно проводити інтерактивну сегментацію зображення, але за рахунок того що алгоритм працює з графом, його робота досить тривала.
Висновок
В ході даної розрахунково-графічної роботи були отримані знання і навичкам у прийомах обробки растрових зображень, отримання уявлення про ступінь можливих способах сегментації растрових зображень, за допомогою звичайних та інтерактивних алгоритмів сегментації.
Було проведено ознайомлення з теоретичним матеріалом основ цифрової обробки зображень.
Так само був розроблений програмний модуль для обробки растрових зображень
Загальне призначення програмного засобу - робота з зображенням, що включає в себе такі функції як побудова сегментація методом розростання областей, кластеризація, порогова сегментація, інтерактивна сегментація з використанням алгоритмів «чарівна паличка» і «розумні ножиці».
Список використаної літератури
1. Журкин І. Г., Шайтура С. В. Геоінформаційні системи.- Москва: КУДИЦ-ПРЕСС, 2009. - 272 с.- ISBN 978-5-91136-065-8
2. Моделі даних в ГІС. # justify gt ;. Джеймс Гослінг.Спеціфікація мови Ява Изд. Третій, испр. і доп. Под ред. Я. І. Алексєєва.- М., 1928. - 800 с.
4. The Java Tutorial Second EditionМ .: «Інформаційні технологи», 1997. - 290 с.
5. Метью Мак-Дональд IntelliJIDEA 2007. Недостающее керівництво IntelliJIDEA 2007. - СПб .: «БХВ-Петербург», 2007. - С. 784. - ISBN 978-5-7502-0343-3
растрове зображення кластеризація сегментація
Додаток А
Програмний код
static int setImageToClaster (ImageView v, Image im) {reader=im.getPixelReader (); step=1; sigma=37;=reader; w=(int) im.getWidth (); h =(int) im.getHeight (); writableImage=new WritableImage (w, h); writer=writableImage.getPixelWriter ();=writer; typeClasster=0; lt; Claster gt; clasters=new ArrayList lt; Claster gt; (); lt; Block gt; blocks=new ArrayList lt; Block gt; () ;. add (new Claster (typeClasster, Color.BLACK, 128)); countBlock=0; countIter=0; (int i=0; i lt; w; i +=step) { (int j=0; j lt; h; j +=step) {. add (new Block (typeClasster, new Index (i, j, w, h), new Index (i + step, j + step, w, h))) ;. get (typeClasster) .setColorRGB (blocks.get (countBlock) .R, blocks.get (countBlock) .G, blocks.get (countBlock) .B); ++;
}
}. get (0) .resetRgb ();