opencv_python学习笔记九

十一 程序性参检测及优化

 

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

posted @ 2016-11-21 16:28  retacn_yue  阅读(259)  评论(0编辑  收藏  举报