Заполните видимую область в изображении

Этот пример показывает, как использовать 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)

Смотрите также

| | |