python中使用opencv检测程序效率

涉及到的函数主要有两个:

  1.cv2.getTickCount()函数返回从参考点到这个函数被执行的时钟数。所以当你在一个函数前后都调用它的话,你就会得到这个函数的执行时间(时钟数)。

  2.cv2.getTickFrequency()返回时钟频率,或者说每秒钟的时钟数。

所以你可以按照以下的方式得到一个函数运行了多少秒:

 1 # -*-  coding: utf-8 -*-
 2
 3 import cv2
 4 import numpy as np
 5
 6 e1 = cv2.getTickCount()
 7
 8 #你运行的代码
 9
10 e2 = cv2.getTickCount()
11 time = (e2 - e1)/ cv2.getTickFrequency()

原文地址:https://www.cnblogs.com/gxxtsz/p/12103805.html

时间: 2024-10-20 09:53:17

python中使用opencv检测程序效率的相关文章

python中使用Opencv进行人脸检测

这两天学习了人脸识别,看了学长写的代码,边看边码边理解搞完了一边,再又是自己靠着理解和记忆硬码了一边,感觉还是很生疏,就只能来写个随笔加深一下印象了. 关于人脸识别,首先需要了解的是级联分类器CascadeClassifier,它可以它既可以是Haar特征,也可以是LBP特征的分类器,可以加载OpenCV所提供的库当中的.xml文件,文件存放在anaconda\pkgs\libopencv-3.4.1-h875b8b8_3\Library\etc的haarcascades文件夹中,包含了许多个.

python中使用Opencv进行人脸识别

上一节讲到人脸检测,现在讲一下人脸识别.具体是通过程序采集图像并进行训练,并且基于这些训练的图像对人脸进行动态识别. 人脸识别前所需要的人脸库可以通过两种方式获得:1.自己从视频获取图像   2.从人脸数据库免费获得可用人脸图像,如ORL人脸库(包含40个人每人10张人脸,总共400张人脸),ORL人脸库中的每一张图像大小为92x112.若要对这些样本进行人脸识别必须要在包含人脸的样本图像上进行人脸识别.这里提供自己准备图像识别出自己的方法. 1.采集人脸信息:通过摄像头采集人脸信息,10张以上

C与C++中的常用提高程序效率的方法

1.用a++和++a及a+=1代替a=a+1,用a--和--a及a-=1代替a=a-1 通常使用若把一个函数定义为内联函数,则在程序编译阶段,编译器就会把每次调用该函数的地方都直接替换为该函数体中的代码,因此省却了函数的调用及相应的保护现场.参数传递和返回等操作,从而加快了整个程序的执行速度.总之,存储单元.声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元.所以引用传递是比非引用传递快的. 而

python中使用OpenCV处理图片

1.导入OpenCV包 import cv2 2.读取图片 cv2.imread(image_path, mode)        读入函数,包含两个参数,第一个为图片路径及图片名,第二个为读取图片方式.mode的参数包括:cv2.IMREAD_COLOR:读入一副彩色图片:cv2.IMREAD_GRAYSCALE:以灰度模式读入图片:cv2.IMREAD_UNCHANGED:读入一幅图片,并包括其alpha通道. 3.显示图片 cv2.inshow(window_name, image)   

Python中异常打印——面向程序猿

import logging # logging.disable(logging.CRITICAL) logging.basicConfig(filename="loggingBug.txt",level=logging.DEBUG,format="%(asctime)s-%(levelname)s-%(message)s") def factorial(num): total=1 logging.debug("开始运行:{}".format(n

python中的opencv

cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) → None img – Image.pt1 – Vertex of the rectangle.pt2 – Vertex of the rectangle opposite to pt1 .color – Rectangle color or brightness (grayscale image).thickness – Thickness of lin

python中的线程(zz)

引言 一.线程 1.1 普通的多线程1.2 自定义线程类1.3 线程锁1.3.1 未使用锁1.3.2 普通锁Lock和RLock1.3.3 信号量(Semaphore)1.3.4 事件(Event)1.3.5 条件(condition)1.3 全局解释器锁(GIL)1.4 定时器(Timer)1.5 队列1.5.1 Queue:先进先出队列1.5.2 LifoQueue:后进先出队列1.5.3 PriorityQueue:优先级队列1.5.4 deque:双向队列1.6 生产者消费者模型1.7

《python解释器源码剖析》第3章--python中的字符串对象

3.0 序 我们知道python中的字符串属于变长对象,当然和int也是一样,底层的结构体实例所维护的数据的长度,在对象没有定义的时候是不知道的.当然如果是python2的话,底层PyIntObject维护的就是一个long,显然在没创建的时候就知道是1. 可变对象维护的数据的长度只能在对象创建的时候才能确定,举个例子,我们只能在创建一个字符串或者列表时,才知道它们所维护的数据的长度,在此之前,我们对此是一无所知的. 注意我们在前面提到过可变对象和不可变对象的区别,在变长对象中,实际上也可以分为

利用OpenCV检测图像中的长方形画布或纸张并提取图像内容

基于知乎上的一个答案.问题如下: 也就是在一张照片里,已知有个长方形的物体,但是经过了透视投影,已经不再是规则的长方形,那么如何提取这个图形里的内容呢?这是个很常见的场景,比如在博物馆里看到一幅很喜欢的画,用手机找了下来,可是回家一看歪歪斜斜,脑补原画内容又觉得不对,那么就需要算法辅助来从原图里提取原来的内容了.不妨把应用的场景分为以下: 纸张四角的坐标(图中红点)已知的情况 也就是上面的左图中4个红点是可以准确获取,比如手动标注,那么就简单了:用OpenCV的Perspective Trans