У меня есть изображение с серым уровнем и вы хотите найти зону, где конкретный цвет (например, черный) более плотный. Поскольку эта проблема является частью более крупного проекта, мне нужно запрограммировать ее в java, но я не нахожу адекватного алгоритма.Как сгруппировать один и тот же цвет на картинке
ответ
Вы должны использовать K-Средство, чтобы найти кластеры на вашем изображении. Например, ваш набор данных должен быть Позиция X, Y, Z и значение серого.
Затем запускает алгоритм для множественного значения k. И используя счет BIC, чтобы найти лучшую конфигурацию кластера.
как я молод в этом поле, можете ли вы предложить мне программу для этого или пример кода? – user2724554
Я рекомендую вам использовать Matlab, чтобы сделать первые шаги по обработке изображений. Я написал простую функцию, которая генерирует псевдослучайное изображение, а затем я буду учитывать пиксели со значением над пороговым значением. Остальные пиксели будут установлены на ноль. Это код:
image=randi([0 255],10); %Used to generate a 10x10 image with pixel values between [0-255]
[row,col]=size(image); % to calculate the size of the image;
image_output=zeros([row,col]); %We make an empty image with the same size than the origial
TH_value=100; %threshold value
index=find(image>TH_value); %searching for all the pixels with value>TH_value
n_idx=length(index); %number of pixels over TH_value
%no we have to replace in our empty new matrix only those pixels that have a value over the TH_value
for i=1:n_idx
[row, col, ~ ] = ind2sub(size(image), index(i)); %geting the coordinates for all values over TH_value
image_output(row,col)=image(row,col); %copying to the output matrix only the pixels over TH_value
end
image_output %in order to visualize the output image
Вставьте код сверху в Matlab, чтобы узнать, как это работает. Это довольно просто, но все в порядке. Вместо генерации случайного изображения (см. Первую строку кода) вы должны импортировать собственное изображение с помощью функции «imread».
- 1. ControlTemplates имеют один и тот же цвет
- 2. Как установить цвет фона и другой цвет текста на один и тот же элемент
- 3. Javascript изменить цвет на мыши и сохранить тот же цвет
- 4. Получите разные серии, чтобы иметь один и тот же цвет
- 5. Как сгруппировать классы, которые не используют один и тот же интерфейс и не изменяются?
- 6. Когда я изменяю цвет фона ячейки, как я могу заставить все ячейки, содержащие один и тот же текст, менять один и тот же цвет на всех листах?
- 7. Как включить один и тот же xhtml дважды в один и тот же xhtml
- 8. Заполните определенный цвет на картинке
- 9. Найти доминантный цвет на картинке
- 10. Несколько shared_ptrs на один и тот же объект, один поврежден
- 11. Как сделать цвет шрифта, как на картинке
- 12. Стек держит один и тот же элемент
- 13. Переведите один и тот же объект несколько раз в один и тот же раскадровку
- 14. Как избежать ссылки на один и тот же блок памяти
- 15. Как погладить один и тот же слой на нескольких слоях
- 16. Как добавить несколько методов на один и тот же объект?
- 17. Как мне сделать на кнопки один и тот же размер
- 18. Как использовать один и тот же sidenav на нескольких страницах
- 19. Как узнать, есть ли цвет на картинке
- 20. Как найти доминантный цвет на картинке?
- 21. Как дать двум различным классам один и тот же интерфейс?
- 22. Конструкторы, передающие один и тот же int?
- 23. Netlogo: изменить цвет патча одного патча, если ортогональные соседи имеют один и тот же цвет
- 24. Activtiy и сервис ссылаются на один и тот же объект
- 25. Удаление один и тот же объект дважды
- 26. Icinga2 контролирует один и тот же хост
- 27. Как сделать тот же цвет для элемента treeview и родителя?
- 28. Используя один и тот же параметр дважды
- 29. Возможно иметь один и тот же контракт, одну и ту же привязку, один и тот же адрес, но разные порты?
- 30. coreplot - всегда один и тот же сюжет
Добавьте java-тег, если вы хотите ответить на Java. В каком формате находится изображение? Это файл? Вы знаете, как читать файл на Java? Вы еще не пытались написать какой-либо код? Если да, то? – doctorlove
Если вы начинаете с обработки изображений, я действительно рекомендую вам начать писать свой код в Matlab, а затем перейти на другой язык (java в вашем случае) – karl71
Хотите получить более крупное квантование изображения? или сегментирование изображения на уровне серого? если вам нужна сегментация, основанная на цветовой подобии, вы должны проверить сегментацию среднего сдвига. См. Http://stackoverflow.com/questions/4831813/image-segmentation-using-mean-shift-explained – Shai