这一篇博客介绍几个python处理图像的常见库,介绍基础的存取和显示,旨在帮助大家更好的选择合适的库进行图像处理,或者结合pytorch等深度学习框架进行图像的读取与显示

1.OpenCV

OpenCV是一个计算机视觉和软件库,由C++编写而成,常用python接口

CV(computer vision)意为计算机视觉,OpenCV经常用在计算机视觉领域,如目标检测中结合深度学习使用,封装了许多机器学习和深度学习算法,同时它可以调取摄像头

下载opencv:

# 需要先安装numpy和matplotlib
pip install opencv_python

读入图片:

注意opencv读取默认是BGR通道,这里转换成RGB通道 ,以适应其他库的习惯

import cv2
import matplotlib.pyplot as plt # 用于在jupyter中绘图img_bgr = cv2.imread("images/Tokyo.png") # BGR通道
img_rgb = img_bgr[:,:,::-1] # python中::-1代表反转,也就是将BGR通道变成RGB通道img_rgb

可以看到,OpenCV是以数组形式读取图片

在窗口显示:

cv2.imshow("myImage",img_bgr)
cv2.waitKey(0) # 等待用户按键触发,设置为0即无限制等待||显示视频时表示帧间延迟(一定要>0)

在jupyter显示:

dpi:每英寸内的像素点数

# 显示BGR和RGB的区别
# plt.figure(dpi=90) #dpi越大显示越大
plt.imshow(img_bgr)
plt.show() # 显示BGR通道# plt.figure(dpi=90)
plt.imshow(img_rgb)
plt.show() # 显示RGB通道

# 图片保存
cv2.imwrite("data/myImage.png",img)

2.PIL

PIL全称Pillow,是基础图像处理库,主要有两个功能:

图像归档:创建略缩图,生成预览图,批量处理

图像处理:调整大小,裁剪图像,像素点处理,添加滤镜,颜色处理

from PIL import Image
import matplotlib.pyplot as pltimg = Image.open("images/Tokyo.png")
print(type(img))# 图片显示
# img.show() # 在窗口显示
# plt.imshow(img) # 在jupyter显示# 图片保存
img.save("data/myImage.png")

可以看到,PIL将图片作为一个类型

<class 'PIL.PngImagePlugin.PngImageFile'>

3.matplotlib

import matplotlib.pyplot as pltimg = plt.imread("images/Tokyo.png")
print(type(plt))plt.imshow(img)
plt.savefig("data/myImage1.png")

可以看到,matplotlib也将图片作为一个类型

<class 'module'>

4.其他

上面的比较常用另外,还有Scipy(主要用于数学和科学计算),Pgmagick(图像处理)等库可供选择,有的深度框架也自己定义了图像存取模块,如keras的keras.preprocessing.image

python显示图片的方式(OpenCV,PIL,matplotlib)相关推荐

  1. python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标

    又来做下笔记了.现在我的毕业设计进行到数据处理的阶段,要在乳腺图像上截取4张相同大小的1024*1024图片,并且每张图片都必须覆盖微钙化点,以下是我现在用到的一些简单程序. 1.首先是截图程序如下: ...

  2. python显示图片_python图像显示

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 使用python进行数字图片处理,还得安装pillow包. 虽然python里面 ...

  3. python显示图片列表_python读取图片任意范围区域

    使用python进行图片处理,现在需要读出图片的任意一块区域,并将其转化为一维数组,方便后续卷积操作的使用. 下面使用两种方法进行处理: convert 函数 from PIL import Imag ...

  4. python解码图片_python的opencv读取解码的base64图片失败

    问题描述 js利用canvas.toDataURL("image/png")将canvas元素转化为base64的图片编码. python获取base64编码并解码并且保存为图片储 ...

  5. python显示图片并且动态刷新_python Tkinter的图片刷新实例

    调用python自带的GUI制作库 一开始想用Tkinter制作GUI的,网上说是python自带的,结果输入: import tkinter 后,显示: _ImportError: No modul ...

  6. opencv java 显示图片_【opencv三】利用opencv读取显示图片

    在opencv中读取显示图片的头文件是highgui.hpp. 整体代码如下,如要测试自己的图片,需要将代码段中的图片地址更改为自己图片的绝对路径. #include "opencv2/hi ...

  7. python显示图片image_用Python语言显示图片的倒影效果

    Python是一种强大的开源解释性语言,最初是在苹果计算机上被编译成功的,但现在它已经可以运行于世界上主流的操作平台之上了,对于常见的Linux和Windows平台的支持当然更不在话下.Python脚 ...

  8. 直播商城开发 python 显示图片的方法

    1.不能正常显示但通道灰度图 import matplotlib.pyplot as pltplt.imshow(mat) plt.show() 2.可以正常显示但通道灰度图 import cv2cv ...

  9. python 显示图片matplotlib_Python OpenCV ——Matplotlib显示图片

    Color image loaded by OpenCV is in BGR mode.But Matplotlib displays in RGB mode.So color images will ...

最新文章

  1. Silverlight网站服务器端的配置
  2. ML基石_8_NoiseAndError
  3. SAP QM中阶执行事务代码QDB1,报错- Inspection severity 001 AQL 0.650 not in sampling schema A01-
  4. springmvc获取request对象
  5. GRE作文用AI打分,已经20周年了:AI给中国考生的分数,远高于人类打分
  6. python中文解释-python注释和2版本的中文乱码
  7. Win8Metro(C#)数字图像处理--2.12Sobel边缘检测
  8. 数据结构与算法:异或运算
  9. 算法与数据结构之队列的链式存储
  10. python数据库查询优化_Python操作数据库-查询优化
  11. python的stack用法_Python numpy.stack函数方法的使用
  12. WindowsXP3环境下IIS5.1的部分小文件
  13. 转载:手机银行技术讨论3
  14. 云计算基础(二)—— 虚拟化
  15. 请教PCI卡的DMA方式问题
  16. 【爬虫进阶】常见的反爬手段和解决方法(建议收藏)
  17. 【Spring】入门
  18. 最新Symantec企业版官方专用卸载工具
  19. Hadoop学习——Hadoop概述
  20. flappy bird游戏源代码揭秘和下载

热门文章

  1. 网上收集的爆笑笑话 汗一个
  2. 虚拟主机没问题 服务器不,虚拟主机常见问题解答
  3. C语言程序练习,某团购网某自助烤肉店周年庆。正常自助58元一位。周年庆团购,团购人数越多打折越多
  4. 从零到壹-API研发管理心得分享
  5. 美国鸿蒙兼容安卓系统,海外用不了!鸿蒙系统成国内专用,华为如何才能战胜谷歌安卓...
  6. jlabel html图片,JLabel里如何使用HTML?
  7. 【Inno Setup】安装包制作,项目打包方案
  8. 关于Visual Studio2017不能通过运行中用devenv快捷启动的问题
  9. Tableau实战 网游客户洞察分析仪表盘
  10. 三步教你搭建给黑白照片上色的神经网络 !(附代码)