python中cv2、Image和plt的图片打开、显示和保存
使用cv2、Image、plt打开、显示和保存图片
文章目录
- 使用cv2、Image、plt打开、显示和保存图片
- 0、读取图片
- 1、使用cv2显示cv2打开的图片
- 2、使用cv2显示Image打开的图片
- 3、使用Image显示Image打开的图片
- 4、使用Image显示cv2打开的图片
- 5、使用plt显示cv2打开的图片
- 6、使用plt显示Image格式的图片
- 7、使用plt显示多张图片
0、读取图片
import cv2
from PIL import Image
import matplotlib.pyplot as pltimage_read_cv2 = cv2.imread('./cat.jpg', cv2.IMREAD_COLOR) # 使用cv2打开图片
image_read_Image = Image.open('./cat.jpg') # 使用Image打开图片
print(image_read_cv2.shape)
使用cv2打开的图片格式是:(1440, 2560, 3) [h, w, c]
通道顺序是BGR
print(image_read_Image.size)
使用Image打开的图片格式是:(2560, 1440) [w, h]
通道顺序是RGB
提炼知识点:cv2格式图片和Image格式图片格式互转
# cv2格式图片和Image格式图片格式互转
# 1、cv2 --> Image
image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
# 2、Image --> cv2
image0 = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2BGR)
1、使用cv2显示cv2打开的图片
def cv2_show_cv_image(image): # 使用cv2显示cv2打开的图片cv2.namedWindow('image', 0) # 命名一个窗口cv2.resizeWindow('image', 600, 500) # 将窗口大小进行调整,这两部主要是为了防止图片过大,屏幕显示不下cv2.imshow('image', image) # 显示图片cv2.waitKey(0) # 等待,按任意键跳过,如果没有这个,窗口会是一闪而过cv2.destroyWindow('image') # 这个和下一句都是关闭窗口,只不过这是关闭指定窗口# cv2.destroyAllWindows() # 关闭此时cv2所有打开的窗口# cv2.imwrite('cat.png', image) # cv2保存图片
2、使用cv2显示Image打开的图片
def cv2_show_Image_image(image):image0 = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2BGR) # 将Image格式的图片转成np进而转换成cv2格式cv2.namedWindow('image', 0) # 命名一个窗口cv2.resizeWindow('image', 600, 500) # 将窗口大小进行调整,这两部主要是为了防止图片过大,屏幕显示不下cv2.imshow('image', image0) # 显示图片cv2.waitKey(0) # 等待,按任意键跳过,如果没有这个,窗口会是一闪而过cv2.destroyWindow('image') # 这个和下一句都是关闭窗口,只不过这是关闭指定窗口
3、使用Image显示Image打开的图片
def Image_show_Image_image(image:Image):image.show()# image.save('image.jpg') # 保存
一般在dataset中使用Image进行处理
# 这个操作主要是为了保证将图片进行缩放后,保持原图的纵横比不变
image = image.resize((new_w, new_h), Image.BICUBIC) # 对图片进行缩放
image_new = Image.new('F', size=(in_w, in_h), color=0) # 创建一个新的蒙版
image_new.paste(image, (dx, dy)) # 将原画图粘贴到新的蒙版上
4、使用Image显示cv2打开的图片
这个应用场景可以是dataset加载时使用cv2先对图片进行预处理,再转换成Image格式,
def Image_show_cv2_image(image:cv2):image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) # 把图片从cv2格式转换成Imageimage.show()
5、使用plt显示cv2打开的图片
# 使用plt显示cv2格式的图片
def plt_show_cv2_image(image):image0 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)plt.figure() # 打开一个画布plt.axis('off') # 不打开坐标轴plt.imshow(image0)plt.show() # 加上这个才能显示# plt.pause(0.01) # 暂时显示0.01秒# plt.draw() # 重新绘制当前图形
6、使用plt显示Image格式的图片
# 使用plt显示Image格式的图片
def plt_show_Image_image(image:Image):plt.figure()plt.imshow(image)plt.show()
7、使用plt显示多张图片
def plt_show_multi_image(image1, image2):def plt_show_multi_image(image1, image2):fig = plt.figure(num=1)fig.tight_layout() # 调整整参数使子图填充整个区域,不会出现字体重叠plt.subplot(121) # 定位到第一个子图plt.imshow(image1) # 第一个字图需要显示的图片plt.subplot(122)plt.imshow(image2)plt.show() # 把画布显示出来
使用plt绘制图之后使用
plt.savefig('cats.png')
保存图片
python中cv2、Image和plt的图片打开、显示和保存相关推荐
- matlab的imshow python中cv2.imshow及plt.imshow相关测试
在对灰度图.二值图测试显示过程中,发现matlab的imshow函数和plt.imshow函数显示的图像会出现信息缺失情况,让人误以为图像矩阵像素值发生变化.经过测试,是由于imshow函数存在像素缩 ...
- opencv python 中cv2.putText()函数的用法
opencv python 中cv2.putText()函数的用法 文章目录: 一.快速使用 二.官方文档 三.使用举例 虽然用啦很多次,还是决定记录一下 一.快速使用 cv2.putText(ima ...
- python 2: 解决python中的plot函数的图例legend不能显示中文问题
python 2: 解决python中的plot函数的图例legend不能显示中文问题 参考文章: (1)python 2: 解决python中的plot函数的图例legend不能显示中文问题 (2) ...
- 使用Python中的matplotlib将多个图片显示到一张图内
在我们写论文或是汇报时,经常需要整合所得到的可视化数据结果,插入我们的论文中.如下所示的情况,我们需要将四个相关的弹性模量预测结果在一张图里展示. 使用matplotlib库中的子图(subplot) ...
- python中使用requests库获取昵图网图片,且正则中re.S的用法
python中使用requests库获取图片,且正则表达式中re.S的用法以及r.text和r.content的区别和搜索关键词 这里我获取的是昵图网的图片 代码附上 这里我获取的是2020的图片 i ...
- 在python中可以使用urllib方便的实现图片和flash下载
非线程安全 import urllib url = "http://www.udooo.com/cooperate/qq/images/081128/left.swf" path ...
- python中plot不能显示标签_python 2: 解决python中的plot函数的图例legend不能显示中文问题...
问题: 图像标题.横纵坐标轴的标签都能显示中文名字,但是图例就是不能显示中文,怎么解决呢? 解决: plt.figure() plt.title(u'训练性能', fontproperties=fon ...
- django调用python脚本返回_Django使用HttpResponse返回图片并显示的方法
做了一个关于Django的小案例,想要在网页中显示图片,直接在img标签的src属性写图片的路径是不能显示的,查询资料发现在Django中使用图片这类的资源相当繁琐需要进行一定D的配置,摸索了一会没有 ...
- laravel项目中css样式表的背景图片不显示
刚学laravel,遇到了很多坑,感觉laravel是挺强大的. 建好后台项目,奈何css样式表的背景图片不显示 .mainhd {background: url(../images/sky/body ...
- OpenCV Python教程(1、图像的载入、显示和保存)
本文是OpenCV 2 Computer Vision Application Programming Cookbook读书笔记的第一篇.在笔记中将以Python语言改写每章的代码. PythonO ...
最新文章
- ORB_SLAM2 定位模式
- linux下IPTABLES配置详解
- sql and和in能连用吗_解析法律英语中【同义词连用】现象
- 如果我有jQuery背景,那么“ AngularJS中的思考”吗? [关闭]
- 基于snmp的windows主机私有信息监控(编辑中)
- linux树莓派网易云音乐,基于树莓派的红外遥控版网易云音乐播放器
- axure8.0导出页面打不开问题_excel怎么转pdf?excel打不开?转换成PDF就行了
- Asterisk拨号方案语法基础
- 页面增加html,为静态页面HTML增加session功能
- css3 下边框缓缓划过_干货来袭!web前端开发工程师必看之如何使用CSS3实现瀑布流效果?...
- C++语言基础 —— STL —— 算法 —— unique() 的使用
- iso安装器_mac怎么装双系统|mac电脑安装双系统教程
- 重置winsock目录
- android 人脸识别边框_Android camera实时预览 实时处理,人脸识别示例
- TI单芯片毫米波雷达代码走读(二十二)—— 距离维CA-CFAR检测与目标统计
- 【实现操作系统 02】FAT12 文件系统(摆脱术语用实际例子介绍)
- 卡耐基梅陇大学计算机学院名人,卡内基梅隆大学_美国计算机专业排名前十
- base64字符串转化成图片
- 25. 获取员工其当前的薪水比其manager当前薪水还高的相关信息
- DirectShow Utility