Remove the background of an image

4 ビュー (過去 30 日間)
Sa rah
Sa rah 2015 年 10 月 26 日
編集済み: Aj_ti 2016 年 10 月 9 日
How can I remove the background of this image including the shadow? Actually I want to work with only the face and without the illumination conditions.
  2 件のコメント
Image Analyst
Image Analyst 2015 年 10 月 27 日
編集済み: Image Analyst 2015 年 10 月 27 日
For just this image specifically (fairly easy)? Or for any image of a head against any varying or cluttered background (ranges from easy to difficult/impossible)? And exactly what does removal mean to you? Set to black? Crop out? Something else?
Sa rah
Sa rah 2015 年 10 月 27 日
All my images are like this one, I don't have any varying or cluttered background. I want to remove the background, so the illumination conditions will disappear. I think I can set it to black, or just extract only the face to work with for a face recognition project.

サインインしてコメントする。

回答 (2 件)

Image Analyst
Image Analyst 2015 年 10 月 27 日
First of all, fix your horrible image capture conditions. I mean, why have a strong light coming in from the side that creates huge dynamic range and strong deep shadows. Get a uniform background. This is an easy thing to do photographically. Secondly, use a color camera - it will be easier to find the uniform background in that case. Post an image like that once you have it and then we can proceed.
  1 件のコメント
Sa rah
Sa rah 2015 年 10 月 27 日
I didn't create this image, I have downloaded the Yale Database which contains these images and in fact, I have to work with this database. If I will remove that background photographically, it will take me a long time to do it, since the database contains 90 images!! That's why I need to do it automatically. So isn't there any solution to remove the illumination conditions with a Matlab code?

サインインしてコメントする。


Aj_ti
Aj_ti 2016 年 10 月 9 日
編集済み: Aj_ti 2016 年 10 月 9 日
I can't say this is the best way, but I'm currently apply this to crop the face images, removing the background and hair part as shown in the picture below:
This my reference image.
What I did is I crop (manually, using photo editor) 1 face image as a reference. Then, I apply feature point detection on the face and make 6 points as reference points (I'm using the points on eyes). Doing the same for other face images that you want to process to get the 6 points. Lastly, perform/calculate the geometric transformation as the code below and perform image warp.
[tform,inlierPtsDistorted,inlierPtsOriginal] = estimateGeometricTransform(matchedPtsDistorted,matchedPtsOriginal,'similarity');
showMatchedFeatures(ori,img,inlierPtsOriginal,inlierPtsDistorted);
outputView = imref2d(size(ori));
Ir = imwarp(img,tform,'OutputView',outputView);
This image shows points matching between reference image and probe image.
The result is as follow:
Regarding the illumination issue, histogram equalization or Retinex able to solve it. There are a lot of algorithm for illumination normalization.

カテゴリ

Help Center および File ExchangeComputer Vision Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by