人が微笑んだときにwhitepixelvalueを見つける方法は?
-
29-10-2019 - |
質問
CVRECTを使用して、顔の座標を検出できます
detectFace(IplImage * pImg, CvHaarClassifierCascade * pCascade, CvMemStorage * pStorage)
しかし、私の問題は、人が微笑んだときにWhitepixelValueを見つける方法です。
そして、どのような笑顔のオフセットが適切ですか? 150値は正確ですか?
笑顔のhaarcascadeはまったくうまくいきません。白いピクセルでのみロジックで何かをする必要があります
助けてください!!!
更新:私の賞金は無駄になると思います。このスレッドで専門家の反応が得られなかったと思います。アルゴリズムを探していました:(
解決
私が理解している限り、あなたは歯と肌の色の違いに基づいて笑顔を検出したいですよね?唇のピクセルの強度は歯のピクセルとは大きく異なるため、おそらくそれは理にかなっています。もしそうなら、私は2つのアプローチを提案します。
最初のものは、顔の領域のラプラシアン変換を計算することです。ラプラシアンの最大値を持つ座標は、隣接ピクセル強度の最大の違いに対応します。 Smileには最もコントラストのピクセルが含まれていると思います。再度しきい値を選択する必要がありますが、この場合、画像の光条件で独立しています。
2番目のアイデアは、すべての顔のピクセルの平均値とピクセルを比較する必要があるという例外を除いて、最初のアイデアに似ています。ここでは、平均に関して値が比較的高すぎるピクセルは、歯のピクセルと見なされます。ちなみに、ようなもの cvAdaptiveThreshold
役立つかもしれません。
他のヒント
ねえ、このプロジェクトをチェックしましたか https://github.com/beetlebugorg/pictureme
これは本当に素晴らしいプロジェクトです。必要なものが見つかると思います。