OpenCV 读取图像imread的使用详解
作者:H.S.T不想卷 发布时间:2022-02-07 02:00:22
1、方法说明
import cv2 as cv
img1 =cv.imread(filename[, flags])
参数 | 说明 |
---|---|
filename | 图片路径地址 |
flags | 读取图片方式 |
2、目前支持的文件格式
. - 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)
3、flags参数说明
flags参数 | 代号 | 功能 |
---|---|---|
cv2.IMREAD_COLOR | 1 | 将图像转换 3 通道BGR彩色图像,默认方式 |
cv2.IMREAD_GRAYSCALE | 0 | 将图像转换为单通道灰度图像 |
cv2.IMREAD_UNCHANGED | -1 | 按原样返回加载Alpha通道的图像 |
cv2.IMREAD_ANYDEPTH | 2 | 在输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位 |
cv2.IMREAD_ANYCOLOR | 4 | 以任何可能的颜色格式读取图像 |
注意:
(1)imread( )方法默认读取的格式是
BGR
,不是我们熟悉的RGB
格式哦!
python常用第三方包 | 图像读取格式 |
---|---|
OpenCV | BGR |
PIL | RGB |
PyQt | RGB |
matplotlib | RGB |
(2)OpenCV 读取图像文件,返回值是一个
【numpy.array】多维数组
,即三阶矩阵;若没有读取到对应的图片不会报错,而是会返回一个空矩阵;(3)filename路径中不支持中文和空格,如果生产环境需要,可以考虑用imdecode( )进行处理;
4、案例教程
# 1 图像的读取【BGR】
import matplotlib.pyplot as plt
import cv2 as cv
# 读取文件的路径
imgFile = "./sources/cyq.jpg"
# flags=1 读取彩色图像(BGR),即flags=cv.IMREAD_COLOR
img = cv.imread(imgFile, flags=cv.IMREAD_COLOR)
# 图片展示
plt.imshow(img)
plt.show()
展示结果:
原图 | 读取结果 |
# 2 图像的读取【BGR=>RGB】
import matplotlib.pyplot as plt
import cv2 as cv
# 读取文件的路径
imgFile = "./sources/cyq.jpg"
# flags=1 读取彩色图像(BGR),即flags=cv.IMREAD_COLOR
img = cv.imread(imgFile, flags=cv.IMREAD_COLOR)
# 由于matplotlib的图片像素格式为(RGB),因此需要做格式转化;
img=cv.cvtColor(img,cv.COLOR_BGR2RGB)
# 图片展示
plt.imshow(img)
plt.show()
展示结果:
原图 | 读取结果 |
来源:https://blog.csdn.net/weixin_44894162/article/details/126618073


猜你喜欢
- xorm用于在golang中链接数据库,并完成增删改差操作,不管是orm还是raw方式都十分的新颖简单。sql语句postgresql pg
- 目录一:twisted中的adbapi1.1 两个主要方法1.2 使用实例二:结合scrapy中的pipelines一:twisted中的a
- 首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。方法一使用ph
- 1.多态是指传入不同的对象,产生不同的结果多态指的是一类事物有多种形态(一个抽象类有多个子类,因而多态的概念依赖于继承)定义:多态是一种使用
- 这篇文章主要介绍了基于python读取.mat文件并取出信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
- /** * 递归法实现的快速排序 * @param $seq * @return array */f
- K近邻法是有监督学习方法,原理很简单,假设我们有一堆分好类的样本数据,分好类表示每个样本都一个对应的已知类标签,当来一个测试样本要我们判断它
- 本文主要是介绍Go,从语言对比分析的角度切入。之所以选择与Python、Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性,
- 当系统出现故障时,只要存在数据日志那么就可以利用它来恢复数据解决数据库故障。作为SQL Server数据库管理员,了解数据日志文件的作用,以
- 前言无聊的时候做了一个搜索文章的软件,有没有更加的方便快捷不知道,好玩就行了环境使用Python 3.8Pycharm模块使用import
- 但是我们可以换一种方法解决这个问题。下面就来分析下解决办法。对text或ntext类型的数据在查询中不能进行字符串操作。这时用得最多的是把t
- 本方法只做学习研究之用,不得用于商业用途若经济条件允许,请支持并购买正版,链接地址:https://www.jetbrains.com/py
- 本文实例讲述了Python基于回溯法子集树模板解决旅行商问题(TSP)。分享给大家供大家参考,具体如下:问题旅行商问题(Traveling
- 在使用javascript编程时浏览器中经常会遇到的两个麻烦,下面提供两个函数解决方式做参考,并提供一个demo让你更直观地了解我所说的这两
- 初学python,写一个小程序练习一下。主要功能就是增删改查的一些功能。主要用到的技术:字典的使用,pickle的使用,io文件操作。代码如
- 对于时间数据,如2018-09-25 09:28:59,有时需要与Unix时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python
- python版本: 3.6pandas版本: 0.23.4行索引索引行有三种方法,分别是 loc iloc iximport pandas
- 转自微信公众号:机器学习社区,经作者授权转载时间序列分析是数据科学中一个非常重要的领域,它主要包含统计分析、检测变化点、异常检测和预测未来趋
- NumPy's main object is the homogeneous multidimensional array. It