opencv处理图像

opencv 安装

Anaconda 下安装
conda install -c menpo opencv3

或者在Https://anaconda.org/中寻找其他版本进行安装

conda search opencv
使用pip安装opencv
pip install opencv-python
下载whl包,手动安装

网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv。去该网站下载whl文件。将其拷贝到python目录下的\Lib\site-packages文件夹中,在这个目录下打开命令行,输入相应的whl文件代码,如下

pip install opencv_python-3.4.3-cp36-cp36m-win_amd64.whl

安装完成后可以使用下面的命令查看是否安装成功

import cv2
print(cv2.__version__)

imread函数

imread python原型

retval = cv.imread( filename[, flags] )

imread函数需要两个参数,一个是图片文件名(相对路径或者绝对路径都可以),另一个是flags读取标记,选取读图的方式,默认值为IMREAD_COLOR,flag的设定与用什么颜色格式读取有关。
目前,支持下面的格式:

  • Windows bitmaps - *.bmp, *.dib (always supported)
  • JPEG files - *.jpeg, *.jpg, *.jpe (see the Note section)
  • JPEG 2000 files - *.jp2 (see the Note section)
  • Portable Network Graphics - *.png (see the Note section)
  • WebP - *.webp (see the Note section)
  • Portable image format - *.pbm, *.pgm, *.ppm *.pxm, *.pnm (always supported)
  • PFM files - *.pfm (see the Note section)
  • Sun rasters - *.sr, *.ras (always supported)
  • TIFF files - *.tiff, *.tif (see the Note section)
  • OpenEXR Image files - *.exr (see the Note section)
  • Radiance HDR - *.hdr, *.pic (always supported)
  • Raster and Vector geospatial data supported by GDAL (see the Note section)

flags的值有下面几种
在这里插入图片描述

resize

函数原型:

resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)

参数描述
  • src 原图像 (必须参数)
  • dsize 输出图像所需要的大小 (必须参数)
  • fx 沿着水平轴的比例因子(可选参数)
  • fy 沿着垂直轴的比例因子(可选参数)
  • interpolation 插值方式 (可选参数)
插值方式
  • cv.INTER_NEAREST 最近邻插值
  • cv.INTER_LINEAR 双线性插值
  • cv.INTER_CUBIC 双线性插值
  • cv.INTER_AREA 使用像素区域关系重新采样。它可能是图像抽取的首选方法,因为它可以提供无莫尔条纹的结果。但是当图像被缩放时,它类似于INTER_NEAREST方法。
### 回答1: 如何提高 OpenCV 处理图像的速度: 1. 使用加速器:OpenCV 支持使用多种加速器,例如 CUDA 和 OpenCL。 2. 使用预先处理:在实际处理前预先处理图像,例如缩小图像大小或转换为灰度图像。 3. 优化代码:避免冗余代码,并尝试使用高效的 OpenCV 函数。 4. 并行处理:使用多核处理器或分布式系统进行并行处理。 5. 预先训练:对于机器学习模型,预先训练模型并保存模型参数,以减少每次处理图像所需的时间。 ### 回答2: 要提高OpenCV处理图像的速度,可以采取以下几种方法: 1. 使用较小的图像尺寸:如果图像的分辨率太高,可能会导致处理速度变慢。可以考虑将图像缩小到适当的尺寸,以减少计算量。 2. 使用多线程并行处理OpenCV支持多线程处理,可以将图像分割成多个区域,分别在不同的线程中处理,以加快处理速度。 3. 使用适当的算法和函数:在进行图像处理时,选择适合的算法和函数,能够更高效地完成特定任务。了解OpenCV的函数参数和算法的特点,可以帮助我们选择合适的方法。 4. 优化代码实现:对于重复执行的代码,可以考虑进行代码优化,避免重复计算和内存操作,以提高运行效率。 5. 使用硬件加速:利用图像处理的硬件加速功能,如GPU,可以提供更高的处理速度。OpenCV也提供了与硬件加速相关的函数和算法。 6. 选择合适的数据类型:在OpenCV中,针对不同的图像类型有不同的数据类型。选择合适的数据类型,可以减少内存占用和计算量。 7. 使用OpenCV中的优化功能:OpenCV提供了一些优化的功能和库,如T-API、UMat等,可以提供更高的处理效率。 综上所述,通过调整图像尺寸、使用多线程、选择合适的算法和函数、优化代码实现、利用硬件加速、选择合适的数据类型以及使用OpenCV中的优化功能,可以有效地提高OpenCV处理图像的速度。 ### 回答3: 要提高OpenCV处理图像的速度,可以尝试以下几种方法: 1. 选择适当的图像处理算法:OpenCV提供了许多图像处理算法,每种算法都有不同的速度和效果。根据具体需求选择合适的算法,有时候简单的算法比复杂的算法更快。 2. 优化图像读取和保存速度:在读取和保存图像时,可以选择适当的图像格式(如JPEG)以减小文件大小,从而提高读取和保存的速度。 3. 并行处理OpenCV提供了一些并行处理的函数(如并行循环),可以利用多核处理器实现并行计算,从而提高处理速度。 4. 减小图像尺寸:如果处理图像过大,可以考虑减小图像尺寸,这样可以减少计算量,从而提高处理速度。可以使用OpenCV提供的函数来调整图像大小。 5. GPU加速:如果有GPU可用,可以使用OpenCV提供的GPU加速功能来处理图像,因为GPU在并行计算方面有很大的优势,可以显著提升处理速度。 6. 优化算法参数:某些算法拥有一些可调参数,通过调整这些参数,可以提高算法的速度和效果。 总之,要提高OpenCV处理图像的速度,需要选择适当的算法、优化图像读取和保存、并行处理、减小图像尺寸、使用GPU加速以及优化算法参数等方法来提高处理速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值