opencvを使ってマウス制御
opencvを使って手を検出し、手の重心をマウスのカーソルにしたいと思っています
発生している問題
手を検出し重心を求めるところまでは何とか出来たのですが、マウスについていろいろ調べましたが出てきませんでした。
良い案をご教授お願い致します。
ソースコード
c++
int main(void)
{
VideoCapture cap(0);
Mat img;
while (1) {
cap >> img;
Mat input_image_rgb; cvtColor(img, input_image_rgb, CV_LOAD_IMAGE_COLOR); //表示して確認 namedWindow("input_RGB"), imshow("input_RBG", input_image_rgb); //BGRからHSVへ変換 Mat hsv_image, mask_image, output_image; cvtColor(input_image_rgb, hsv_image, CV_BGR2HSV, 3); //HSV変換した画像を表示して確認 namedWindow("input_HSV"); imshow("input_HSV", hsv_image); imwrite("hsv.jpg", hsv_image); //inRangeを用いてフィルタリング Scalar s_min = Scalar(H_MIN, S_MIN, V_MIN); Scalar s_max = Scalar(H_MAX, S_MAX, V_MAX); inRange(hsv_image, s_min, s_max, mask_image); //マスク画像を表示 namedWindow("mask"); imshow("mask", mask_image); imwrite("mask.jpg",mask_image); Moments mu = moments(mask_image, false); Point2f mc = Point2f(mu.m10 / mu.m00, mu.m01 / mu.m00); circle(mask_image, mc, 4, Scalar(100), 2, 4); printf("x: %f y: %f", mc.x, mc.y); imshow("img", mask_image); if (waitKey(30) == 0)break; } return 0;
}
補足情報(FW/ツールのバージョンなど)
visualstudio2017,
opencv3.1.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。