画像の切り抜きと切り抜いた画像の描画するものを作ったので上げときます。
前につくった顔認識はをそのまま流用し、検出した顔を切り付いて適当なところに描画しています。
setROIとdrawROIメソッドを使って実装します。使い方はこんな感じ。
•切り抜き
"切り抜かれる画像オブジェクト".setROI("切り抜く部分のx座標", "切り抜く部分のy座標", "切り抜く幅", "切り抜く高さ");
•切り抜き画像の描画
"描画する画像オブジェクト".drawROI("描画するx座標", "描画するy座標", "描画する幅", "描画する高さ");
顔を切り抜いて描画するので追加するコードはこんな感じです。
void testApp::draw(){ // 顔検出の処理 // 最初に検出した顔を再描画する for(int counter = 0; counter < 3; counter++){ colorImg.setROI(colorImg2.setROI(x[0], y[0], w[0], h[0])); colorImg.drawROI(MOVIE_INPUT_WSIZE, 100*counter, w[0], h[0]); } }
幅や高さを適当にやりすぎたかも。
おすすめ書籍