gpt4 book ai didi

javascript - 如何改善 OpenCV 两幅图像的背景下降

转载 作者:行者123 更新时间:2023-12-02 23:31:26 24 4
gpt4 key购买 nike

我正在将 OpenCV 与 NodeJS (opencv4nodejs) 结合使用,并尝试替换网络摄像头图片中的背景(一张在框架中带有头部,一张没有头部)。

我的代码可以工作,但蒙版的质量毫无用处,可能是因为我需要应用更好的过滤器,但我不确定是什么。

这是我的简单代码

const bgSubtractor = new cv.BackgroundSubtractorMOG2()

const back = cv.imread('/app/src/services/back.jpg').bgrToGray()
const face = cv.imread('/app/src/services/face.jpg').bgrToGray()

bgSubtractor.apply(back)
return bgSubtractor.apply(face)

我已经对它们进行了灰度处理,但仅此而已。我没有附上特定的图像,因为我想看看是否可以制作通用模型,但目的是替换某人用相机爆头的背景,然后要求退出背景(可能会有所不同)拍摄。但我不确定仅用两张图像是否可以获得不错的质量。

也许不同会更好?我假设如果我可以正确对齐图像以解决静态图像和减法之间的微小变化,但这也许就是 cv.BackgroundSubtractorMOG2 所做的?我研究了一些使用电影的示例,但结果并不理想。

最佳答案

正如 @rayryeng 指出的,MOG2 Bg Subtractor 需要使用多个背景样本进行训练,以便能够了解背景实际上是什么。

尝试这样:

  1. 拍摄几张背景图片(非常明显:))
  2. 用它们来喂养 MOG 对象学习率 > 0
  3. 将经过训练的 MOG 应用于您的框架并具有学习率= 0 检索前景对象

Very useful link that explains everything

关于javascript - 如何改善 OpenCV 两幅图像的背景下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56482737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com