Этот пример показывает, как использовать regionfill
, чтобы заполнить видимую область (ROI) в изображении. Пример использует функцию roipoly
, чтобы задать видимую область в интерактивном режиме с мышью. regionfill
гладко интерполирует внутрь в область от пиксельных значений на контуре полигона. Можно использовать эту функцию для редактирования изображение, включая удаление посторонних деталей или артефактов. Процесс заполнения заменяет значения в области со значениями, которые смешиваются с фоном.
Считайте изображение в рабочую область MATLAB® и отобразите ее.
I = imread('eight.tif');
imshow(I)
Создайте рисунок маски, чтобы задать видимую область (ROI), которую вы хотите заполнить. Используйте функцию roipoly
, чтобы задать область в интерактивном режиме. Вызовите roipoly
и переместите указатель через изображение. Форма указателя изменяется на крест нитей. Задайте ROI путем щелчка мышью, чтобы задать вершины полигона. Можно использовать мышь, чтобы настроить размер и положение ROI.
mask = roipoly(I);
Дважды кликните, чтобы закончить задавать область. roipoly
создает двухуровневое изображение с областью, заполненной с 1
- оцененные пиксели.
Отобразите рисунок маски.
figure imshow(mask)
Заполните область, с помощью regionfill
, задав изображение, чтобы быть заполненными и рисунок маски как входные параметры. Отобразите результат. Обратите внимание, что изображение содержит тот меньше монеты.
J = regionfill(I,mask); figure imshow(J)