梯度直方图

信息处理 图像处理 图像分割 图像恢复
2022-01-31 03:21:21

我正在计算哪个计算速度更快,快速傅里叶逆变换或梯度直方图,但我无法计算它的运行时间。

如果图像有“p”个像素,梯度直方图的运行时间是多少?

1个回答

为了给这个问题加上一些数字,我从 scikit-image ( skimage.feature.hog) 中实现了一个基本的梯度直方图。这是 HOG 的时序数据,默认参数应用于skimage.data.astronaut黑白图像并重新缩放以具有给定尺寸:

Image dimensions......(102, 102)
3.49 ms ± 26.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
Image dimensions......(256, 256)
27.5 ms ± 295 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
Image dimensions......(512, 512)
123 ms ± 2.88 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Image dimensions......(768, 768)
284 ms ± 9.18 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Image dimensions......(1024, 1024)
509 ms ± 8.62 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Image dimensions......(2048, 2048)
2 s ± 15.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

这是np.fft.ifft2对同一组图像进行傅里叶变换的傅里叶逆变换 ( ) 的时序数据。(注意,取傅里叶变换不包括在计时结果中)

Image dimensions......(102, 102)
684 µs ± 32.2 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
Image dimensions......(256, 256)
2.51 ms ± 26.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
Image dimensions......(512, 512)
21 ms ± 519 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
Image dimensions......(768, 768)
42.5 ms ± 621 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
Image dimensions......(1024, 1024)
85.9 ms ± 1.47 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Image dimensions......(2048, 2048)
381 ms ± 9.18 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

时序数据图 在此处输入图像描述