python 基于numpy数组的简单图像处理
2023-09-11 14:14:25 时间
python 基于numpy数组的简单图像处理
如图,以该猫咪图片为例(忽略水印)。将该文件命名为cat.jpg,并对其展开以下操作。
使用PIL库进行灰度处理
from PIL import Image
import numpy as np
# 读取图像,并转化为数组
im = np.array(Image.open("cat.jpg"))
# 灰度处理公式
gray_narry = np.array([0.299, 0.587, 0.114])
x = np.dot(im, gray_narry)
# 数组转图片
gray_cat = Image.fromarray(x.astype('uint8'))
# 保存图片
gray_cat.save('gray_cat.jpg')
# 展示查看
gray_cat.show()
处理成功!
将其旋转180度
所谓旋转操作,即 将三维数组中的数据,以每一行(三个)为单位 倒序排列。
from PIL import Image
import numpy as np
# 读取图像,并转化为数组
im = np.array(Image.open("cat.jpg"))
# 旋转
x = im[::-1]
# 数组转图片
cat2 = Image.fromarray(x.astype('uint8'))
# 保存图片
cat2.save('cat2.jpg')
# 展示查看
cat2.show()
程序执行结果:
使用matplotlib库完成灰度处理
import numpy as np
import matplotlib.pyplot as plt
n1 = plt.imread("cat.jpg") # 读取了图片,转化为数组,三维的
plt.imshow(n1)
n2 = np.array([0.299, 0.587, 0.114])
x = np.dot(n1, n2)
plt.imshow(x, cmap="gray")
plt.show()
相关文章
- 【Python成长之路】python 基础篇 -- 装饰器【华为云分享】
- Python pydoc.py
- python之fabric(二):执行模式(转)
- Python PIL 的image类和numpy array之间的互换
- python: easyocr的安装和使用(easyocr 1.6.2 / Python 3.7.15 )
- Python编程:暴力破解附近局域网WiFi密码(附代码)
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python语言学习:Python语言学习之python包/库package的简介(模块的封装/模块路径搜索/模块导入方法/自定义导入模块实现华氏-摄氏温度转换案例应用)、使用方法、管理工具之详细攻略
- Python:pmml格式文件的简介、安装、使用方法(利用python将机器学习模型转为Java常用的pmml格式文件)之详细攻略
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑩〗- 创建新闻管理系统的具体python文件
- 【Python成长之路】python 基础篇 -- global/nonlocal关键字使用
- 【项目实战】Python实现LightGBM分类模型(LGBMClassifier算法)项目实战
- python之使用zip压缩文件夹(支持多级目录)亲测好用
- Python编程:将驼峰命名转为小写下划线命名
- python 怎么让list里面设置NAN numpy.nan
- 【Python-Numpy】numpy.expand_dims()的解析与使用
- Python数据分析(一):Pandas、Numpy
- Numpy tips: 如何检查一个numpy数组是否全0?
- 【我要偷偷学Python,然后惊呆所有人】专栏导航