opencv优化算法,提高速度的案例

版权声明:belongs to tony2278 https://blog.csdn.net/tony2278/article/details/89677287

OpenCV常见的优化方法和技巧总结

一、OpenCV常见的优化方法总结
1.1 cv::imread()设置reduce模式:
  cv::imread()设置reduce模式, 读取缩放的低分辨率小图,或者直接读取灰度图,可以做到自适应,先用EXIF信息读取图像的分辨率,当分辨率大于一定阈值,则设置读取模式为:IMREAD_REDUCED_COLOR_2或者IMREAD_REDUCED_COLOR_4 ,避免内存过大以及编程resieze耗时 

OpenCV之时间测试和性能优化技术[Python]

一、时间测试
对比于Ipython中使用的   %time  (后加多行代码) 、  %timeit  (后加单行代码),OpenCV也有自己的时间测试计算函数

cv2.getTickCount:函数返回一个参考事件(就像机器开启的瞬间)到此函数被调用之间的时钟周期数。所以如果你在一个函数执行之前和之后调用它,你会得到用来执行一个函数的时钟周期数。
cv2.getTickFrequency:函数返回时钟周期的频率或每秒钟的时钟周期数。所以要以秒数为单位测量执行的时间
python测试代码:

以中值滤波为例[code]

OpenCV图像处理》 第七章 加速图像处理

OpenCV库包括了对OpenCL和CUDA GPU架构的支持。
OpenCL(Open Computing Language):开放计算语言,可以附加在主机处理器的CPU或GPU上执行。
OpenCV有一个新的统一数据结构UMat,用于在必要和可能的时候,负责将数据传输到GPU。
目前,有5个可用的OpenCL SDK:AMD APP SDK、Intel SDK、IBM OpenCL开发工具包、IBM OpenCL公共运行库、Nvidia OpenCL驱动程序和工具。
 

检查你的OpenCL是否可用[code]

CPU和GPU处理对比[code]

人脸辨认、GPU和CPU处理区别[code]

使用OpenCV和CUDA实现GPU加速的计算机视觉(2018年)

        使用OpenCV和CUDA实现GPU加速的计算机视觉
        ——了解CUDA如何通过访问GPU的强大功能,使OpenCV能够处理计算机和机器视觉中复杂且快速增长的图像数据处理

hands-gpu-accelerated-computer-vision-opencv-cuda_01.png 主要特征

探索使用OpenCV和CUDA的GPU处理能力的示例
增强嵌入式硬件平台上算法的性能
发现用于GPU加速的C ++和Python库

图书说明

计算机视觉已经在广泛的行业中发生了革命性的变化,OpenCV是最广泛选择的计算机视觉工具,具有多种编程语言的工作能力。如今,在计算机视觉中,需要实时处理大图像,这对于OpenCV本身很难处理。这就是CUDA的亮点,允许OpenCV利用功能强大的NVDIA GPU。本书详细介绍了如何将OpenCV与CUDA集成到实际应用中。

首先,您将了解使用CUDA进行GPU编程,这是从未使用过GPU的计算机视觉开发人员的一个重要方面。然后,您将通过一些实际示例继续探索使用GPU和CUDA的OpenCV加速。

一旦掌握了核心概念,您就可以熟悉在NVIDIA Jetson TX1上部署OpenCV应用程序,这在计算机视觉和深度学习应用程序中非常流行。本书的最后几章解释了PyCUDA,这是一个利用CUDA和GPU加速的Python库,可供使用OpenCV和Python的计算机视觉开发人员使用。

在本书的最后,借助本书的实践方法,您将拥有增强的计算机视觉应用程序。

猜你喜欢

转载自blog.csdn.net/tony2278/article/details/89677287