OpenCV:去噪图像/视频帧
OpenCV: Denoising image / video frame
我想使用 OpenCV 和 C++ 对视频进行降噪。我在 OpenCV 文档站点上找到了这个:
fastNlMeansDenoising(contourImage,contourImage2);
每次加载新帧时,我的程序都应该对当前帧 (contourImage) 进行降噪并将其写入 contourImage2。
但是如果我 运行 代码,它 returns 0 并退出。我做错了什么或者是否有其他方法可以对图像进行降噪? (应该很快,因为我正在处理视频)
当您使用 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 – window 的像素大小,用于计算给定像素的加权平均值。应该是奇数。线性影响性能:更大。
searchWindowsSize - 更长的去噪时间。推荐值 21 像素。
h – 调节过滤强度的参数。大h值完美去除噪声但也去除了图像细节,小h值保留细节但也保留了一些噪声
我想使用 OpenCV 和 C++ 对视频进行降噪。我在 OpenCV 文档站点上找到了这个:
fastNlMeansDenoising(contourImage,contourImage2);
每次加载新帧时,我的程序都应该对当前帧 (contourImage) 进行降噪并将其写入 contourImage2。
但是如果我 运行 代码,它 returns 0 并退出。我做错了什么或者是否有其他方法可以对图像进行降噪? (应该很快,因为我正在处理视频)
当您使用 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 – window 的像素大小,用于计算给定像素的加权平均值。应该是奇数。线性影响性能:更大。
searchWindowsSize - 更长的去噪时间。推荐值 21 像素。
h – 调节过滤强度的参数。大h值完美去除噪声但也去除了图像细节,小h值保留细节但也保留了一些噪声