文章目录

  • opencv读取图像
  • rbg格式和gbr
  • HWC和CHW

opencv读取图像

cv2.imread()

# Load an color image in grayscale
img = cv2.imread('messi5.jpg', 0)
  • cv2.IMREAD_COLOR : 加载彩色图像,是一个默认值,可以用数字1代替
  • cv2.IMREAD_GRAYSCALE : 加载图像为灰色模式,可以用数字0代替
  • cv2.IMREAD_UNCHANGED : 加载包括alpha通道的图像

cv2.imshow(),显示图像

cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.imwrite(),写入图像

cv2.imwrite('messigray.png',img)

rbg格式和gbr

opencv读取的图像格式是gbr,PIL读取的图像格式是rgb

1、使用opencv读取和显示

使用cv2.imread()和cv2.imshow()

img = cv2.imread('demo.jpg')
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows() # 任意键关闭

显示正常:

2、使用opencv进行读取,plt进行显示

cv2.imread和plt.imshow()

img = cv2.imread('demo.jpg')
plt.imshow(img)

发现颜色改变了,因为opencv读取的顺序是gbr,imshow显示的顺序是rgb

3、我们对三个通道进行调换,再用plt显示

直接使用cv2.cvtColor进行转换:

rgb_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(rgb_img)

或者对第三个维度进行逆序切片:

img = img[:, :, ::-1]
plt.imshow(img)

或者:

b, g, r = cv2.split(img)
rgb_img = cv2.merge([r, g, b])
plt.imshow(rgb_img)

此时颜色显示正常:

4、使用PIL读取,plt显示

img1 = Image.open('E:/notebook/demo.jpg')
plt.imshow(img1)

显示正常:

HWC和CHW

opencv读取的文件形式为:HWC


可以使用transpose将图像转为CHW

img1 = img.transpose((2, 0, 1))

参考资料:
https://youcans.blog.csdn.net/article/details/121168935
https://blog.csdn.net/haiyanp_p/article/details/118294120
https://www.likecs.com/show-204512169.html
http://www.zzvips.com/article/205586.html
https://www.cnblogs.com/AntonioSu/p/12021384.html

opencv PIL读取图像得到的图像格式相关推荐

  1. vs中c语言图形显示出来,VS2010+Opencv+MFC读取图像和视频显示在Picture控件

    VS2010+Opencv+MFC读取图像和视频显示在Picture控件,供大家参考,具体内容如下 1.新建MFC对话框应用程序. 其余选项默认,单击完成,创建出对话框应用程序.删掉原来自带的一些控件 ...

  2. OpenCV—Python PyLibTiff_psd 图像基本操作以及图像格式转换

    文章目录 一.图片 读.写.显示.属性查看 libtiff 包装器 Python 模块 opencv 模块 PIL 模块 直接修改图片格式 大(分辨率大)图片缩小 与上面代码同效 二.PSD图像读取与 ...

  3. python的image读取的图片是什么类型的-opencv python 读取图像/显示图像/保存图像...

    以前也用过opencv, 不过都是按需使用, 掌握的知识很零散, 这次希望能够系统学习opencv-python 本文直接从Gui Features开始. 1 读取图片 使用cv2.imread()函 ...

  4. vc使用opencv库 读取图像

    refer to opencv1.0下载 http://www.opencv.org.cn/download/OpenCV_1.0.exe 环境配置 http://www.opencv.org.cn/ ...

  5. 利用Numpy+PIL读取图像实现手绘效果

    读取图像+简单处理 import numpy as np from PIL import Imagepath = "" #图像路径im = np.array(Image.open( ...

  6. python PIL读取图像转换为灰度图及二值图像

    目录 以下操作都是在windows环境下进行. 一.读取数据 1. 读取单个图像: 2. 批量读取: 3. 看一下是否读取成功: 二.模式"RGB"转换为'L'模式灰度图 三.模式 ...

  7. 踩坑记录 PIL与Opencv读取图像的差别

    1.读入的数据类型不同 PIL读入图像,以jepg为例,类型为PIL.JpegImagePlugin.JpegImageFile: Opencv读入图像,直接就是numpy.ndarray. 2.宽. ...

  8. PIL图像处理:读取图像,显示图像,ROI,保存图像

    PIL 读取图像,显示图像,ROI,保存图像 import matplotlib.pyplot as plt from PIL import Imagesrc_img = Image.open(Src ...

  9. python opencv二值化图像_python opencv,读取彩色图像,提取三通道,图像二值化,提取图像的边缘...

    python opencv,读取彩色图像,提取三通道,图像二值化,提取图像的边缘 python opencv 1,读取图像 2,图像变矩阵 3,图像转灰度图像 4,彩色图像是3D数组 5,灰度图像是2 ...

最新文章

  1. expect安装使用
  2. Bash命令行历史用法【转】
  3. java监听变量的变化_[Java学习小记]使用PropertyChangeSupport来监听变量的变化
  4. httos双向认证配置_HTTPS双向验证,如何设置
  5. JS面向对象(二)——构造函数的继承
  6. Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备
  7. 石家庄计算机专接本学校有哪些,河北省内的专接本学校都有哪些?
  8. ci mysql 转义,CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
  9. MapReduce:Shuffle过程详解
  10. stdafx.h简介
  11. aodv-uu 源码解读
  12. Oracle索引原理
  13. 5个免费邮箱,10分钟临时邮箱,一定能用,持续更新
  14. 数学知识整理:布朗运动与伊藤引理 (Ito‘s lemma)
  15. pygame飞扬小鸟_飞翔小鸟游戏_李兴球版
  16. 街头霸王5显示正在登陆服务器无法进入游戏,街头霸王5打不开怎么办 无法进入游戏解决方法...
  17. Please contact your system administrator. Add correct host key in /Users/***/.ssh/known_hosts
  18. python爬取武汉二手房房价
  19. 第三方微信+支付宝个人免签支付源码
  20. vue.js实现一键copy功能

热门文章

  1. 由某梦CMS导致近来改版的太多数据库大挪移手软了
  2. HyperLynx(二十四)电源完整性之直流压降分析(一)
  3. 微信小程序-个人中心/钱包
  4. 给电脑重装系统后Win11如何重置记事本?
  5. 90 后 CTO 如何成为国内首位女性 Apache Member?
  6. 【ESD专题】2.ESD防护及保护器件(电介质和压敏电阻)
  7. Oracle数据库练习题(1)
  8. 适用于各浏览器支持图片预览,无刷新异步批量上传js插件(2)
  9. APP与小程序—信息收集
  10. 鹏辰教育:计算机初级职称信息处理技术员难吗?