Python读取保存图像文件
Python处理图像数据时通常需要对图像文件进行读取、保存等操作,因此将现有的方法归纳了一下。
1. PIL
依赖包:Pillow
安装:pip install Pillow
源码:
1 import numpy as np
2 from PIL import Image
3 import matplotlib.pyplot as plt
4
5 image = Image.open("image.jpg")
6
7 image_resize = image.resize((128, 128))
8 image_array = np.array(image_resize)
9 image_output = Image.fromarray(image_array)
10 image_output.save("image_output.jpg")
11
12 plt.imshow(image_output)
13 plt.axis("off")
14 plt.show()
2. opencv
依赖包:opencv-python
安装:pip install opencv-python
源码:
1 import cv2
2
3 image = cv2.imread("image.jpg")
4
5 image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
6 image_resize = cv2.resize(image, (128, 128))
7
8 cv2.imwrite("image_output.jpg", image_gray)
9 cv2.namedWindow("img_out")
10 cv2.imshow('img_out',image_gray)
11 cv2.waitKey(0)
12 cv2.destroyAllWindows()
3. imageio
依赖包:imageio
安装:pip install imageio
源码:
1 from imageio import imread, imsave
2 from scipy import ndimage
3 import matplotlib.pyplot as plt
4
5 image = imread("image.jpg")
6
7 img_rote_20 = ndimage.rotate(image, 20)
8 imsave("image_out.jpg", img_rote_20)
9
10 plt.imshow(img_rote_20)
11 plt.axis("off")
12 plt.show()
4. skimage (recommend to use)
依赖包:scikit-image
安装:pip install scikit-image
源码:
1 from skimage import io
2 import matplotlib.pyplot as plt
3
4 image = io.imread("image.jpg")
5
6 io.imsave("image_output.jpg", image)
7
8 io.imshow(image)
9 plt.show()
5. matplotlib
依赖包:matplotlib
安装:pip install matplotlib
源码:
1 import matplotlib.image as mpimg
2 import matplotlib.pyplot as plt
3
4 image = mpimg.imread("image.jpg")
5
6 mpimg.imsave("image_output.jpg", image)
7
8 plt.imshow(image)
9 plt.axis("off")
10 plt.show()
7. keras (machine learning or deep learning)
依赖包:keras
安装:pip install keras
源码:
1 from keras.preprocessing import image
2
3 img = image.load_img("image.jpg", target_size=(128, 128))
4
5 image_array = image.img_to_array(img)
6 image_output = image.array_to_img(img)
7
8 image_output.save("image_output.jpg")
上述七种方法均可以对图像文件进行读取保存处理,对日常cv预处理图像非常有帮助。
Python读取保存图像文件的更多相关文章
- Python 读取图像文件的性能对比
Python 读取图像文件的性能对比 使用 Python 读取一个保存在本地硬盘上的视频文件,视频文件的编码方式是使用的原始的 RGBA 格式写入的,即无压缩的原始视频文件.最开始直接使用 Pytho ...
- python读取,显示,保存mnist图片
python处理二进制 python的struct模块可以将整型(或者其它类型)转化为byte数组.看下面的代码. # coding: utf-8 from struct import * # 包装成 ...
- python读取excel一例-------从工资表逐行提取信息
在工作中经常要用到python操作excel,比如笔者公司中一个人事MM在发工资单的时候,需要从几百行的excel表中逐条的粘出信息,然后逐个的发送到员工的邮箱中.人事MM对此事不胜其烦,终于在某天请 ...
- python 读取图片的尺寸、分辨率
#需要安装PIL模块 #encoding=gbk#--------------------------------------------------------------------------- ...
- 【转】Python——读取html的table内容
Python——python读取html实战,作业7(python programming) 查看源码,观察html结构 # -*- coding: utf-8 -*- from lxml.html ...
- Python读取excel中的图片
作为Java程序员,Java自然是最主要的编程语言.但是Java适合完成大型项目,对于平时工作中小的工作任务,需要快速完成,易于修改和调试,使用Java显得很繁琐,需要进行类的设计,打成jar包,出现 ...
- python读取指定字节长度的文本
软件版本 Python 2.7.13; Win 10 场景描述 1.使用python读取指定长度的文本: 2.使用python读取某一范围内的文本. Python代码 test.txt文本内包含的 ...
- 【Python】Python 读取csv的某行或某列数据
Python 读取csv的某行 转载 2016年08月30日 21:01:44 标签: python / csv / 数据 站长用Python写了一个可以提取csv任一列的代码,欢迎使用.Gith ...
- python读取 ini 配置文件
在详解python读取ini文件之前,我们先说明一个ini文件的组成: 一个ini文件是由多个section组成,每个section中以key=vlaue形式存储数据: 然后我们来使用python读取 ...
- python读取txt文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x8e in position 8: illegal multibyte sequence
python读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x8e in position 8: illegal multibyte ...
随机推荐
- 浅谈Java并发
Java并发是比较难的知识点,难于对并发的理解.并发要从操作系统和硬件层面去理解,才会比较深入,而不单单是从编程语言的逻辑去理解. 首先对于并发要清楚的几点: 线程可能在任何时刻被切换.计算机只对硬件 ...
- Proxyless Mesh 在 Dubbo 中的实践
背景 随着 Dubbo 3.1 的 release,Dubbo 在云原生的路上又迈出了重要的一步.在这个版本中添加了 Proxyless Mesh 的新特性,Dubbo Proxyless Mesh ...
- 迁移学习(DANN)《Domain-Adversarial Training of Neural Networks》
论文信息 论文标题:Domain-Adversarial Training of Neural Networks论文作者:Yaroslav Ganin, Evgeniya Ustinova, Hana ...
- 【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据
SpringBoot快速操作Redis数据 在SpringBoot框架中提供了spring-boot-starter-data-redis的依赖组件进行操作Redis服务,当引入了该组件之后,只需要配 ...
- 期望与概率 dp
期望与概率 dp \(\text{By DaiRuiChen007}\) I. [洛谷4316] - 绿豆蛙的归宿 \(\text{Link}\) 思路分析 DAG 上做期望 dp,可以爆搜,也可以拓 ...
- Java基础1-1-3—java基础语法(条件控制语句)
3. 条件控制语句 3.1 流程控制语句-顺序结构 流程控制语句:通过一些语句,来控制程序的[执行流程] 流程控制语句分类: 顺序结构 分支结构(if,switch) 循环结构(for,while,d ...
- MRS_下载相关问题汇总
解决问题如下: MRS下载编译时,更改生成文件是HEX文件还是BIN文件 关于MounRiver下载时如何选择配置部分擦除 关于MounRiver下载起始地址配置问题 MRS下载编译时,更改生成文件是 ...
- 简述 JavaScript 的执行机制
一.单线程 为了解决这个问题,防止下一个任务等待上一个任务等待太长的时间,所以提出了 Web Worker标准,允许 JS 创建多个线程,于是JS出现了同步 和 异步 ,异步就是可以同时进行多个任务, ...
- 编程哲学之 C# 篇:003——为什么选择 C#
国内开设C#课程的学校或培训机构是越来越少,使用C#作为开发的语言企业也是越来越少.企业要招C#的开发人员越来越难,会C#的要开发人员要找工作也是越来越难,然后我还是选择C#作为本系列的主要语言,我给 ...
- python实现通用excel导入到mysql
{ "file": "OrderDetail-2020-06-03.xls", "startRow": 1, "table&quo ...