Python:OpenCV的默认优化

Python:OpenCV的默认优化

许多OpenCV函数都是使用SSE2、AVX等优化的。它还包含未优化的代码。

因此,如果我们的系统支持这些特性,我们应该利用它们(几乎所有现代处理器都支持它们)。

在编译时默认启用它。

因此OpenCV在启用时运行优化的代码,否则运行未优化的代码。

可以使用css . useoptimized()检查它是否启用/禁用,使用css . setuseoptimized()检查它是否启用/禁用。

让我们看一个简单的例子。

# check if optimization is enabled
cv.useOptimized()
# 结果
True
%timeit res = cv.medianBlur(img,49)
# 结果
10 loops, best of 3: 34.9 ms per loop
# Disable it
cv.setUseOptimized(False)
cv.useOptimized()
# 结果
False
%timeit res = cv.medianBlur(img,49)
# 结果
10 loops, best of 3: 64.1 ms per loop

正如你所看到的,优化的中值滤波比未优化的版本快2倍。

如果你检查它的源码,你可以看到中值滤波使用SIMD优化。

因此,您可以使用它在代码的顶部启用优化(记住,它是默认启用的)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值