对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抓取百度查询结果的方法
Jul 08 Python
Python中字符串的常见操作技巧总结
Jul 28 Python
python 循环while和for in简单实例
Aug 16 Python
Python实现多并发访问网站功能示例
Jun 19 Python
浅析python3中的os.path.dirname(__file__)的使用
Aug 30 Python
python pandas生成时间列表
Jun 29 Python
python数字类型math库原理解析
Mar 02 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
python和node.js生成当前时间戳的示例
Sep 29 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
Oct 12 Python
Pyside2中嵌入Matplotlib的绘图的实现
Feb 22 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
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
python实现爬取千万淘宝商品的方法
2015/06/30 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
python实现朴素贝叶斯算法
2018/11/19 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
从0开始的Python学习016异常
2019/04/08 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
python3爬取torrent种子链接实例
2020/01/16 Python
我们的节日清明节活动方案
2014/03/05 职场文书
小学开学典礼主持词
2014/03/19 职场文书
王老吉广告词
2014/03/20 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
环保项目建议书
2014/08/26 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
毕业生实习期转正自我鉴定
2014/09/26 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
陕西导游词
2015/02/04 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
统招统分证明
2015/06/23 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang
vue使用element-ui按需引入
2022/05/20 Vue.js