Blurring/Filling in color on jpeg image.

1 visualización (últimos 30 días)
Matthew Alston
Matthew Alston el 30 de Jun. de 2014
Editada: Matthew Alston el 11 de Jul. de 2014
Hi,
I'm working with painmaps (see example attached), and I'm trying to shade in the red areas. As you can see the red is scribbled on and there are white spaces within, I'd like to take the outer extremities of the red scribbling and fill in everything inside of it red, so that it's one solid block of red. This is so that I can quantify the shaded pixels for analytical purposes. Any help with this would be much appreciated. I was thinking that perhaps imfill or morphological closing could be used, but I'm struggling to make either option work.
Thanks, Matt

Respuesta aceptada

Image Analyst
Image Analyst el 30 de Jun. de 2014
Editada: Image Analyst el 30 de Jun. de 2014
You need to do some steps like I showed you before to get the red scribbles. Then you need to call activecontour() to get the "envelope" of the red scribbles. See attached demo.
  5 comentarios
Image Analyst
Image Analyst el 10 de Jul. de 2014
This code doesn't have the code I just gave you, so no wonder it doesn't fill in anything.
To go up between the legs you'd need a body template to multiply the thing by. You can try to align the template to your image, perhaps with imregister though I'm not sure ho well it would work on just a partial body.
Matthew Alston
Matthew Alston el 11 de Jul. de 2014
Editada: Matthew Alston el 11 de Jul. de 2014
Yes sorry I forgot to explain that I was struggling to get the above code to work. Before I can extract the color channels I need to convert the image to rgb from grayscale right?
I used: rgbImage = cat(3, grayImage, grayImage, grayImage);
Then I extracted each color channel: % Extract the individual red, green, and blue color channels. redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
But when I get to this part I get stuck : "% Set image to pure red where binaryImage is true." This is the error message I get:
redChannel (binaryImage) = 255; Undefined function or variable 'binaryImage'.
Could you offer advice to what I'm doing wrong? Sorry I'm a very inexperienced Matlab user. The full code is attached to make it easier to view.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by