Eroding and dilating an image

58 次查看(过去 30 天)
I need help. This code is to dilate and erode the image. How can I fix it?

采纳的回答

Image Analyst
Image Analyst 2023-1-4
编辑:Image Analyst 2023-1-4
Line 3 has two equals signs on it. You can't do that. And ~ doesn't work for a gray scale image. You can do
c = imread('cameraman.tif');
se = strel('disk', 5, 0);
a = imerode(c, se);
subplot(1, 2, 1);
imshow(a);
dilatedImage = imdilate(imcomplement(c), se);
subplot(1, 2, 2);
imshow(dilatedImage);

更多回答(1 个)

Yusuf Suer Erdem
Yusuf Suer Erdem 2023-1-4
you could try these codes that I found:
% Dilating and eroding an image
% Original image
im = imread('circbw.tif');
subplot(2,3,1);
imshow(im);
[x,y] = size(im);
title(sprintf('Original image (%dx%d)', x,y));
%% Dilation
% Create a structuring element
se = strel('square', 3);
% Dilate the image with the structuring element
im1 = imdilate(im, se);
subplot(2,3,2);
imshow(im1);
title('Dilated image');
%% Erosion
% Create a structuring element
se = strel('square', 3);
im2 = imerode(im, se);
subplot(2,3,3);
imshow(im2);
title('Eroded image');
%% Erosion und Dilation are dual:
se = strel('square', 3);
im3 = 1 - imerode(1-im, se);
subplot(2,3,5);
imshow(im3);
title('Eroded Background');
im4 = 1 - imdilate(1-im, se);
subplot(2,3,6);
imshow(im4);
title('Dilated Background');

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by