对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杀死一个线程的方法
Sep 06 Python
举例讲解Python中的迭代器、生成器与列表解析用法
Mar 20 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
Jun 04 Python
Python中关于Sequence切片的下标问题详解
Jun 15 Python
Pandas分组与排序的实现
Jul 23 Python
python opencv 简单阈值算法的实现
Aug 04 Python
Python发送邮件封装实现过程详解
May 09 Python
用Python制作mini翻译器的实现示例
Aug 17 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 Python
pytorch实现ResNet结构的实例代码
May 17 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 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
实用函数10
2007/11/08 PHP
php xml文件操作实现代码(二)
2009/03/20 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
python和pyqt实现360的CLable控件
2014/02/21 Python
python实现定制交互式命令行的方法
2014/07/03 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
pandas中Timestamp类用法详解
2017/12/11 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
梅西百货官网:Macy’s
2020/08/04 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
教师通用专业自荐书范文
2014/02/11 职场文书
党支部综合考察材料
2014/05/19 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
教师学期个人总结
2015/02/11 职场文书
大一学生个人总结
2015/02/15 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
庆祝教师节主持词
2015/07/06 职场文书
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python
openstack云计算keystone组件工作介绍
2022/04/20 Servers
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers