OpenCV图像读取

图像读取与显示


前言

在使用opencv-python库时,需要做的最简单工作就是导入库文件,读取图像,本文章主要介绍cv.imread()函数的相关属性。


cv.imread()

一、cv.imread()函数的原型

img = cv.imread(filename
				[,flags])
				#filename:需要读取图像的路径,包含图像的名称和图像的扩展名
				#flags:读取图像的标志,如将彩色图像按照灰度图来读取,默认是按照彩色图像格式读取。

cv.imread()函数用于读取指定的图像文件,并将读取回来的结果返回。如果图像的路径错误、破损或者格式不支持,则无法正确读取图像,但此时并不会报错,而是返回None。因此,使用命令print(img)查看得到的结果是否为None,进而判断是否读取成功了图像。

import numpy as np
import matplotlib.pyplot as plt
import cv2 as cv

img = cv.imread(路径)#默认以彩色图像读取图像
if img is None:
	print(提示内容)
#当然我们也可以将if img is None:这一段代码改为print(img),这两种写法都是可以的。

二、cv.imread()函数中的flags选择

标志简记作用
CV.IMREAD_UNCHANGED-1按照图像原样读取,保留alpha通道(第四个通道)
CV.IMREAD_GRAYSCALE0将图像转换为单通道灰度图像读取
CV.IMREAD_COLOR1将图像转换为三通道BGR色彩图像读取
CV.IMREAD_ANYDEPTH2保留原图像的16位、32位深度。若不做申明,则转换8位深度后读取
CV.IMREAD_ANYCOLOR4以任何可能出现的颜色格式读取图像
CV.IMREAD_LODA_GDAL8使用GDAL驱动程序加载
CV.IMREAD_REDUCED_GRAYSCALE_216将图像转化为单通道灰度图像,尺寸缩小至原来的一半,尺寸可以修改改为4时,缩小四分之一。
CV.IMREAD_REDUCED_COLOR_217将图像转化为三通道色彩图像,尺寸缩小至原来的一半,尺寸可以修改改为4时,缩小四分之一。
CV.IMREAD_IGNORE_ORIENTATION128不以EXIF的方向旋转图像

cv.imread()函数的读取文件类型

cv.imread()函数能够读取很多格式的图像文件,但是由于不同的操作系统使用的编解码器不同,因此在某些系统中能够读取的图像文件可能在其他的系统中就不能正常读取。opencv默认自带了部分图像解码器libjpeg、libpng、libtiff、libjasper,所以对于jpeg(jpg、jpeg、jpe)、png、tiff(tiff、tif)等格式是可以正常读取的。

注意

默认,读取图像的像素数量必须小于2的30次方,在某些领域的图像可能会超过这个数值,这是我们可以通过修改系统变量中CV.OPENCV_IO_MAX_IMAGE_PLXELS来调整能够读取的图像最大像素数目。

总结

文章主要讲述了opencv4 对于图像读取相关内容进行了一些简单的介绍,其中更深的知识,还需要我们自己进行探索。由于个人能力有限,文章中若有不对之处,请谅解。
文章参考了冯振的基于python的opencv4详解。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值