gpt4 book ai didi

opencv - 为什么 cv::cuda::createMedianFilter 函数比 cv::medianBlur 慢?

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:47 30 4
gpt4 key购买 nike

如您所知,Ptr<Filter> cv::cuda::createMedianFilter (int srcType, int windowSize, int partition=128)功能添加到 OpenCV3.1.0。

我正在尝试对具有自定义窗口大小(最多 21)的 8 位大图像 (6000*6000) 进行中值过滤。我比较cv::medianBlurcv::cuda::createMedianFilter结果是

windowSize    cv::medianBlur    cv::cuda::createMedianFilter
3 0.071 sec 3.637 sec
5 0.285 sec 3.679 sec
11 2.641 sec 3.652 sec
19 2.566 sec 3.719 sec

1) 为什么 cuda::createMedianFilter 比 cv::medianBlur 慢?

2) 我如何编写内核代码来实现使用具有自定义内核大小的 opencv Mat 的中值滤波器?

最佳答案

当图像大小不变时,卷积运算的速度主要取决于滤波器内核的大小。考虑到排序比求和更复杂,中值滤波将花费更长的时间。

要深入到底层实现你自己的带有自定义滤波器内核的CUDA卷积函数,你需要得到你的图像数据的原始指针

MyConv(char* image, int width, int height, int stride)

然后编写 CUDA 代码。

这是一个关于 cuda 卷积的教程。

http://igm.univ-mlv.fr/~biri/Enseignement/MII2/Donnees/convolutionSeparable.pdf

这道题也举了个例子。

cuda convolution mapping

关于opencv - 为什么 cv::cuda::createMedianFilter 函数比 cv::medianBlur 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38171209/

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