十一 程序性参检测及优化
1 使用opencv检测程序效率
计算函数的执行时间,可以在函数前后调用
示例代码如下:
e1=cv2.getTickCount()
#函数体
e2=cv2.getTickCount()
time=(e2-e1)/cv2.getTickFrequency()
print("程序运行时间为: ",time)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/11/15 9:04
# @Author : Retacn
# @Site : 使用opencv检测程序
# @File : checkCode.py
# @Software: PyCharm
import cv2
import numpy as
np
img1=cv2.imread('test.jpg')
e1=cv2.getTickCount()
for i in
range(5,49,2):
#中值滤波
img1=cv2.medianBlur(img1,i)
e2=cv2.getTickCount()
t=(e2-e1)/cv2.getTickFrequency()
print("程序运行时间",t)
#运行结果如下:
#程序运行时间 0.2017214056983332
2 opencv中的默认优化
#检查优化是否开启
cv2.useOptimized()
#开启优化函数
cv2.setUseOptimized()
示例代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/11/15 9:12
# @Author : Retacn
# @Site : 使用opencvOptimized优化
# @File : useOptimized.py
# @Software: PyCharm
import cv2
import numpy as
np
img1=cv2.imread("test.jpg")
#检查是否开启优化
print('是否开启优化:',cv2.useOptimized())
e1=cv2.getTickCount()
for i in
range(5,49,2):
#中值滤波
img1=cv2.medianBlur(img1,i)
e2=cv2.getTickCount()
t=(e2-e1)/cv2.getTickFrequency()
print("开启优化时,程序运行时间",t)
#关闭优化
cv2.setUseOptimized(False)
print('是否开启优化:',cv2.useOptimized())
e1=cv2.getTickCount()
for i in
range(5,49,2):
#中值滤波
img1=cv2.medianBlur(img1,i)
e2=cv2.getTickCount()
t=(e2-e1)/cv2.getTickFrequency()
print("开启优化时,程序运行时间",t)
是否开启优化: True
开启优化时,程序运行时间 0.17524755727071187
是否开启优化: False
开启优化时,程序运行时间 0.29393464159619015