3 / 3 / 8
Регистрация: 14.10.2012
Сообщений: 288
|
||||||
1 | ||||||
Обработка изображения(группировка пикселей)21.03.2017, 03:43. Показов 2841. Ответов 13
Метки нет (Все метки)
Здравствуйте, почитал статью http://job-interview.ru/articles/post/362 и захотел реализовать тоже самое, но что-то не получилось. В чем ошибка, вроде код один в один.
Спасибо
0
|
21.03.2017, 03:43 | |
Ответы с готовыми решениями:
13
Нахождение всех пикселей изображения? Анализ пикселей изображения Увеличить размер изображения в два раза с сохранением количества пикселей Обработка изображения размером 800х600 пикселей |
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
|
|||||||||||
21.03.2017, 10:40 | 2 | ||||||||||
Nike1995, "не получилось" - это что означает? Неправильно области выделяет или вообще не выделяет ничего, или наоборот черным всё закрашивает?
В метод fff() мне кажется надо по ссылке передавать картинку, т.е.
0
|
3 / 3 / 8
Регистрация: 14.10.2012
Сообщений: 288
|
|
21.03.2017, 16:05 [ТС] | 3 |
Людвиг Бодмер, спасибо, ref помог. Но все закрашивается в черный цвет. в статье же все хорошо работает. не могли бы Вы сказать почему?
0
|
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
|
|
21.03.2017, 17:01 | 4 |
Nike1995, такое ощущение, что алгоритм не совсем верный или не совсем правильно применен. Пробовал менять немного алгоритм,в итоге выделяет области, но не те, что вроде бы должен. Так что пока сам не разобрался.
0
|
3 / 3 / 8
Регистрация: 14.10.2012
Сообщений: 288
|
|
21.03.2017, 18:20 [ТС] | 6 |
И у меня заработало. А можете сказать, как реализовать следующее: разбить картинку на области с примерно одинаковыми цветами и обвести контур вокруг этой области. может кто посоветовать литературу или алгоритмы по реализации. просто очень интересно, уже год думаю как бы это сделать, несколько раз тут писал, но никто не отвечал.
0
|
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
|
|
21.03.2017, 19:01 | 7 |
Nike1995, возможно вам будет интересна книга Р. Гонсалес, Р. Вудс "Цифровая обработка изображений". Сам не читал, но судя по оглавлению, есть много интересного по теме.
1
|
21.03.2017, 19:20 | 8 |
Сообщение было отмечено Nike1995 как решение
Решение
Это называется сегментация изображения. Гуглите - материала много. Если вам нужно для дела - то используйте OpenCV, там есть несколько готовых методов сегментации. Если вам просто так, повелосипедить, то почитайте вот например эту статью: https://habrahabr.ru/post/81279/
Если кратко, то сегментация сводится к кластерному анализу в пространстве X,Y,R,G,B (где XY - координаты пиксела, а RGB - его цвет). При этом используются разные метрики, которые собственно и определяют разные типы сегментации. На выходе каждый кластер будет представлять собой отдельный сегмент изображения. Добавлено через 11 минут Вот еще здесь посмотрите Сегментация наращиванием областей
2
|
3 / 3 / 8
Регистрация: 14.10.2012
Сообщений: 288
|
|
21.03.2017, 19:51 [ТС] | 9 |
Людвиг Бодмер, Storm23, спасибо большое))
0
|
3 / 3 / 8
Регистрация: 14.10.2012
Сообщений: 288
|
|
22.03.2017, 02:45 [ТС] | 10 |
Storm23, у меня вот какая идея, сделать раскраску по номерам. т.е. на вход идёт какая-то картинка, а на выходе что-то вроде того, что я прикрепил.
Хочу взять в виде курсача по компьютерной графике.
0
|
3 / 3 / 8
Регистрация: 14.10.2012
Сообщений: 288
|
|
22.03.2017, 02:56 [ТС] | 11 |
Storm23, у меня получится это сделать? Я почитал про методы сегментации в OpenCV, но там они картинку разбивают на какие-то примитивы. но у меня примитив может быть очень сложным объектом и если на картинке будет только зеленое поле и небо, то, боюсь, что там ничего не получится.
Добавлено через 1 минуту Людвиг Бодмер, забыл о Вас. Может Вы тоже сможете как-то помочь? И вопрос неправильно поставил. Я так понимаю, что придётся все самому там писать и не рассчитывать на библиотеки? Добавлено через 7 минут Storm23, уже чуть-чуть углубился и кое-что нашел. Если получится, то укажу вас в РПЗ, за помощь)) Ну или тут отпишусь))
0
|
22.03.2017, 04:27 | 12 |
Сообщение было отмечено Nike1995 как решение
Решение
Нет, там сегменты могут быть произвольной формы. Но если использовать метод Watershed, то он не совсем то, что вам нужно. Этот так называемый marker-based метод, то есть он требует затравочных точек. Их конечно можно найти, но все же думаю лучше использовать методы без затравочных точек. Вот только я не припомню, есть ли такие в OpenCV.
Поэтому лучше все таки сделать кластерный анализ, как я уже писал. Это не так сложно как кажется. Если что - обращайтесь, там работы минут на 30
1
|
3 / 3 / 8
Регистрация: 14.10.2012
Сообщений: 288
|
|
22.03.2017, 04:34 [ТС] | 13 |
по выделению контура тут хорошую статейку нашел http://docs.opencv.org/2.4/doc... tours.html
0
|
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
|
|
22.03.2017, 08:41 | 14 |
Nike1995, c OpenCV мало работал, не подскажу. Благодаря наводкам от Storm23 нашел еще немного материала, может вам пригодится:
https://www.codeproject.com/Ar... zy-C-means http://accord-framework.net/samples.html# Clustering
1
|
22.03.2017, 08:41 | |
22.03.2017, 08:41 | |
Помогаю со студенческими работами здесь
14
Обработка изображения: поиск пикселей определённого цвета Обработка изображения с веб камеры на предмет движущихся объектов\изменившихся пикселей Перебор пикселей изображения Подсчет пикселей изображения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |