У меня есть изображение RGB 20x100x3
, и я хочу изменить пиксели, имеющие цвет 17,167,243
, на этот цвет 108,5,15
. Если кто-нибудь мог бы посоветовать, как это можно сделать в Matlab?Изменить пиксели определенного цвета изображения RGB на другой цвет Matlab
0
A
ответ
3
Предполагая img
как массив входного изображения, это может быть один подход с bsxfun
-
oldval = [17,167,243]
newval = [108,5,15]
idx = find(all(bsxfun(@eq,img,permute(oldval,[1 3 2])),3))
idx_all = bsxfun(@plus,idx(:),[0:2]*numel(img(:,:,1)))
img(idx_all) = repmat(newval,numel(idx),1)
Или слегка модифицированный один с использованием logical indexing
вместо метода, основанного linear indexing
используемого ранее -
mask = all(bsxfun(@eq,img,permute(oldval,[1 3 2])),3)
img(repmat(mask,1,1,3)) = repmat(newval,sum(mask(:)),1)
0
не самый элегантное решение: найти индексы матрицы image(:,:, 1)
равной 17 (используйте find()
), то же самое для image(:,:, 2)
равного 167, то (:, :, 3)
... затем определить все индексы, которые находятся в списке всех три (использование ismember()
). измените значения этих пикселей в матрицах (:, :, x)
на соответствующие запрошенные значения RGB.
Смежные вопросы
- 1. Давать конкретные пиксели определенного цвета
- 2. Преобразование RGB цвета определенных пикселей на другой цвет
- 3. Каков диапазон RGB для определенного цвета?
- 4. Python копирует шаблон на пиксели определенного цвета
- 5. RGB пиксели изображения в его двоичном представлении
- 6. Цвет шестнадцатиричного цвета до цвета rgb неточен?
- 7. Изменить цвет изображения на основе выбора цвета
- 8. В Android, как изменить цвет растрового изображения на другой цвет?
- 9. Создать цвет из RGB дает другой цвет, чем оригинал RGB
- 10. Корректирующие цвет изображения в MATLAB
- 11. удаление одного цвета из RGB изображения
- 12. Интенсивность изображения RGB в MATLAB
- 13. Изменить непрозрачность определенного цвета Phaser.Sprite
- 14. Как преобразовать только пиксели определенного цвета с помощью GDI +?
- 15. Matlab RGB значения цвета в Matlab
- 16. Изменить прозрачные пиксели заданного цвета
- 17. Matlab накладывающийся цвет на изображении
- 18. Сравнение пикселей изображения в цвета RGB
- 19. Установка цвета определенного значения в контуре Matlab
- 20. Как изменить пиксели ImageIcon на белые пиксели?
- 21. Попадая все RGB цвета изображения
- 22. Как изменить цвет фона ссылки изображения на другой цвет?
- 23. Единый цвет через пиксели?
- 24. Как удалить весь цвет, за исключением определенного значения rgb
- 25. 3D-график RGB в Matlab
- 26. Как изменить цвет RGB на HSV?
- 27. Изменение цвета изображения SKSpriteNode?
- 28. Заменить все пиксели определенного цвета в C++ матрицы класса
- 29. getpixel RGB точность цвета
- 30. Как изменить размер изображения, добавив дополнительные пиксели, используя matlab
Могли вы скажите мне, как установить oldval? Как если бы мой старый (R, G, B) был (17,167,243)? – Tak
@shepherd Проверьте изменения, пожалуйста. Я пропустил настройку значений раньше. – Divakar
в решении логической индексации он дает эту ошибку «Слишком много входных аргументов» в функции repmat. – Tak