0
我必須在Matlab中做笑臉檢測,並且我被卡在脣角的過濾。爲此我使用以下方法。Matlab中的笑臉檢測
img = imread('smile.jpg');
faceDetector = vision.CascadeObjectDetector('Mouth','MergeThreshold',160);
cornerDetector = vision.CornerDetector('Method','Harris corner detection (Harris & Stephens)');
Irgb2gray=rgb2gray(img);
bboxes = step(faceDetector, Irgb2gray);
lips = imcrop(Irgb2gray,bboxes);
C = corner(lips);
imshow(lips);
hold on;
plot(C(:,1), C(:,2), 'r*');
我得到的圖像的角落爲:
我想申請一些過濾器,這樣可以擺脫一些角落是嘴脣之外的。我被困在這一點上,我怎麼會知道哪些是好角落,哪些不好? 然後,糾正角落後,我將不得不計算他們之間的距離,以便我可以告訴是否有笑臉。
任何人都可以請幫我過濾角落?我會感謝你。
喂smailing面孔和非模擬到神經網絡,並開始訓練 – dynamic
Hammad:如果你想手動找到微笑,然後找到角落是不錯的選擇 - 你可能會發現返回角之間的均方根距離。並選擇它們之間最大距離的一對 –
另請嘗試:如果您可以在最遠的像素之間繪製線條,它應該可以解決問題,因爲它很可能就是嘴脣之間的線條。 –