这一篇博客介绍几个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. ImageNet 存在十万标签错误,你知道吗?
  2. NR 5G QoS模型
  3. viper4android 生效,另一种让V4a音效在Poweramp上生效的方法
  4. Android中文图混排时文图的居中对齐 FontMetrics以及自定义ImageSpan实现
  5. Python稳基修炼的经典案例13(计算机二级、初学者必会的字符文件处理)
  6. android 发送按键 0,android monitor tool (8.0 模拟发送按键及触摸屏事件实现)
  7. java ajax传值到后台_java ajax发送数据到后台,中文乱码
  8. 记录一次Centos磁盘空间占满的解决办法(转)
  9. windows server 2008 R2 集成USB3.0驱动--成功实现
  10. 计算机视觉应用期末试卷,计算机视觉期末复习
  11. 新国二选office和c语言,备考全国计算机二级MS Office考试这些你知道吗?
  12. C语言实现一个简单的矩阵运算器
  13. 2022年中级网络工程师备考(网络知识部分)
  14. Android平台根据分辨率计算屏幕尺寸
  15. Windows文件名太长无法删除
  16. 什么是云平台_云短信发送平台有什么优势?
  17. Docker 安装可视化管理工具Portainer
  18. 基于leftlet的旅游地图相册
  19. 人人都能看懂的「迭代器、生成器」入门指南!
  20. 计算机主板的风扇控制,主板风扇调速知识【图文详解】

热门文章

  1. Uniapp 文件选择插件(支持Android11、12) Ba-FilePicker
  2. 系统数据占用太多怎么清理 ios iphone
  3. 碳达峰碳中和职业教学人才培养方案
  4. 非全日制研究生含金量低?全面解读来了!
  5. 文献管理-----web of science 导入endnote
  6. [转载]使用SPRING AOP框架和EJB组件
  7. 小白自学笔记——JAVA基础 2.3基本数据类型转换
  8. 怎么从饭局看自己在领导心中地位?别傻傻喝酒,高人看这6个举动
  9. 如何将CAD图纸导出为天正各版本图纸?
  10. 【企业后备人才管理体系】企业人才梯队建设的管理策略