アップロードした写真の背景が無地かどうかを検出できるものに取り組んでいます。imagecolorat()
ある場所でランダムなサンプルポイントを使用して使用しています。アップロードされた写真は、標準のクローズアップショルダーレベルの写真です。画像の特定の場所(人の耳の近くの背景のどこか)のピクセルの色をチェックしています。
の結果imagecolorat()
で、ポイントのRGBカラーを取得することができました。それから私はそれらをHSVに変換しました。
色が似ているかどうかをどのように判断できますか?写真は必ずしもサンプルピクセルの正確な色を持っているとは限らないので、同じような色を許可するためにある程度の許容レベルを設定する必要があります。たとえば、#3A34B9
HSV#524EB4
値が異なる青であるが、互いに近いため、問題ないはずです。
HSV値をチェックインする必要がありますか?灰色のオブジェクトは非常に明確な色相を持っている場合がありますが、それでも両方とも灰色であり、テストに合格する必要があります。
問題のあるコードではないため、現在コードを投稿していません。背景が無地かどうかを正しく判断する方法に関するアルゴリズムにあります。
これは実際には顔検出ではありません。PHPでそれが可能かどうか疑問に思いますが、アップロードされた写真からサンプルポイントを改善する方法を知っていると役立ちます。現在、私は写真を領域に分割し、特定の領域(1/6と5/6のx軸、および1/3のy軸)からポイントを取得するだけです。