MATLAB Answers

Error using bwareafilt Expected input number 1 to be one of these types:

32 views (last 30 days)
Mathew
Mathew on 5 Dec 2020
Answered: Pranav Verma on 11 Dec 2020
Greeting I got the above error while using bwareafilt and don`t know what is the wrong
I want to get the biggest region of the grayscale image
so I have uploaded 512*512 size RGB which value is 0 to 255 bmp image and convert it to grayscale image of 512*512 which value is 0 or 1
clear all;
close all;
clc;
img = imread('flower.bmp');
bw=im2bw(img);
bw2=bwareafilt(bw,1,'largest',8);
after I pass my bw image to bwareaflit function it bring outs error
Error using bwareafilt
Expected input number 1 to be one of these types:
logical
Instead its type was double.
I have followed the offical instruction of bwareaflit page but it gives error
I cannot understand what is the wrong

  0 Comments

Sign in to comment.

Answers (1)

Pranav Verma
Pranav Verma on 11 Dec 2020
Hi Mathew,
The bwareafilt function takes a maximum of 3 inputs as parameters, where as you have defined four.
Also instead of using im2bw, you can consider using imbinarize to convert the grayscale image to binary image. To convert the RGB image to grayscale image, you can use rgb2gray function in MATLAB.
Please refer to the documentation on bwarefilt:
Thanks

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by