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优化。

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

Python:OpenCV的默认优化相关推荐

  1. 【Python | opencv+PIL】常见操作(创建、添加帧、绘图、读取等)的效率对比及其优化

    一.背景 本人准备用python做图像和视频编辑的操作,却发现opencv和PIL的效率并不是很理想,并且同样的需求有多种不同的写法并有着不同的效率.见全网并无较完整的效率对比文档,遂决定自己丰衣足食 ...

  2. Python OpenCV GrabCut进行前景分割和提取

    Python OpenCV GrabCut进行前景分割和提取 1. 效果图 1.1 边界框GrabCut效果图 1.2 Mask GrabCut效果图 2. GrabCut原理 2.1 GrabCut ...

  3. 【Python+OpenCV+sklearn+easygui】人脸(口罩)识别+口罩下人脸补全的系统设计

    [写在前面:笔者是一个才接触python半年之久的编程菜鸡,刚好这学期的课程需要用到python做一些有关计算机视觉的设计,于是就根据自己所学,同时借鉴了一些CSDN上各位大佬的思路和代码,做了一个简 ...

  4. 【python ++ opencv + pytorch 】车牌提取、分割、识别

    话不多说,先看最后成果图(如果想要全部工程,文章最后我会把github链接放上): 可以看到最终的识别车牌号码是:苏G99999. 其实前年冬天偶然想着用c++来做一个小项目,然后就用 c++ ope ...

  5. Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储

    原 Python+OpenCv实现AI人脸识别身份认证系统(2)--人脸数据采集.存储 2019年07月02日 08:47:52 不脱发的程序猿 阅读数 602更多 所属专栏: 人脸识别身份认证系统设 ...

  6. 使用Python,OpenCV在视频中进行实时条形码检测

    使用Python,OpenCV在视频中进行实时条形码检测 1. 步骤 2. 适用场景及优化 3. 总结 4. 源码 参考 上一篇博客介绍了如何检测和查找图像中的条形码.这篇博客将进行一些优化以检测实时 ...

  7. python -opencv 使用滑动条 cv2.createTrackbar,cv2.getTrackbarPos(), cv2.setTrackbarPos

    python -opencv 使用滑动条 函数createTrackbar: cv2.createTrackbar("scale", "display", 0, ...

  8. python画椭圆-python opencv圆、椭圆与任意多边形的绘制实例详解

    圆形的绘制 : OpenCV中使用circle(img,center,radius,color,thickness=None,lineType=None,shift=None)函数来绘制圆形 impo ...

  9. python+opencv用电脑调用手机摄像头或其他网路摄像头

    python+opencv用电脑调用手机摄像头或其他网路摄像头 文章目录: 1 获取手机摄像头或网络摄像头的ip 1.1 获取手机摄像头的ip 1.2 获取网络摄像头的IP 1.3 关于RTSP协议 ...

最新文章

  1. pywt.upcoef中take使用详解
  2. Android模拟器慢的解决办法
  3. [转]VSTO Office二次开发应用程序键盘鼠标钩子
  4. linux date输出到文件,Linux常用命令--ls、cd、date用法
  5. 光伏等新能源信用风险事件频繁爆发
  6. openstack 学习_需要IT工作吗? 学习OpenStack
  7. 如何有效实现软件的需求管理(1)
  8. mysql 备份库的shell_linux备份Mysql数据库shell_MySQL
  9. 嵌套的SQL另外一种写法
  10. 玩玩Linux云主机-安装MySQL ,The server quit without updating PID file,Linux chown 权限管理
  11. 【js特效】一款不错的flash视频播放器
  12. System Repair Engineer (SREng) 2.6 正式发布
  13. 泰戈尔专集:飞鸟集·新月集·园丁集(美冠纯美阅读书系·外国卷) 读后感
  14. 软件资产管理重在license
  15. The server time zone value ‘锟叫癸拷锟斤拷\u05FC时锟斤拷‘ is unrecognized or represents more than one time zone
  16. c++中new是否会自动初始化
  17. vue.runtime.esm.js?2b0e:619 [Vue warn]: Avoid mutating a prop
  18. 深入理解Docker原理
  19. 8位串行输入串行输出移位寄存器的Verilog设计
  20. 一个空肥皂盒与电风扇_tiktoks与微软的对话如何变成肥皂剧

热门文章

  1. Luogu P2827 蚯蚓
  2. Beta阶段冲刺第一天
  3. AEAI DP开发统计分析
  4. 网格分割后,边界点的获取方法
  5. Android 相关翻译
  6. android之阴影效果
  7. 【主机】软件(程序)的运行机制
  8. linux每日一练:Enable multithreading to use std::thread: Operation not permitted问题解决
  9. 让ubuntu使用root帐号并让winscp以root身份登录
  10. javascript arguments对象研究--针对jquery源码研究再研究