【问题标题】:OpenCV: Denoising image / video frameOpenCV:去噪图像/视频帧
【发布时间】:2015-05-20 05:11:44
【问题描述】:

我想使用 OpenCV 和 C++ 对视频进行降噪。我在 OpenCV 文档网站上找到了这个:

fastNlMeansDenoising(contourImage,contourImage2);

每次加载新帧时,我的程序应该对当前帧(contourImage)进行去噪并将其写入contourImage2。

但如果我运行代码,它会返回 0 并退出。我做错了什么还是有另一种去噪图像的方法? (应该很快,因为我正在处理视频)

【问题讨论】:

  • 显示您尝试过的代码。如果不查看您实际尝试过的内容,就无法诊断出问题的确切位置。

标签: c++ opencv video noise


【解决方案1】:

当您使用 c++ 时,您没有提供完整的参数,请尝试这种方式。

cv::fastNlMeansDenoisingColored(contourImage, contourImage2, 10, 10,7, 21);

// This is Original Function to be used.
cv::fastNlMeansDenoising(src[, dst[, h[, templateWindowSize[,     searchWindowSize]]]]) → dst

参数:
src – 输入 8 位 1 通道、2 通道或 3 通道图像。
dst – 输出图像与 src 相同的大小和类型。
templateWindowSize – 用于计算权重的模板补丁的大小(以像素为单位)。应该是奇葩。推荐值 7 像素。
searchWindowSize – 用于计算给定像素加权平均值的窗口大小(以像素为单位)。应该是奇葩。线性影响性能:更大。
searchWindowsSize - 更长的去噪时间。推荐值 21 像素。
h – 调节滤镜强度的参数。大的h值完美去除噪点但也去除了图像细节,较小的h值保留了细节但也保留了一些噪点

【讨论】:

    猜你喜欢
    • 2022-10-21
    • 2017-07-05
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    相关资源
    最近更新 更多