首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

python使用PIL库读取图片的像素值

  • 25-03-03 22:42
  • 4479
  • 10591
blog.csdn.net
新年好,今天是大年初一。
想做一个横板的过关游戏,没有图片,就用photoshop从别人的游戏截屏中抽了一些图片出来,发现一共有74张图片,每张图片都在一个图层中,听说photoshop有图层批量导出的功能,很开心。但发现一个问题,就是图片批量导出的时候,会把透明的像素也导出来了。这个第一张图片会有很多空着的透明像素,好像这个没有办法解决。
废话少说,我们先批量导出所有的图片,方法如下。
python使用PIL库读取图片的像素值 - ♂苹果 - 眼睛想旅行
 这里我导出到了桌面上。看一下图片,有一大片空白像素。
python使用PIL库读取图片的像素值 - ♂苹果 - 眼睛想旅行
不知道photoshop有没有能不能批量导出没有透明像素的图片。反正我没有找到,我只能用最最老土的方法了。就是用python来对导出的图片分析。删除我们不要的透明像素。下边是使用python读取图片像素值的方法。
用image模块,可以用getpixel获得像素值,给你个例子吧。得到的像素值应该是(R,G,B,A),大家读读看每个图片是什么。
#!/usr/bin/env python
import Image
import sys
im = Image.open(sys.argv[1])
width = im.size[0]
height = im.size[1]
print "/* width:%d */"%(width)
print "/* height:%d */"%(height)
count = 0
for h in range(0, height):
for w in range(0, width):
pixel = im.getpixel((w, h))
for i in range(0,3):
count = (count+1)%16
if (count == 0):
print "0x%02x,/n"%(pixel[i]),
else:
print "0x%02x,"%(pixel[i]),
 这样我们就可以遍历整个图片像素了,在其中找出我们图片像素不是透用的区域,然后使用下边的方法把图片截取出来并保存:
box = (100,100,500,500)#设置要拷贝的区域,这是我们找到的有像素的区域。
#将im表示的图片对象拷贝到region中,大小为(400*400)像素。这个region可以用来后续的操作(region其实就是一个Image对象),box变量是一个四元组(左,上,右,下)。
region = im.crop(box)
region .save( "fileout.png" )
下边是一个不错的教程。 
http://onlypython.group.iteye.com/group/wiki/1371-python-graphics-library-pil-python-image-library-introduction
另一个教程:
http://www.blogjava.net/Skynet/archive/2009/11/28/303986.html
一个使用pil制作验证码的方法:
http://ju.outofmemory.cn/entry/34825

加一个PIL模块的安装方法:
pip install Image
用这个方法安装的PIL在import时要使用
form PIL import Image的方法调用Image图片模块.

欢迎热爱技术的人加入我的QQ群:213571088
文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览416716 人正在系统学习中
注:本文转载自blog.csdn.net的woodcol的文章"https://blog.csdn.net/fengmm521/article/details/78438747"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top