python-opencv Tutorials 一码人翻译(9)核心操作 性能测试

  • 目标

在图像处理过程中,由于您每秒处理大量的操作,所以您的代码不仅提供了正确的解决方案,而且还以最快的方式提供了。在这一章中,你们将学习

来测量代码的性能。

一些提高代码性能的技巧。

你会看到这些函数:cv.getTickCount, cv.getTickFrequency等等。

除了OpenCV之外,Python还提供了一个模块时间,这有助于度量执行的时间。另一个模块概要文件有助于获得关于代码的详细报告,比如代码中每个函数花费了多少时间,调用了多少次函数等等。但是,如果您使用的是IPython,所有这些特性都以一种用户友好的方式集成在一起。我们将会看到一些重要的内容,更多的细节,请检查附加资源部分中的链接。

  • 测量性能和OpenCV

cv.getTickCount 函数返回一个引用事件(如力矩机器被开启)后的时钟周期的数量,直到这个函数被调用的时刻。所以如果你在函数执行之前和之后调用它,你就会得到用来执行一个函数的时钟周期的数量。

cv.getTickFrequency频率函数返回时钟周期的频率,或者每秒时钟周期的次数。因此,为了在几秒钟内找到执行的时间,您可以执行以下操作:一些提高代码性能的技巧。

e1 = cv.getTickCount()
# your code execution
e2 = cv.getTickCount()
time = (e2 - e1)/ cv.getTickFrequency()

例子 

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
img1 = cv.imread('pikachu2.jpg')




e1 = cv.getTickCount()
for i in range(5,49,2):
    img1 = cv.medianBlur(img1,i)
e2 = cv.getTickCount()
t = (e2 - e1)/cv.getTickFrequency()
print( t )

# Result I got is 3.7553666074876566 seconds

结果

​3.7553666074876566

 

请注意

你也可以对时间模块做同样的事情。而不是简历。getTickCount,使用time.time()函数。然后取两倍的差。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值