天天看點

對OpenCV中seamlessClone的初步實驗

seamlessClone是OpenCV中新出現的函數,應該說如果能夠基于較為準确的圖像分割,能夠得到很好的結果。

原始的前景,背景

對OpenCV中seamlessClone的初步實驗
對OpenCV中seamlessClone的初步實驗

三種flag下的融合結果

對OpenCV中seamlessClone的初步實驗

//注意頭檔案中添加  #include <opencv2/photo.hpp>

int main( int argc, const char** argv )

{

    Mat src = imread("iloveyoupapa.png");

    Mat dst = imread("wood.png");

    // Create an all white mask

    Mat src_mask = 255 * Mat::ones(src.rows, src.cols, src.depth());

    // The location of the center of the src in the dst

    Point center(dst.cols/2,dst.rows/2);

    // Seamlessly clone src into dst and put the results in output

    Mat normal_clone;

    Mat mixed_clone;

    Mat monochrome_clone;

    seamlessClone(src, dst, src_mask, center, normal_clone, NORMAL_CLONE);

    seamlessClone(src, dst, src_mask, center, mixed_clone, MIXED_CLONE);

    seamlessClone(src, dst, src_mask, center, monochrome_clone, MONOCHROME_TRANSFER);

    imshow("normal_clone",normal_clone);

    imshow("minxed_clone",mixed_clone);

    imshow("monochrome_clone",monochrome_clone);

    imshow("wood",dst);

    imshow("lovepapa",src);

    waitKey();

    return 0;

}

當然選擇這個例子有些讨巧的存在,因為前景為白底紅色的文字,這個時候還是比較好進行區分的。同時我還做了一些其他圖檔的實驗。

使用蝴蝶和星空來進行融合

對OpenCV中seamlessClone的初步實驗
對OpenCV中seamlessClone的初步實驗
http://www.wiz.cn/i/

目前方向:圖像拼接融合、圖像識别

聯系方式:[email protected]

繼續閱讀