How to delete selective part of image?

I am working on a project part of which requires removal of certain part of the image can anyone please help me with that ???? The input image is a front view of a face(does not contain any disguise)I want to delete its eyes. Is that possible??

 Respuesta aceptada

Image Analyst
Image Analyst el 15 de Sept. de 2014

0 votos

You can't have "holes" in the image - it must remain rectangular. Like David says, you can replace with zeros or some value but you can't have just null/nothing. imcrop() will produce a separate smaller image with the original left intact, unless the output of imcrop is also the original image.

6 comentarios

Madhura Bombatkar
Madhura Bombatkar el 16 de Sept. de 2014
imcrop() is working but does not help my need sir.. replacing with zero might do.. how do i select specific region of the face(Eg:eyes) to make this replacement and what function/code do i use, i mean whats better functions like reshape() or going the histogram way??
Madhura Bombatkar
Madhura Bombatkar el 16 de Sept. de 2014
This is how i want it to be in a rough way..
Madhura Bombatkar
Madhura Bombatkar el 16 de Sept. de 2014
I can select the features using cascade object detector... is there some way i can replace selected portion with zero??
Assume you have a binary mask image that specified the region you want to make some uniform color (R, G, B):
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
redChannel(binaryMask) = R;
greenChannel(binaryMask) = G;
blueChannel(binaryMask) = B;
% Recombine separate color channels into a single, true color RGB image.
newRGBImage = cat(3, redChannel, greenChannel, blueChannel);
Ali Gouhar
Ali Gouhar el 13 de Nov. de 2020
How to remove a single horizontal line and diagonal lines that is imposed on a image
Image Analyst
Image Analyst el 13 de Nov. de 2020
You asked this before somewhere and I told you to use a modified median filter.
Please post this as a new question (not here) and if you can't figure it out, I'll give you a complete demo.

Iniciar sesión para comentar.

Más respuestas (1)

Rushikesh Tade
Rushikesh Tade el 15 de Sept. de 2014
By removing if you mean crop then,
Image(row_start:row_end,col_start:col_end)=[];

5 comentarios

David Young
David Young el 15 de Sept. de 2014
It's a good idea to test answers before posting them. Unless you are deleting complete columns or complete rows, this will just produce a "Subscripted assignment dimension mismatch" error.
Replacing [] with 0 might sometimes be a useful thing to do. The nub of the question is more likely to be how to detect the eyes in the first place.
Madhura Bombatkar
Madhura Bombatkar el 15 de Sept. de 2014
Thanks but this is cropping the image... I want to remove eyes and let the remaining face be intact
David Young
David Young el 15 de Sept. de 2014
No, it's not cropping the image. It's throwing an error, in general.
Madhura Bombatkar
Madhura Bombatkar el 16 de Sept. de 2014
Its a syntax David you'll have to go through the help column to know how to make it work.
Image Analyst
Image Analyst el 16 de Sept. de 2014
Let's make it crystal clear: You flat out cannot do what Rushikesh said in general. Just try it and see. The only way to get it to work is like David said and if those indexes indicate an entire row or column, meaning the start has to be 1 and the ends have to be "end".
What you can do is what I said, and that is to create new, smaller images where you've identified the rectangles in the image and used imcrop() to crop those out, thus forming the new images but leaving the original image intact.

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 15 de Sept. de 2014

Comentada:

el 13 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by