How can i detect nose region in an image

I am working on face recognition. I want to know how can i localize nose region in an image. thanks in advance

Answers (2)

The Computer Vision System Toolbox also has a face detection algorithm so maybe that will help you to get an approximate location. As you know the nose does not have a precise location. Where the nose starts and stops (its boundaries) is a judgment call. You can't pin it down to the nearest pixel, not even the tip of the nose.

2 Comments

Use the classification model for the nose from the vision.CascadeObjectDetector.

Sign in to comment.

You can use the cascade object detector that uses the Viola-Jones algorithm to detect people's faces, noses, eyes, mouth, or upper body. Here is a sample code below.
if true
%%nose detector
mouthDetector = vision.CascadeObjectDetector('Nose')
bbNose = step(mouthDetector, I)
INose = I(bbNose(1, 2):bbNose(1,2) +...
bbNose(1, 4),bbNose(1, 1):bbNose(1, 1) + bbNose(1,3));
cropedNose = insertObjectAnnotation(INose,'rectangle',bbNose,'nose');
figure, imshow(cropedNose);
end

Asked:

on 18 Jun 2013

Edited:

on 7 Sep 2016

Community Treasure Hunt

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

Start Hunting!