Recognition of colored percentage of a white paper using Image Processing

1 Ansicht (letzte 30 Tage)
Hello,
I want to estimate the percentage of the following image (see attachment), where there are different colors and intensity. There is also an annoing shadow in the upper part of the image.
I already tryed to compute the gray scale and set simply a threshold (-->binary image), but this method is not enougth robust and leads wrong results and a partial recognition of the painted stain (eg only the black and green spot).
How can I get a better estimation of such colored % of the image surface (without differentiate between colors)?
At a glance, I think that the answer could be about 25%, but I want to find the exact answer using MATLAB.
Thank you and best regards, A
Edit:
  1. I just added a version without shadows (see right image) for start with a simplier case.
  2. Does it can help to have a picture of a white paper as "reference image" without colors in order to compare it with the colored image?
With shadow Without shadow
  6 Kommentare
Alberto Mora
Alberto Mora am 19 Nov. 2020
Bearbeitet: Alberto Mora am 19 Nov. 2020
I had an idea for a further development: does can help if I add a picture of a "white" paper as reference image for find the differences between the "colored" image (without shadows) and the "white" reference image (without shadows)?
Alberto Mora
Alberto Mora am 20 Nov. 2020
Bearbeitet: Alberto Mora am 20 Nov. 2020
Small update, I notice that applying a thresholding method on
stdfilt(image_grayScale)
could an interesting solution to divide the background from the colored region (i.e. amplify the difference between background and colored region). It seems working without problems also for shadows image. I will update if there are further improvments.
I check this interesing link, but in this case the usage of simple thresholding on the raw lead to poor results.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

cr
cr am 18 Nov. 2020
You can even out the light intensity across the image using imtophat(). Then use segmentation and/or ROI based processing functions -like roicolor(), activecontour, bfscore, etc. Shouldn't be hard.

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by