Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中的微笑检测_Matlab_Image Processing_Computer Vision_Matlab Cvst - Fatal编程技术网

Matlab中的微笑检测

Matlab中的微笑检测,matlab,image-processing,computer-vision,matlab-cvst,Matlab,Image Processing,Computer Vision,Matlab Cvst,我必须在Matlab中进行微笑检测,而我一直在过滤嘴角。为此,我使用以下方法 img = imread('smile.jpg'); faceDetector = vision.CascadeObjectDetector('Mouth','MergeThreshold',160); cornerDetector = vision.CornerDetector('Method','Harris corner detection (Harris & Stephens)'); Irgb2gra

我必须在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*');
我得到了一幅图像的角点,如下所示:

我想应用一些过滤器,这样我就可以去掉嘴唇外面的一些角落。我被困在这一点上,我如何才能知道哪些是好的弯角,哪些是不好的弯角? 然后在修正了拐角之后,我必须计算它们之间的距离,这样我就可以判断是否有微笑


有人能帮我过滤角落吗?我会感谢你。

在这种情况下,我会训练微笑和不微笑的分类器。您可以使用计算机视觉系统工具箱中的
extractHOGFeatures
extractLBPFeatures
函数提取特征,然后使用统计和机器学习工具箱中的
fitcsvm
函数训练分类器。当然,你还必须收集微笑和非微笑的图像,然后使用
imresize
使其大小相同。

将表情和非表情反馈给神经网络并开始训练哈玛德:如果你想手动查找微笑,那么查找角点是一个不错的选择-你可以找到返回的角点之间的均方距离。如果你能在像素之间画出距离最远的一条线,那么问题就解决了,因为这条线很可能就在嘴唇之间。嘴巴总是紧闭的吗?那么这里有一个完全不同的方法:1。把嘴唇分成两半。骨骼化3。获取剩余曲面的曲率skeleton@MattSchmatt不,嘴不一定总是紧闭的。