Python-OpenCV 杂项(三): 程序性能的检测和优化

在图像处理的中每秒钟都要进行大量的运算,所以对程序的要求不仅要能给出正确的结果,同时还需要快。

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 enabled
In [5]: cv2.useOptimized()
Out[5]: True

In [6]: %timeit res = cv2.medianBlur(img,49)
10 loops, best of 3: 34.9 ms per loop

# Disable it
In [7]: cv2.setUseOptimized(False)

In [8]: cv2.useOptimized()
Out[8]: False

In [9]: %timeit res = cv2.medianBlur(img,49)
10 loops, best of 3: 64.1 ms per loop
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 错误:无法找到满足要求的版本 python-opencv(来自版本:none)错误:找不到匹配的发行版 python-opencv。 这个错误提示意味着您尝试安装名为 python-opencv 的软件包,但找不到与您的 Python 版本兼容的版本。建议您检查您的 Python 版本和软件包的兼容性,并尝试使用其他版本或其他软件包。 ### 回答2: 这是一个pip安装报错,意思是pyhton-opencv这个库的版本不符合要求,或者是没有符合要求的版本可用。就像购物时去商店里找某个商品,如果这家店没有你想要的品牌或者款式,你就无法购买了一样。 出现这种情况,我们需要检查一下是否输入了正确的库名称和版本号,或者更改一下版本号看看是否能够找到匹配的版本。如果还是无法找到匹配的版本,就需要考虑是不是依赖关系的问题,例如python-opencv这个库需要依赖另一个库,可能是这个依赖库的版本不满足所需要求,导致无法安装。 针对这种情况,我们可以尝试升级pip、减少依赖库的版本或者手动下载安装所需的库。如果实在无法解决,还可以到对应的官方网站或者开源社区寻求帮助,寻找问题的解决方案。 在解决此类问题时,我们应该在提高解决问题能力的同时,也要通过良好的代码编写规范和注释规范来减少问题的发生概率,提高代码的可维护性和可读性。 ### 回答3: 这个错误提示表示当前的Python环境无法找到满足要求的opencv库的安装版本。这可能是由于版本不匹配或者缺少依赖库等原因造成的。 解决这个问题需要考虑以下几个方面: 1. 确认Python版本是否与opencv库要求的Python版本匹配。 首先要查看系统安装的Python版本是否符合opencv库的要求,通常opencv库要求Python版本为2.7或3.5以上。如果当前Python版本过低,可以考虑升级Python版本,或者安装相应版本的opencv库。 2. 确认是否安装了opencv库的依赖库。 opencv库有一些依赖库,例如numpy、matplotlib等,如果这些依赖库没有安装或者版本不匹配,也会导致安装失败。可以通过pip命令安装这些依赖库,例如: pip install numpy matplotlib 3. 尝试使用其他方式安装opencv库。 如果以上方法都没有解决问题,可以考虑尝试其他方式安装opencv库,例如使用源码安装、使用conda安装等。具体方法可以参考相关教程或者官方文档。 总之,解决这个问题需要综合考虑多方面的因素,包括Python版本、依赖库、安装方式等。如果遇到问题可以查看相关错误提示,并参考相关资料进行排查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值