使用CvRect我能够检测到面部坐标
detectFace(IplImage * pImg, CvHaarClassifierCascade * pCascade, CvMemStorage * pStorage)
但我的问题是当人微笑时如何找出whitePixelValue?
微笑偏移是合适的吗? 150值是否准确?
微笑haarcascade根本不会工作。需要对仅使用白色像素的逻辑做一些事情
请帮助!!!
更新:我认为我的赏金会浪费..没有得到专家的回应 在这个线程上。我在寻找 算法:(
答案 0 :(得分:7)
据我所知,你想根据牙齿和皮肤之间的色差来检测笑容,对吧?可能这是有道理的,因为嘴唇像素强度与牙齿像素差别很大。如果是这样,我建议采用两种方法。
首先是计算面部区域的拉普拉斯变换。具有拉普拉斯算子的最大值的坐标将对应于相邻像素强度之间的最大差异。我认为微笑包含最多的对比像素。您应该再次选择阈值,但在这种情况下,它与图像的光照条件无关。
第二个想法类似于第一个想法,但您需要将像素与所有面部像素的平均值进行比较。这里,其值相对于平均值相对太高的像素被认为是牙齿像素。顺便说一下,像cvAdaptiveThreshold
这样的东西可能会有所帮助。
答案 1 :(得分:0)
嘿,你有没有检查过这个项目https://github.com/beetlebugorg/PictureMe
这真是一个很棒的项目。我想你会找到你需要的东西。