OpenCV无缝克隆错误:vector :: _ M_fill_insert

时间:2019-04-06 06:52:10

标签: java android opencv blending

我有两个图像源和背景,并使用Alpha蒙版使用opencv无缝克隆将源图像的一部分混合到背景图像中,并删除了源和背景中的Alpha通道,并将蒙版转换为灰度(白色和黑色)。但是无缝克隆功能会引发错误,如下所示。

E / org.opencv.photo:照片:: seamlessClone_10()捕获了std :: exception:vector :: _ M_fill_insert

我使用java中的opencv'mattopbitmap'函数将所有位图转换为mat。源和背景的大小均为513 * 513,掩码为200 * 200(在android中使用opencv 3.4.1)

      Imgproc.resize(mskmat, mskmat, new Size(200, 200));
      Imgproc.resize(bgmat, bgmat, new Size(513, 513));
      Imgproc.resize(imat, imat, new Size(513, 513));
      Imgproc.cvtColor(bgmat, bgmat, Imgproc.COLOR_BGRA2BGR);
      Imgproc.cvtColor(imat, imat, Imgproc.COLOR_BGRA2BGR);
      Imgproc.cvtColor(mskmat, mskmat, Imgproc.COLOR_BGRA2GRAY);
      Mat result = new Mat();
      Photo.seamlessClone(imat, bgmat, mskmat, new org.opencv.core.Point(257, 257), result, Photo.NORMAL_CLONE);

0 个答案:

没有答案