对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 相关文章推荐
python数据结构之二叉树的遍历实例
Apr 29 Python
python使用多线程不断刷新网页的方法
Mar 31 Python
python实现上传下载文件功能
Nov 19 Python
Python内置模块logging用法实例分析
Feb 12 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
pygame实现简易飞机大战
Sep 11 Python
django框架使用方法详解
Jul 18 Python
使用selenium和pyquery爬取京东商品列表过程解析
Aug 15 Python
python中的split()函数和os.path.split()函数使用详解
Dec 21 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 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文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
php面向对象重点知识分享
2019/09/27 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
Python实现LRU算法的2种方法
2015/06/24 Python
Python实现分段线性插值
2018/12/17 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
HTML5标签使用方法详解
2015/11/27 HTML / CSS
自荐书封面下载
2013/11/29 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
关于运动会广播稿300字
2014/10/05 职场文书
社区灵活就业证明
2014/11/03 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB