Python-OpenCV 杂项(三): 程序性能的检测和优化
来源:互联网 发布:网络电视上的直播软件 编辑:程序博客网 时间:2024/06/02 11:43
在图像处理的中每秒钟都要进行大量的运算,所以对程序的要求不仅要能给出正确的结果,同时还需要快。
0x00. 获取程序执行时间
cv2.getTickCount 函数返回从参考点到这个函数被执行的时钟数。所以当在一个函数执行前后都调用它的话,就会得到这个函数的执行时间(时钟数)。
使用示例:
e1 = cv2.getTickCount()# 你的代码e2 = cv2.getTickCount()time = (e2 - e1)/ cv2.getTickFrequency()
cv2.getTickFrequency 返回时钟频率,或者说每秒钟的时钟数。
使用示例:
img1 = cv2.imread('messi5.jpg')e1 = cv2.getTickCount()for i in xrange(5,49,2): img1 = cv2.medianBlur(img1,i)e2 = cv2.getTickCount()t = (e2 - e1)/cv2.getTickFrequency()print t
当然,Python中也可以使用time库来获取程序执行的时间。
0x01. OpenCV 中的默认优化
OpenCV 中的很多函数都被优化过(使用 SSE2,AVX 等)。也包含一些没有被优化的代码。如果我们的系统支持优化的话要尽量利用这一点。在编译时优化是被默认开启的。
可以使用函数 cv2.useOptimized() 来查看优化是否被开启了,使用函数 cv2.setUseOptimized() 来开启优化。
# check if optimization is enabledIn [5]: cv2.useOptimized()Out[5]: TrueIn [6]: %timeit res = cv2.medianBlur(img,49)10 loops, best of 3: 34.9 ms per loop# Disable itIn [7]: cv2.setUseOptimized(False)In [8]: cv2.useOptimized()Out[8]: FalseIn [9]: %timeit res = cv2.medianBlur(img,49)10 loops, best of 3: 64.1 ms per loop
1 0
- Python-OpenCV 杂项(二)(三): 鼠标事件、 程序性能的检测和优化
- Python-OpenCV 杂项(三): 程序性能的检测和优化
- python opencv入门 程序性能检测(8)
- Python和OpenCV简单的人脸检测程序
- Python-OpenCV 杂项(一):图像绘制
- Python-OpenCV 杂项(二): 鼠标事件
- MYSQL性能检测和优化
- React性能检测和优化
- CSAPP:优化程序性能(三)
- opencv程序三:canny边缘检测算法
- java性能优化笔记(三)java程序优化
- java性能优化笔记(三)java程序优化
- java性能优化笔记(三)java程序优化
- java性能优化笔记(三)java程序优化
- opencv<三>基于opencv的canny检测
- Asp.net程序性能优化的七个方面之三(程序改进)
- Python-OpenCV 杂项(一):图像绘制
- Python-OpenCV 杂项(一):图像绘制
- Python-OpenCV 杂项(二): 鼠标事件
- 一些python模块的安装
- 说说进程与线程的区别与联系
- Android程序里面的进程和线程如何运作的
- android 中 smack重新登录openfire服务器
- Python-OpenCV 杂项(三): 程序性能的检测和优化
- 经纬度计算距离
- Eclipse设置
- Windows下另存为UTF-8,打开是ANSI的问题
- Windows7下VS2010x86平台CGAL安装
- oracle 11g scott用户的加解锁方法以及修改密码
- java生成MD5码跟 mysql生成的MD5码 保持一致!
- 不不成能 《问道》悟道体系重写战役格式
- 字符串处理 - ANSI - Unicode - UTF8 转换