カメラ入力に注意!
OpenCVを使っていて、カメラから前景と背景を取得して表示しようとしたとき、同じ画像が表示されてしまう
それを解決してみた
#include "opencv2\\opencv.hpp" int main(void){ cv::Mat back, fore; // 背景、前景 cv::VideoCapture vc(0); // カメラ入力 vc >> back; // 背景画像表示 cv::imshow("back", back); cv::waitKey(0); vc >> fore; cv::imshow("foreground", fore); cv::imshow("background", back); cv::waitKey(0); return 0; }
次に改善したソース
#include "opencv2\\opencv.hpp" int main(void){ cv::Mat back, fore; // 背景、前景 cv::VideoCapture vc(0); // カメラ入力 vc >> back; // 背景画像表示 cv::imshow("back", back); cv::waitKey(0); cv::Mat tmp = back.clone(); vc >> fore; cv::imshow("foreground", fore); cv::imshow("background", tmp); cv::waitKey(0); return 0; }
背景画像を複製しておくことで解決