python显示图片的方式(OpenCV,PIL,matplotlib)
这一篇博客介绍几个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)相关推荐
- python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标
又来做下笔记了.现在我的毕业设计进行到数据处理的阶段,要在乳腺图像上截取4张相同大小的1024*1024图片,并且每张图片都必须覆盖微钙化点,以下是我现在用到的一些简单程序. 1.首先是截图程序如下: ...
- python显示图片_python图像显示
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 使用python进行数字图片处理,还得安装pillow包. 虽然python里面 ...
- python显示图片列表_python读取图片任意范围区域
使用python进行图片处理,现在需要读出图片的任意一块区域,并将其转化为一维数组,方便后续卷积操作的使用. 下面使用两种方法进行处理: convert 函数 from PIL import Imag ...
- python解码图片_python的opencv读取解码的base64图片失败
问题描述 js利用canvas.toDataURL("image/png")将canvas元素转化为base64的图片编码. python获取base64编码并解码并且保存为图片储 ...
- python显示图片并且动态刷新_python Tkinter的图片刷新实例
调用python自带的GUI制作库 一开始想用Tkinter制作GUI的,网上说是python自带的,结果输入: import tkinter 后,显示: _ImportError: No modul ...
- opencv java 显示图片_【opencv三】利用opencv读取显示图片
在opencv中读取显示图片的头文件是highgui.hpp. 整体代码如下,如要测试自己的图片,需要将代码段中的图片地址更改为自己图片的绝对路径. #include "opencv2/hi ...
- python显示图片image_用Python语言显示图片的倒影效果
Python是一种强大的开源解释性语言,最初是在苹果计算机上被编译成功的,但现在它已经可以运行于世界上主流的操作平台之上了,对于常见的Linux和Windows平台的支持当然更不在话下.Python脚 ...
- 直播商城开发 python 显示图片的方法
1.不能正常显示但通道灰度图 import matplotlib.pyplot as pltplt.imshow(mat) plt.show() 2.可以正常显示但通道灰度图 import cv2cv ...
- python 显示图片matplotlib_Python OpenCV ——Matplotlib显示图片
Color image loaded by OpenCV is in BGR mode.But Matplotlib displays in RGB mode.So color images will ...
最新文章
- ASP.NET 4.0: 请求验证模式变化导致ValidateRequest=false失效
- Ubuntu~Tensorflow~GPU
- log4j, common-logging, slf4j 关系
- 重置密码遇到ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)问题
- 了解TCP协议,IP协议、ICMP协议和ARP协议(TCP报文,TCP的分成管理,TCP与UDP,TCP的三次握手四次挥手原理)
- Android MotionEvent中getX()、getRawX()和getTop()的区别
- PHP操作常见的错误
- eazyui ajax传值,jquery easyui ajax data属性传值方式
- 小程序组件的使用(二) packer多选组件
- 10.8 wtx模拟题题解
- 如何选择大数据分析软件
- Label高度根据内容变化SnapKi
- Camtasia实用技巧之画布操作
- 【白话经典算法系列之十二】数组中只出现1次的两个数字(百度面试题)
- analyze 命令
- 机器学习项目 - 泰坦尼克号乘客生还率
- Windows上安装ubantu
- Typora中的emoji图标标签
- Python小炼(1):初识Python
- c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)