对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使用QRCode模块生成二维码实例详解
Jun 14 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
浅谈Python中的私有变量
Feb 28 Python
TensorFlow平台下Python实现神经网络
Mar 10 Python
Python 离线工作环境搭建的方法步骤
Jul 29 Python
Python监控服务器实用工具psutil使用解析
Dec 19 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
Jan 19 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
用python读取xlsx文件
Dec 17 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 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的字符串用法小结
2010/06/08 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
chrome原生方法之数组
2011/11/30 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
2019/04/04 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
Python标准库之sqlite3使用实例
2014/11/25 Python
python代码过长的换行方法
2018/07/19 Python
Python实现全排列的打印
2018/08/18 Python
python调用webservice接口的实现
2019/07/12 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
python将unicode和str互相转化的实现
2020/05/11 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
毕业生求职自荐书范文
2014/03/27 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
武夷山导游词
2015/02/03 职场文书
德能勤绩廉个人总结
2015/02/14 职场文书
实习生个人总结范文
2015/02/28 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang
JS + HTML 罗盘式时钟的实现
2021/05/21 Javascript
Python实现简单的猜单词
2021/06/15 Python