Удаление указанного пикселя в изображении RGB в Matlab
Часть вырезания шва включает в себя удаление шва после того, как вы его нашли. Если у меня есть индекс шва, как бы я удалил его из каждой строки изображения?
изображение (я, удалить) = [];
не работает, так как имеет неправильные размеры. Является ли единственный способ реконструкции самого изображения?
1 ответ
Вы не можете удалить номер матрицы в Matlab без изменения его размеров (если это квадратная матрица, вы получите массив столбцов). У вас есть два варианта здесь:
1) (я бы выбрал вариант) Преобразуйте вашу матрицу в ячейку с помощью cell2mat. И в каждой ячейке у вас будет значение пикселя в каждом канале ({..., [r g b], ...} в ячейке) или в канале ({...;1, 1, 1; ...}). Затем вы можете удалить позицию ячейки, поместив ее как пустую;
yourCell{indexToRemove} = [];
2) Установите значение, чтобы распознать пиксель как недействительный. Например, вы можете использовать черный (0, 0, 0) или белый (1, 1, 1) цвет в этом индексе пикселей.
Я могу улучшить любой из двух вариантов, если вы захотите любой из них.