对python PLT中的image和skimage处理图片方法详解

 更新时间:2019年01月10日 10:20:36   作者:jolingcome  
今天小编就为大家分享一篇对python PLT中的image和skimage处理图片方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

用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 留一交叉验证的实例

    这篇文章主要介绍了python 留一交叉验证的实例代码,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Python实现批量文件整理的示例代码

    Python实现批量文件整理的示例代码

    批量文件整理一直是日常工作中令人头疼的事,使用 Python 进行大批量文件整理,可以大大提升工作效率。本文主要介绍了利用Python实现文件的重命名和删除,感兴趣的小伙伴可以关注一下
    2021-12-12
  • 利用pip安装python第三方库的4种方法

    利用pip安装python第三方库的4种方法

    Python最强大的功能之一是能够十分方便地使用性能优异的第三方库,这些库涵盖了大量的不同领域,下面这篇文章主要给大家介绍了关于利用pip安装python第三方库的4种方法,需要的朋友可以参考下
    2023-02-02
  • Python文本终端GUI框架示例详细讲解

    Python文本终端GUI框架示例详细讲解

    GUI,全称为图形用户界面,又称为图形用户接口,是一种人与计算机通信的界面显示格式。那么Python常用GUI框架有哪些呢?我们来看看具体介绍
    2022-11-11
  • 跟老齐学Python之使用Python查询更新数据库

    跟老齐学Python之使用Python查询更新数据库

    前面我们讲述了使用python操作数据库,今天我们来更进一步,介绍下python查询、更新数据库的相关操作。有需要的小伙伴自己参考下吧。
    2014-11-11
  • python seaborn heatmap可视化相关性矩阵实例

    python seaborn heatmap可视化相关性矩阵实例

    这篇文章主要介绍了python seaborn heatmap可视化相关性矩阵实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python tkinter库实现登录注册基本功能

    Python tkinter库实现登录注册基本功能

    Python自带了tkinter模块,实质上是一种流行的面向对象的GUI工具包 TK 的Python编程接口,提供了快速便利地创建GUI应用程序的方法,下面这篇文章主要给大家介绍了关于tkinter库制作一个简单的登录注册小程序,需要的朋友可以参考下
    2022-12-12
  • Python函数参数和注解的使用

    Python函数参数和注解的使用

    本文介绍了Python函数的四种参数:定位参数、可变参数、默认值参数、关键字参数,和第五种Python3新特性参数:仅限关键字参数。函数注解是一种元数据,存在__annotations__属性中,备注函数的参数和返回值的类型,它只是个注解,Python不会做任何强制检查。
    2021-06-06
  • Python面向对象程序设计类的多态用法详解

    Python面向对象程序设计类的多态用法详解

    这篇文章主要介绍了Python面向对象程序设计类的多态用法,结合实例形式详细分析了Python面向对象程序设计中类的多态概念、原理、用法及相关操作注意事项,需要的朋友可以参考下
    2019-04-04
  • python求定积分之quad函数详解

    python求定积分之quad函数详解

    这篇文章主要介绍了python求定积分之quad函数详解,SciPy下实现求函数的积分的函数的基本使用,积分,高等数学里有大量的讲述,基本意思就是求曲线下面积之和,需要的朋友可以参考下
    2023-08-08

最新评论