画像間の演算として,マスク処理を行う.マスク画像は予め作成しておく.アルゴリズムは下記.
実行結果は下記.
下記,"HorseSports.jpg","HorseSports_mask.jpg","Japan.jpg" を適切なディレクトリに保存し,保存先を指定する(青字の部分).
プロジェクトフォルダの中に画像を入れる場合には,下記となる.
C:\(OpenCVプロジェクトを作成したフォルダ)\HorseSports.jpg
C:\(OpenCVプロジェクトを作成したフォルダ)\HorseSports_mask.jpg
C:\(OpenCVプロジェクトを作成したフォルダ)\Japan.jpg
//03Mask.cpp
#include <opencv2/opencv.hpp>
int main()
{
// 入力画像を読み込み
cv::Mat img = cv::imread("HorseSports.jpg");
// マスク画像を読み込み
cv::Mat mask = cv::imread("HorseSports_mask.jpg");
// 背景画像を読み込み
cv::Mat dst = cv::imread("Japan.jpg");
img.copyTo(dst, mask);
// ウィンドウに画像表示
imshow("Input", img);
imshow("Mask", mask);
imshow("Result", dst);
// 任意のキーが押されるまで待機
cv::waitKey(0);
return 0;
}