OpencvSharp图像融合

最近学习OpencvSharp使用Opencv仿照C++opencv翻译过来。举个例子,图像融合C++版

    clock_t start1, end1;
    clock_t start2, end2;

    Mat src = imread("D:/dd.jpg");
    Mat dst = imread("D:/ss.jpg ");

    Mat src_mask = 255 * Mat::ones(src.rows, src.cols, src.depth());
    Point center(dst.cols / 2, dst.rows / 2);

    Mat normal_clone;
    Mat mixed_clone;

    start1 = clock();
    seamlessClone(src, dst, src_mask, center, normal_clone, NORMAL_CLONE);
    end1 = clock();

    start2 = clock();
    seamlessClone(src, dst, src_mask, center, mixed_clone, MIXED_CLONE);
    end2 = clock();

    printf("NORMAL_CLONE use time: %d\n", end1 - start1);
    printf("MIXED_CLONE use time: %d\n", end2 - start2);

    imshow("ROI_img", src);
    imshow("bg_img", dst);
    imshow("normal_clone", normal_clone);
    imshow("mixed_clone", mixed_clone);
    waitKey(0);
上面MFC上面跑起来没问题,翻译成C#版

 

    Mat src =Cv2.ImRead("D:/dd.jpg");
    Mat dst = Cv2.ImRead("D:/ss.jpg ");

    Mat src_mask = 255 * Mat.Ones(src.Size(),MatType.CV_8U);
    OpenCvSharp.Point center=new OpenCvSharp.Point(dst.Cols / 2, dst.Rows / 2);

    Mat normal_clone=new Mat();
    Mat mixed_clone=new Mat();
        Cv2.SeamlessClone(src, dst, src_mask, center, normal_clone, SeamlessCloneMethods.NormalClone);
        Cv2.SeamlessClone(src, dst, src_mask, center, mixed_clone, SeamlessCloneMethods.MixedClone);

 Cv2.ImShow("ROI_img", src);
 Cv2.ImShow("bg_img", dst);
 Cv2.ImShow("normal_clone", normal_clone);
 Cv2.ImShow("mixed_clone", mixed_clone);
 Cv2.WaitKey(0);

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FL1623863129

你的打赏是我写文章最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值