旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

【OpenCV】 画像を合成する(論理積)

OpenCVの復習が必要になったのでメモしておきます。

// グレースケールで画像を読み込む
UMat source1;
imread("lenna.jpg", CV_LOAD_IMAGE_GRAYSCALE).copyTo(source1);
if (source1.empty())
{
    throw runtime_error("Failed to open image");
}

// 画像を二値化する
UMat source2;
threshold(source1, source2, 0.0, 255.0, THRESH_BINARY | THRESH_OTSU);

// 画像の論理積
UMat destination;
bitwise_and(source1, source2, destination);

imshow("source1", source1);
imshow("source2", source2);
imshow("destination", destination);

f:id:ni4muraano:20170115145041j:plain:w200 & f:id:ni4muraano:20170116091948j:plain:w200 = f:id:ni4muraano:20170116155520j:plain:w200