人が洋服を着用している画像からトップスとボトムスの領域を推定し、トップスとボトムスがそれぞれ何色なのかを画像処理によって知りたいと考えています。画像に対して顔検出を行い、顔が検出された領域より下の領域を衣服領域(トップスとボトムスの領域)としているのですが、その衣服領域をトップスとボトムスに分ける方法が分かりません。トップスとボトムスそれぞれ単色で、かつ異なる色であるという前提があれば画素値の違いで切り分けることが可能だと思うのですが、柄(ボーダー、水玉など)の入った衣服に対しても適用できるようにしたいと考えています。プログラムはC++で記述したいと考えています。なにかよい方法があれば教えていただけると幸いです。よろしくお願いいたします。