【问题标题】:Photoshop like brush with OpenCVPhotoshop 像刷 OpenCV
【发布时间】:2017-09-18 18:32:28
【问题描述】:

我正在尝试使用 OpenCV 添加一些模糊笔触

如果我使用 cv.add 或 cv.addweighted,我只得到了一半的红色(看起来是粉红色),

但我希望红色覆盖底层图片,而不是混合。

如果我使用copyto或clone,我无法得到模糊边缘,那我应该怎么做呢??

【问题讨论】:

  • 如果您不混合颜色,您将不会有任何模糊/柔和边缘效果,因为您将有背景或 100% 红色...

标签: opencv image-processing


【解决方案1】:

您的画笔图像的背景是黑色的。如果您在 Photoshop 中将该笔刷图层的混合模式设置为 screen,则红色渐变将显示出来,黑色背景将变为透明。

这里有几个相关的帖子:

或者,如果您使用的是 OpenCV 3.0,您可以尝试使用 seamlessClone

【讨论】:

    【解决方案2】:

    我有一个技巧,只需将该区域复制到一个新垫子上,然后在新垫子上画一个圆圈并将其模糊,然后使用 addWeighted 将其与图像混合到我需要的任何 alpha 中。

    Mat roi = myImage.submat(y-20, y+20, x-20, x+20);
    Mat mix = roiB.clone();
    
    Imgproc.circle(mix, new Point(20, 20), 12, color, -1);
    Core.addWeighted(mix, alpha, roiB, beta, 0.0, mix);
    Imgproc.GaussianBlur(mix, mix, new Size(21, 21), 0);
    
    mix.copyTo(roiB);
    

    【讨论】:

      猜你喜欢
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2014-05-16
      • 1970-01-01
      • 2011-03-26
      • 2015-08-11
      • 1970-01-01
      相关资源
      最近更新 更多