В демонстрации обработки изображений (сегментация водораздела) использовались следующие коды для открытия реконструкцией с последующим закрытием реконструкцией.

Ie = imerode(I, se);
Iobr = imreconstruct(Ie, I);
figure, imshow(Iobr), title('Opening-by-reconstruction (Iobr)')
Iobrd = imdilate(Iobr, se);
Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));
Iobrcbr = imcomplement(Iobrcbr);
figure, imshow(Iobrcbr), title('Opening-closing by reconstruction (Iobrcbr)')

Для закрытия реконструкцией с последующим открытием реконструкцией, могу ли я следовать той же последовательности, но меняя местами imerode и imdilate в приведенном выше коде? ;

ПРИМЕЧАНИЕ. 

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech ,ME,M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Нет, ты не можешь. Обратите внимание на несколько вызовов реализации после шага imdilate. Они необходимы при закрытии путем реконструкции, чтобы маска и изображение маркера соответствовали требуемым входным данным imreconstruct. Эти имплементационные вызовы не являются необходимыми для открытия путем реконструкции.

Чтобы отменить операции, вам нужно взять строки с 4 по 6 в коде, который вы вставили, и поместить их над строками с 1 по 3, И переименовать переменные соответствующим образом.

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ