bwareaopen creates a noisy result rather than cleanly removing small objects

4 Ansichten (letzte 30 Tage)
Hi. I want to remove the diacritics from some arabic text. I read that the best option would be to use morphological opening. And hence the function
bwareaopen
Now in the example in the link here: http://www.mathworks.co.uk/help/images/ref/bwareaopen.html it has cleanly removed small objects. But in my case it tends to produce a noisy result
This is with the pixel value of 50, but produces the same result even if I use 5 or 500?
Why is it not working as it is shown in the tutorial?
Thank you

Akzeptierte Antwort

Bruno Pop-Stefanov
Bruno Pop-Stefanov am 20 Jan. 2014
Make sure that you call bwareaopen on a binary image. I executed the following code on the attached JPEG image and it worked:
% Read original image
I = imread('inputimg.jpg');
figure(1);
imshow(I)
% Convert to binary image
BW = im2bw(I, 0.5);
figure(2);
imshow(BW)
% Do morphological opening to remove small connected components
BW2 = bwareaopen(BW, 50);
figure(3);
imshow(BW2)
  2 Kommentare
Faraz
Faraz am 20 Jan. 2014
Thank you. I read this on the help page and mistook for it being able to accept any image class:
BW can be a logical or numeric array of any dimension, and it must be nonsparse. The return value BW2 is of class logical.
Bruno Pop-Stefanov
Bruno Pop-Stefanov am 20 Jan. 2014
Great! Can you please accept my answer? I believe there is a link on the left.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 20 Jan. 2014
It looks like you somehow ran it on the uint8 jpeg image instead of a binary image. I can see jpeg block artifacts.
When it says "numeric array" it probably means that if you give it a double array of 0's and 1's it will interpret that automatically as a binary image of trues and falses. I don't think it means it can take a gray scale image.

Kategorien

Mehr zu Image Processing and Computer Vision finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by