MATLAB Answers

How to filter objects based on size using"bwareafilt()" ?

28 views (last 30 days)
Dnyanesh Kanade
Dnyanesh Kanade on 5 Jul 2015
Commented: Saptadeepa Kalita on 24 Sep 2020
I want to remove only lung area shown in the image using function "bwareafilt"
The following code gives me error Undefined function 'bwareafilt' for input arguments of type 'double'.
fi=fopen('JPCLN001.img','r','b');
img=fread(fi,[2048 2048],'*uint16','b');
img1=mat2gray(img, [0,4096]);
img2=imrotate(img1,-90);
img2=flip(img2,2); %Horizantal Flip
%subplot(1,2,1);
figure,imshow(img2),title('Original');
img3=imcomplement(img2);
%subplot(1,2,2);
figure,imshow(img3),title('negative');
medf=medfilt2(img3,[3 3]);
%subplot(1,2,1);
figure,imshow(medf),title('Med_filtered');
img4=imadjust(medf);
%subplot(1,2,2);
figure,imshow(img4),title('Contrast1');
img5=histeq(img4);
%subplot(1,2,1);
figure,imshow(img5),title('Hist_Equa');
%level = graythresh(img5);
B = im2bw(img5,0.45);
figure,imshow(B);
%B1=logical(B);
BW2 = bwareafilt(B,2);
figure,imshow(BW2)

Answers (3)

KAE
KAE on 7 Aug 2017
It sounds like you do not have the Image Processing Toolbox, which includes the function bwareafilt.

Image Analyst
Image Analyst on 7 Aug 2017
You have the Image Processing Toolbox (otherwise imrotate would not have worked), but you have an antique version older than R2014b which is when bwareafilt() was introduced. Upgrade to the latest version or use bwareaopen() as an alternative.
By the way, your initial segmentation is really bad.
  1 Comment
Saptadeepa Kalita
Saptadeepa Kalita on 24 Sep 2020
I am working on RVG dental xray. My aim is to detect the type of dental caries present. The problem i m facing is with the selecting region of interest from the xray( the only tooth which is affected). I would be glad if anyone can suggest me the way.

Sign in to comment.


Mrutyunjaya Hiremath
Mrutyunjaya Hiremath on 24 Apr 2020
in your code, there is a code part as show below
img3=imcomplement(img2);
don't use that.
code works fine in 2014b.
Here, ROI part is Lung only.
  1 Comment
Saptadeepa Kalita
Saptadeepa Kalita on 24 Sep 2020
I am working on RVG dental xray. My aim is to detect the type of dental caries present. The problem i m facing is with the selecting region of interest from the xray( the only tooth which is affected). I would be glad if anyone can suggest me the way.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!