gpt4 book ai didi

c++ - OpenCV去噪非常慢

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:13 28 4
gpt4 key购买 nike

需要图像去噪。尝试使用 OpenCV 并获得非常糟糕的性能~每张图像 30 秒!

尝试使用:

cv::fastNlMeansDenoising
cv::fastNlMeansDenoisingColored
cv::xphoto::dctDenoising

图像:最大尺寸(1024x1024)colred 3 channel

调用示例:

Mat src;
cv::imread("myfileName.jpg", src); //assume it's 1024x768 photo
Mat trg(src.size(),src.type());
cv::xphoto::dctDenoising(src,trg,15); // sygma 15 got from algorithm's site as balanced value

一切正常但非常慢。

我的配置:

联想T510,酷睿i7

Windows 10

OpenCV 3.0.0(来源 - 最新 - 稳定)

TBB(来自官方网站的最新 bin)

OpenCV 使用 VS2015 构建,默认 CMAKE 设置没有“world”模块和 WITH_TBB,所有 TBB 目录都设置为 (.../ia32/vc12)

(乍一看,我认为问题是我的 opencv 构建时没有使用 TBB,但 TBB 对去噪没有帮助)

资源:

  1. 在执行期间 CPU 加载了 100% 的所有内核(因此多处理工作)

  2. 最多使用 14 个线程(因此多线程正在工作)

有什么方法可以解决这个性能问题,或者它是使用 OpenCV 去噪的真实速度吗?

可能是我的控制台应用程序构建的 C++ 设置存在一些问题(我来自 .net 世界,我对 C++ 不太熟悉)?

最佳答案

答案很简单 - 我使用的是 opencv 的调试版本(它通常用于 .net),但对于 C++,调试和发布配置之间的性能差异很大。

重新映射到发布版本后,每张图片的持续时间接近 5 秒。它没有我预期的那么快,但它是可用的。

关于c++ - OpenCV去噪非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32931231/

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