使用OpenCV检测程序效率
2017-05-03 17:15
148 查看
cv2.getTickCount()函数返回从参考点到这个函数被执行的时钟数;cv2.getTickFrequency()返回时钟频率。
t1=cv2.getTickCount()
t2=cv2.getTickCount()
time=(t2-t1)/cv2.getTickFrequency()
示例:使用窗口大小不同的(5,7,9..)的核函数做中值滤波:
#-*-coding:utf-8-*-
Import cv2
Import numpy as np
Img1=cv2.imread(“roi.jpg”)
t1=cv2.getTickCount()
for i in xrange(5,49,2)
img1=cv2.medianBlur(img1,i)
t2=cv2.getTickCount()
time=(t2-t1)/cv2.getTickFrequency()
函数返回处理结果,第一个参数是待处理图像,第二个参数是孔径的尺寸,一个大于1的奇数。比如这里是i,中值滤波器就会使用i×i的范围来计算。即对像素的中心值及其i×i邻域组成了一个数值集,对其进行处理计算,当前像素被其中值替换掉。如果在某个像素周围有白色或黑色的像素,这些白色或黑色的像素不会选择作为中值(最大或最小值不用),而是被替换为邻域值。
由于中值滤波不会处理最大和最小值,所以就不会受到噪声的影响。相反,如果直接采用blur进行均值滤波,则不会区分这些噪声点,滤波后的图像会受到噪声的影响。中值滤波器在处理边缘也有优势。但中值滤波器会清除掉某些区域的纹理(如背景中的树)。
t1=cv2.getTickCount()
t2=cv2.getTickCount()
time=(t2-t1)/cv2.getTickFrequency()
示例:使用窗口大小不同的(5,7,9..)的核函数做中值滤波:
#-*-coding:utf-8-*-
Import cv2
Import numpy as np
Img1=cv2.imread(“roi.jpg”)
t1=cv2.getTickCount()
for i in xrange(5,49,2)
img1=cv2.medianBlur(img1,i)
t2=cv2.getTickCount()
time=(t2-t1)/cv2.getTickFrequency()
函数返回处理结果,第一个参数是待处理图像,第二个参数是孔径的尺寸,一个大于1的奇数。比如这里是i,中值滤波器就会使用i×i的范围来计算。即对像素的中心值及其i×i邻域组成了一个数值集,对其进行处理计算,当前像素被其中值替换掉。如果在某个像素周围有白色或黑色的像素,这些白色或黑色的像素不会选择作为中值(最大或最小值不用),而是被替换为邻域值。
由于中值滤波不会处理最大和最小值,所以就不会受到噪声的影响。相反,如果直接采用blur进行均值滤波,则不会区分这些噪声点,滤波后的图像会受到噪声的影响。中值滤波器在处理边缘也有优势。但中值滤波器会清除掉某些区域的纹理(如背景中的树)。
相关文章推荐
- 检测Python程序执行效率及内存和CPU使用的7种方法
- 检测Python程序执行效率及内存和CPU使用的7种方法
- AdaBoost 人脸检测介绍(6) : 使用OpenCV自带的 AdaBoost程序训练并检测目标
- 关于在C#程序中使用checked、unchecked和不使用检测的异同
- 利用KINECT+OPENCV检测手势的演示程序
- 如何检测使用Qt Creator制作的程序中的括号是否匹配
- valgrind 使用 (linux程序内存检测)
- 检测代码运行效率 GetTickCount()的使用
- 使用黑金开发板做出的键盘边沿检测的用数码管显示的verilog hdl 程序
- 基于颜色模式的颜色条形码检测(使用python 2.7和opencv 2.2)
- 在MFC中使用OpenCV(OpenCV教程_基础篇。2.8节例子程序)
- 使用OpenCv库的MFC程序在退出后报内存泄露Detected memory leaks! 可能解决方法
- 检测Windows程序中的内存使用错误
- 使用opencv简单的播放AVI程序(40行)
- Linux使用valgrind来检测程序的内存泄漏
- 使用instrument检测ios程序内存问题
- 使用IronPython检测ASP.NET程序状况(上)
- 检测代码运行效率 GetTickCount()的使用
- 【华磊原创】安装程序自动检测安装.Net Framework运行环境(使用InnoSetup)
- 安装程序自动检测安装.Net Framework运行环境(使用InnoSetup)