小测:C++与Python版本的OpenCV速度差异如何?

话不多说,上代码,C++测试代码:

#include
#include
#include

using namespace std;

int main()
{
    // 统计n次读取图片,并进行高斯滤波的耗时
    int n = 500;
    auto time0 = clock();
    for (int i = 0; i < n; i++)
    {
        cv::Mat image = cv::imread("test.bmp");
        cv::GaussianBlur(image, image, { 11, 11 }, 11);
    }
	cout << (clock() - float(time0)) / 1000 << 's' << endl;
    return 0;
}

python测试代码:

import cv2
import time

if __name__ == '__main__':
    n = 500
    time0 = time.time()
    for i in range(n):
        image = cv2.imread("test.bmp", 0)
        image = cv2.GaussianBlur(image, (11, 11), 11, 11)
    print(time.time() - time0)

可以看到,两段代码都对同一张图像进行了500次的读取及高斯滤波,耗时分别为:
C++ 4.478s
python 4.520s
没有明显差异,欢迎评论区指出其他函数的速度比较。

你可能感兴趣的:(OpenCV学习记录,opencv,python,c++)