这一篇博客介绍几个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. ASP.NET 4.0: 请求验证模式变化导致ValidateRequest=false失效
  2. Ubuntu~Tensorflow~GPU
  3. log4j, common-logging, slf4j 关系
  4. 重置密码遇到ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)问题
  5. 了解TCP协议,IP协议、ICMP协议和ARP协议(TCP报文,TCP的分成管理,TCP与UDP,TCP的三次握手四次挥手原理)
  6. Android MotionEvent中getX()、getRawX()和getTop()的区别
  7. PHP操作常见的错误
  8. eazyui ajax传值,jquery easyui ajax data属性传值方式
  9. 小程序组件的使用(二) packer多选组件
  10. 10.8 wtx模拟题题解
  11. 如何选择大数据分析软件
  12. Label高度根据内容变化SnapKi
  13. Camtasia实用技巧之画布操作
  14. 【白话经典算法系列之十二】数组中只出现1次的两个数字(百度面试题)
  15. analyze 命令
  16. 机器学习项目 - 泰坦尼克号乘客生还率
  17. Windows上安装ubantu
  18. Typora中的emoji图标标签
  19. Python小炼(1):初识Python
  20. c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)

热门文章

  1. 445封了SQLServer不能用问题解决
  2. 关于畅卓/聚合 短信发送
  3. MixNet解析以及pytorch源码
  4. 11.Vue引入第三方
  5. CTF夺旗赛培训——基本知识
  6. android 无线充电手机型号,支持无线充电的手机有哪些?5款支持无线充电的手机推荐 (2)...
  7. DML、DDL、DCL的概念及区别
  8. 华硕B85 PRO Game 添加M.2 NVME 硬盘驱动(刷BIOS)
  9. 企业邮箱客户端发送邮件,在发件箱中显示很多重复的邮件怎么办
  10. 【转】数学系必看的十部电影