Удаление указанного пикселя в изображении RGB в Matlab

Часть вырезания шва включает в себя удаление шва после того, как вы его нашли. Если у меня есть индекс шва, как бы я удалил его из каждой строки изображения?

изображение (я, удалить) = [];

не работает, так как имеет неправильные размеры. Является ли единственный способ реконструкции самого изображения?

1 ответ

Вы не можете удалить номер матрицы в Matlab без изменения его размеров (если это квадратная матрица, вы получите массив столбцов). У вас есть два варианта здесь:

1) (я бы выбрал вариант) Преобразуйте вашу матрицу в ячейку с помощью cell2mat. И в каждой ячейке у вас будет значение пикселя в каждом канале ({..., [r g b], ...} в ячейке) или в канале ({...;1, 1, 1; ...}). Затем вы можете удалить позицию ячейки, поместив ее как пустую;

yourCell{indexToRemove} = [];

2) Установите значение, чтобы распознать пиксель как недействительный. Например, вы можете использовать черный (0, 0, 0) или белый (1, 1, 1) цвет в этом индексе пикселей.

Я могу улучшить любой из двух вариантов, если вы захотите любой из них.

Другие вопросы по тегам