对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中的Django框架中prefetch_related()函数对数据库查询的优化
Apr 01 Python
详细介绍Ruby中的正则表达式
Apr 10 Python
收藏整理的一些Python常用方法和技巧
May 18 Python
Python中tell()方法的使用详解
May 24 Python
Python 实现数据库更新脚本的生成方法
Jul 09 Python
python机器人行走步数问题的解决
Jan 29 Python
Python中分支语句与循环语句实例详解
Sep 13 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
python实现感知机线性分类模型示例代码
Jun 02 Python
Django REST framework 分页的实现代码
Jun 19 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
Python实现Kerberos用户的增删改查操作
Dec 14 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入门小知识
2008/03/24 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
php中rename函数用法分析
2014/11/15 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
学习YUI.Ext第五日--做拖放Darg&Drop
2007/03/10 Javascript
javascript新手语法小结
2008/06/15 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
python解析模块(ConfigParser)使用方法
2013/12/10 Python
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
Python request使用方法及问题总结
2020/04/26 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
墨西哥网上超市:Superama
2018/07/10 全球购物
安全生产管理责任书
2014/04/16 职场文书
双拥工作宣传标语
2014/06/26 职场文书
民主评议党员工作总结
2014/10/20 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
实习科室评语
2015/01/04 职场文书
感恩节寄语2015
2015/03/24 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers