对python PLT中的image和skimage处理图片方法详解


Posted in Python onJanuary 10, 2019

用PLT比较轻量级,用opencv是比较重量级

import numpy as np
from PIL import Image

if __name__ == '__main__':
 image_file = '/Users/mac/Documents/学习文档/机器学习/5.Package/son.png'
 height = 100 #假定写入图片的高度是100

 img = Image.open(image_file)
 img_width, img_height = img.size #获取img的尺寸
 width = 2 * height * img_width // img_height # 假定字符的高度是宽度的2倍,写入图片的高度是宽度的2倍
 img = img.resize((width, height), Image.ANTIALIAS) #改变尺寸,将新定的宽度,高度重定img的size赋给img
 pixels = np.array(img.convert('L')) #转成灰度值喂给array,pixels是个存灰度值的数组
 print(pixels.shape)
 print(pixels)
 chars = "MNHQ$OC?7>!:-;. " #256色的不同通道浓淡,M代表0-15,N代表16-31
 N = len(chars)
 step = 256 // N
 print(N)
 print step
 result = ''
 for i in range(height):
  for j in range(width):
   result += chars[pixels[i][j] // step] #像素点的值除以step是可以找到step这个像素点的位置,char做素引,是指对应的该
   #点的值填充成上面更浓的色,故就显示出来了
  result += '\n'
 with open('text.txt', mode='w') as f:
  f.write(result)

用PIT详解步骤:

img = Image.open(path)#打开图片
img.getpixel((height, width))#得到(height, width)处的像素值(可能是一个list,3通道)
img.convert("L")#转灰度图

对python PLT中的image和skimage处理图片方法详解

size = (64, 64) 
img.resize(size, Image.ANTIALIAS)#改变尺寸

对python PLT中的image和skimage处理图片方法详解

box = (10, 10, 100, 100) 
img.crop(box).show#在img上的box处截图,show显示图片

对python PLT中的image和skimage处理图片方法详解

#shape[0]-1梯度下降的办法取x,y值,再将img_data[x][y][0]x,y处0通道赋255色值
img_data = np.array(img) 
 for i in xrange(300): 
 x = random.randint(0, img_data.shape[0]-1) 
 y = random.randint(0, img_data.shape[1]-1) #shape[0]是表几行,shape[1]表示几列,y在列向量上故用shape[1]
 img_data[x][y][0] = 255 
 img = Image.fromarray(img_data)#加300个噪音,转来转去麻烦可以直接用skimage度图片就不用转了 
img.show()
img.rotate(90)#图片旋转90
img.transpose(Image.FLIP_LEFT_RIGHT)#图片镜像

对python PLT中的image和skimage处理图片方法详解

二、skimage打开的图片img_data:

from skimage import io,transform 
img_data = io.imread(img_path) 
transform.resize(img_data, (64, 64))#改变尺寸

对python PLT中的image和skimage处理图片方法详解

transform.rescale(img_data, 0.5)#缩小/放大图片

以上这篇对python PLT中的image和skimage处理图片方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3序列化与反序列化用法实例
May 26 Python
Python画图学习入门教程
Jul 01 Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 Python
python集合是否可变总结
Jun 20 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
Jun 28 Python
Django logging配置及使用详解
Jul 23 Python
Python环境Pillow( PIL )图像处理工具使用解析
Sep 12 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 Python
Python __slots__的使用方法
Nov 15 Python
python中把元组转换为namedtuple方法
Dec 09 Python
python中的列表和元组区别分析
Dec 30 Python
python re模块和正则表达式
Mar 24 Python
python pandas库的安装和创建
Jan 10 #Python
Python绘制并保存指定大小图像的方法
Jan 10 #Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 #Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 #Python
python利用ffmpeg进行录制屏幕的方法
Jan 10 #Python
Python3.6.2调用ffmpeg的方法
Jan 10 #Python
Django组件之cookie与session的使用方法
Jan 10 #Python
You might like
php foreach正序倒序输出示例代码
2014/07/01 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
nodejs npm package.json中文文档
2014/09/04 NodeJs
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
python文件操作之目录遍历实例分析
2015/05/20 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
Python新手学习装饰器
2020/06/04 Python
简述python&pytorch 随机种子的实现
2020/10/07 Python
美国网上花店:JustFlowers
2017/02/12 全球购物
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
网络维护中文求职信
2014/01/03 职场文书
打架检讨书300字
2014/02/02 职场文书
小学生环保演讲稿
2014/04/25 职场文书
电子专业求职信
2014/06/19 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
档案工作个人总结
2015/03/03 职场文书
新手初学Java List 接口
2021/07/07 Java/Android
TS 类型收窄教程示例详解
2022/09/23 Javascript