Masking of RGB Image?

4 views (last 30 days)
Imran Riaz
Imran Riaz on 19 Jul 2022
Answered: Pratyush Swain on 14 Sep 2023
I have RGB image of finger knuckles and now want to remove the background, I used "createmask" function in which image is 1st converted from rgb2hsv and then I adjust the Min and Max values of channel3. But these fixed values are not suitable for whole dataset. How I can automate it if I use this code? OR Can I do binary masking of given RGB image?
Here is the code and image result also which is noisy one.
  2 Comments
Image Analyst
Image Analyst on 19 Jul 2022
What do you consider "background"? The white sheet of paper in the upper left behind the fingers?
Imran Riaz
Imran Riaz on 19 Jul 2022
Yes . the white sheet. I need to remove it.

Sign in to comment.

Answers (1)

Pratyush Swain
Pratyush Swain on 14 Sep 2023
Hello Imran,
I understand that you are looking to automate the process of removing the background from RGB images of finger knuckles without relying on fixed threshold values.
To achieve this, I recommend considering the use of adaptive thresholding techniques. Adaptive thresholding allows for dynamic adjustment of the threshold based on the local characteristics of the image.
You can utilize the "imbinarize" function in MATLAB, specifying the "adaptive" parameter, to perform adaptive thresholding on a grayscale image. Here's an example of how to use it:
BW = imbinarize(Image, "adaptive", Name=Value);
You can further control the adaptive thresholding process by specifying additional "Name-Value" arguments, which allow you to adjust various aspects of the adaptive thresholding algorithm.
For more detailed information and examples, you can refer to the documentation on the "imbinarize" function:https://www.mathworks.com/help/images/ref/imbinarize.html
Hope this helps.

Community Treasure Hunt

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

Start Hunting!