python 版本 3.x
首先安装 PIL
由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。
所以 安装:
pip install pillow
获取像素点
import numpy as np from PIL import Image img = Image.open("./b.png").convert('RGBA') a_img = np.asarray(img)
获取的图片像素为 一个二维数组,相当于是二维左边系, x ,y 然后里面存了一个元组 值分别为 r g b a
分别计算改变了像素值之后,就需要将数据写入到图片了,这个时候就需要 matplotlib
import matplotlib.pyplot as plt plt.figure("beauty") # 开启图层,名称为 beauty plt.imshow(a_img) # 二维数组的数据 plt.axis('off') #plt.show() plt.savefig("./result.png")
下面给出一个完整的 demo
需要将两张图片合并计算,并输出结果:
将上面两个图片合并
from PIL import Image import numpy as np import matplotlib.pyplot as plt def modeSuperposition(basePixel,mixPixel,alpha): basePixel = int(basePixel) mixPixel = int(mixPixel); res=0 if basePixel <= 128 : res = int(mixPixel) * int(basePixel) / 128; else: res = 255 - (255 - mixPixel)*(255 - basePixel) / 128; a = alpha / 255; if a > 1: a = 1 res = (1-a)*basePixel + a*res t = int(res)&-256 if t == 0: return int(res) if res > 255: return 255 return 0 def mergePoint(x,y): p1 = img1[x][y] p2 = img2[x][y] p1[1] = modeSuperposition(p1[0],p2[0],p2[3]) p1[2] = modeSuperposition(p1[1],p2[1],p2[3]) p1[3] = modeSuperposition(p1[2],p2[2],p2[3]) imgA = Image.open('./b.png') img1=np.array(imgA.convert('RGBA')) #打开图像并转化为数字矩 img2=np.array(Image.open("./light.png").convert('RGBA')) i = len(img1); j = len(img1[0]); for k in range(0,len(img2)): for n in range(0,len(img2[0])): if k < i and n < j: mergePoint(k,n) #img = Image.new("RGBA",imgA.size)###创建一个5*5的图片 plt.figure("beauty") # 开启图层,名称为 beauty plt.imshow(img1) # 二维数组的数据 plt.axis('off') #plt.show() plt.savefig("./result.png")
结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍python使用PIL实现多张图片垂直合并,包括了python使用PIL实现多张图片垂直合并的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现多张图片垂直合并的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
问题内容: 如何使用PIL或任何其他Python库获取图片边的大小? 问题答案: 根据文档。
本文向大家介绍python使用PIL缩放网络图片并保存的方法,包括了python使用PIL缩放网络图片并保存的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python使用PIL缩放网络图片并保存的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。
本文向大家介绍JavaScript获取图片像素颜色并转换为box-shadow显示,包括了JavaScript获取图片像素颜色并转换为box-shadow显示的使用技巧和注意事项,需要的朋友参考一下 一、原理: 1.使用HTML5的FileReader API读取图片 FileReader文件读物器,用于读取客户端文件到,注意,文件读取完毕后并不会载入缓存 eg: 2.使用HTML5 canvas
本文向大家介绍用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os),包括了用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧! 补充知识:python遍历灰度图像像素方法总结 啥也不说了,看代码吧! 测试结果: 以上这篇用python按照图像灰度值统计并筛选图片的操
我有一个Excel(.xlsx)文件,大约有40张工作表。每个工作表具有相同的结构,但包含不同的数据。我想从每张表中提取信息并将其合并为一张,将每张表中的信息一张叠在另一张上。我需要从中提取的信息有两个: 表名,总是在单元格E3中找到 感兴趣的单元格区域,总是在行72-85和列E-V之间找到 提取的信息将粘贴在合并工作表的第2-15行中,工作表名称在一列中,所有其他信息在其旁边的列中。然后,从提取