How to extract lip region from facial features

Hi,
I am newbie for matlab , from matlab forums i have tried to get lip region ,but exact shape i cannot get .so please let me know where i have make mistake let me know,below code followed?
YIQ = rgb2ntsc(hue1);
Y1 = YIQ(:,:,1);
I1 = YIQ(:,:,2);
Q = YIQ(:,:,3);
J = imadjust(Y1);
t = graythresh(blue_Image);
imCoin = (red_Image > hueThresholdHigh);
K = medfilt2(red_Image);
[level1 EM]= graythresh(K);
BW_lip = im2bw(red_Image);
Binary_Hue = red_Image > T;
level = graythresh(J);
binary_Image = im2bw(J,level);
[imx,imy]=size(binary_Image);
bw_Fill= imfill(binary_Image,'holes');
labeledImage = bwlabel(bw_Fill, 8);
blobMeasurements = regionprops(labeledImage, 'area');
areas = [blobMeasurements.Area];
[maxArea largestBlobIndex] = max(areas);
bw_area = bwareaopen(bw_Fill ,2500);
BWnobord = imclearborder(bw_area, 4);
seD = strel('disk',1);
% BWfinal = imerode(BWnobord,seD);
BWfinal = imerode(BWnobord,seD);
BWoutline = bwperim(bw_area);
Segout = mouthcrop;
Segout(BWoutline) = 255;

3 commentaires

SAMEER ahamed
SAMEER ahamed le 2 Jan 2014
Modifié(e) : Walter Roberson le 6 Jan 2014
I have another reference link please look at reply me me how to get lip region Visual Reading also i have tried below code but not get clear any solution ?
if true
% code
hautoth = vision.Autothresholder;
img = step(hcsc, mouthcrop);
img = im2single(rgb2gray(img));
bin = step(hautoth,img);
binaryImage = imfill(bin, 'holes');
binaryImage = bwareaopen(binaryImage,500);
labeledImage = bwlabel(binaryImage, 8);
blobMeasurements = regionprops(labeledImage, 'BoundingBox');
numberOfBlobs = size(blobMeasurements, 1);
% subplot(3, 3, 5); imagesc(mouthcrop);
% title('Outlines, from bwboundaries()'); axis square;
% hold on
% for k = 1 : numberOfBlobs
% thisBlobsBoundingBox = blobMeasurements(k).BoundingBox;
% rectangle('Position',thisBlobsBoundingBox,'EdgeColor','r','LineWidth',2);
% end
% hold off
end
I don't have the computer vision system toolbox so I can't try that code. The lips you're using are very dark and very low contrast. They're hardly any different in color than the surrounding skin so I'm not surprised that you're having trouble. You're not going to solve it with any simple code that's only a dozen lines long.
Thanks for reply me ,please let me know how to separate binary lip region from mouth skin . please let me know if any idea ?

Connectez-vous pour commenter.

 Réponse acceptée

Image Analyst
Image Analyst le 2 Jan 2014
Modifié(e) : Image Analyst le 2 Jan 2014

0 votes

I have told you here in this link. Basically no one here is a lip reading expert, and there's no lip reading toolbox, so I pointed you to a place where you will find algorithms from lip reading experts. I know it's a little bit of work on your part to contact the authors or to try to write code to implement their algorithms, but since you don't seem to want to do it yourself, that's your only other option, unless you want to hire some consultant or university to do it for you. Good luck.

2 commentaires

Dear Image Analyst, is there a code where i want to track the lip movement? i dont want to read lips, i just want to track them while they are moving in real time. Is that possible?
Sure. You can use deep learning - that's what Apple does with their new animoje app. I haven't done it personally so I don't have code to give you.

Connectez-vous pour commenter.

Plus de réponses (1)

banupriya saravanan
banupriya saravanan le 21 Nov 2014

0 votes

sir this is saravanan from chennai.. i need matlab code for extracting skin region from image using any filter

Community Treasure Hunt

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

Start Hunting!

Translated by