python 将图片转换成像素画,python将矩阵转为图像

  python 将图片转换成像素画,python将矩阵转为图像

  大创项目是图像识别。第一个任务是将图片转换成二进制图像。

  之前用过python的numpy和turtle,这次想用的是图像库PIL的Image类,刚刚从零开始。

  整体效果(图像为01字符串)

  原理很简单:图片的黑色部分用0,其余部分用1。

  详细流程:

  先读取照片,获取图片的像素,然后对像素进行缩放,再将缩放后的照片黑白化(如果原本是彩色图片的话)。

  然后,一次性获得图像中每个像素的RGB颜色值。如果是黑色,像素替换为0,其余为1。

  存储在一个字符串中,最后按照指定的长度和宽度输出。

  使用的工具:

  im.getpixel((j,I))

  #getpixel是图像中像素的RGB颜色值。

  im=im.resize((width,height))

  #resize修改图片尺寸

  im=im.convert(1 )

  #用于不同模式下图像之间的转换

  1是获得二值图像。

  l模式是灰度图像。

  我们将原始图像的长和宽乘以一个常数(代码中使用了SCALE)来实现缩放。

  从PIL导入ImageSCALE=0.3#按比例缩放def get _ char (pixel,blank _ char= 0 ,Fill _ char= 1 ):if pixel==0:return blank _ charim=image . open(r ma . jpg )size=im . size #获取图片的像素#size[0]*size[1]横向和横向像素的宽度,height=int(size[0] * SCALE),int(size[1]* SCALE)im=im . resize((width, Height))#修改图像大小im=im.convert(1)#获取二值图像txt= for I in range(height):for j in range(width):txt=Get _ char(im . Get pixel((j,I)))#getpixel是图像中一个像素的RGB颜色值。 txt= \ n # print(txt)f=open(r Gou . txt , w) print (txt,file=f) f.close()

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: