how to run a code regarding regionfill() to obtain the background of an image in matlab 2014 because it is giving error that Undefined function 'regionfill' for input arguments of type 'uint8'.

3 views (last 30 days)
I am giving the code here.
grayImage = imread('brain_tumor.png');
figure,imshow(grayImage);
%h = impoly;
%position = wait(h);
mask = roipoly(grayImage);
figure, imshow(mask);
BackGround = regionfill(grayImage, mask);
figure, imshow(BackGround);
Sir, I have also attached the image herewith.

Accepted Answer

Walter Roberson
Walter Roberson on 9 Sep 2015
regionfill requires the Image Processing Toolbox, R2015a or newer.
Change your code
BackGround = regionfill(grayImage, mask);
to
BackGround = grayImage;
BackGround(mask) = 0;
with no regionfill() call.
  10 Comments
Walter Roberson
Walter Roberson on 22 Sep 2015
Jpeg images should seldom be used for this kind of work. Jpeg blurs sharp edges making edge detection more difficult.
Walter Roberson
Walter Roberson on 22 Sep 2015
That code prompts for the image to open. You can select any of a number of image file formats including jpeg and png. Jpeg just won't do a good job.
Dicom would require a few more lines to read in.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!