python 提取图片转为16 24BPP 的方法
python 中处理图片用的是 pil ,在 linux 和 win 上都可以使用。
centOS 5.x 上安装的方法是 yum install python-imaging
24BPP:
import Image
img = Image.open("1.jpg")
out = ""
width,height = img.size
for y in range(0, height):
for x in range(0, width):
r,g,b = img.getpixel((x, y))
px = hex(r<<16 | g<<8 | b)
out += str(px) + "," print out
就是取像素的颜色在转为16进制,24BPP 的颜色,每位占8位。
16BPP:
import Image
img = Image.open("1.jpg")
out = ""
width,height = img.size
for y in range(0, height):
for x in range(0, width):
r,g,b = img.getpixel((x, y))
#8bit convert to 5bit
px = hex((r>>3)<<11 | (g>>2)<<5 | b>>3)
out += str(px) + "," print out
2440 要求 分别占RGB 分别占 5 6 5 位。
程式只做了打印, 实际用的时候,可以通过 get24bbp.py > /home/24bpp.h 这样来使用。当然了,你还要手工编辑加上 static unsigned long img[] = {...}; 之类的。
24BPP:
$out = "static const unsigned long img1[]={";
$img = imagecreatefromjpeg("a.jpg");
$width = imagesx($img);
$height = imagesy($img);
for($y=0;$y<$height;$y++)
{
for($x=0;$x<$width;$x++)
{
$out .= sprintf("0x%X",imagecolorat($img,$x,$y)) . ',';
}
}
$out .="0};\r\n";
file_put_contents("out.h",$out);
php 中使用 sprintf 转为 16进制,因为 php 我平时是在浏览器上运行的, 不能 > 导出, 所以加了 文件保存。
php 中文件保存很容易, python 中就要先 open 在 write 最后关闭。 但是 python 中, r g b 分散的方式很好,要是做位运算方便些。
python 提取图片转为16 24BPP 的方法的更多相关文章
- Python提取图片的ROI
图像处理经常需要提取图片的ROI,本文使用Python提取图片的ROI. 使用的Module是PIL (Pillow),一个图像处理库,用到的函数为类 Image 中的 crop 方法. 函数原型为: ...
- python 读取二进制文件 转为16进制输出
示例: #!/usr/bin/env python #encoding: utf-8 import binascii fh = open(r'C:\Temp\img\2012517165556.png ...
- python将图片转为base64编码
import base64 f = open("m1.jpg", "rb") res = f.read() s = base64.b64encode(res) ...
- Python实现图片滑动式验证识别
1 abstract 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类 ...
- python2/3中 将base64数据写成图片,并将图片数据转为16进制数据的方法、bytes/string的区别
1.python2将base64数据写成图片,并将数据转为16进制字符串的方法 import binascii img = u'R0lGODlhagAeAIcAAAAAAAAARAAAiAAAzABE ...
- 从word中提取图片的三种方法
方法1:使用截图方法来提取并保存图片,如果你安装了QQ并且运行了的话,你可以使用Ctrl+Alt+A来截图,然后在QQ聊天框中按CTRL+V来保存图片,当然你可以在PS新建文档按CTRL+V来粘贴图片 ...
- python 如何将md5转为16字节
python的hashlib库中提供的hexdigest返回长度32的字符串. md5sum是128bit,也就是16字节,如何将python生成字符串的转为16字节呢? 请看下面代码 import ...
- 将python图片转为二进制文本的实例
https://www.jb51.net/article/155342.htm 写在最前面: 我在研究机器学习的过程中,给的数据集是手写数字图片被处理后的由0,1表达的txt文件,今天写一写关于图片转 ...
- python提取视频第一帧图片
一.实现代码 # -*- coding: utf-8 -*- import cv2 from PIL import Image from io import BytesIO def tryTime(m ...
随机推荐
- Java 找到数组中两个元素相加等于指定数的所有组合
思路1:可以用hash表来存储数组中的元素,这样我们取得一个数后,去判断sum - val 在不在数组中,如果在数组中,则找到了一对二元组,它们的和为sum,该算法的缺点就是需要用到一个hash表,增 ...
- mysql 模块使用
import MySQLdb conn = MySQLdb.connect(host=',db='fengjian') cur = conn.cursor() sql = 'insert into a ...
- iOS 归档
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...
- play项目部署
首先对于现场的数据库,一定要谨慎谨慎再谨慎,特别是保存有重要数据的. 使用expdp命令导入数据库: 事前准备: 1.确保linux服务器上已经正确安装oracle (10g以上版本) 2.有Xshe ...
- 异常处理原则--good
异常机制是现代主流语言的标配,但是异常处理问题虽然已经被讨论很多,也有很多经典书籍的论述,却一直都充满争议.很多人都觉得异常处理很难拿捏,同时也难以理解一些语言或库的异常处理设计.我使用Java近10 ...
- CSS浮动与清浮动
浮动 ( float css属性) float : left right Elements are floated horizontally, this means that an element c ...
- iTOP-4412 开发板镜像的烧写
镜像就是源代码编译并连接以后生成的可执行文件包,把这些镜像文件烧写到开发板的存储芯片里,开机就可以运行了. 烧写方式有两种,通过TF卡烧写以及使用OTG接口烧写 OTG方式:只能在WIN7 或者XP ...
- Lintcode: Sort Colors II
Given an array of n objects with k different colors (numbered from 1 to k), sort them so that object ...
- Codeforce Round #226 Div2
这次CF虽然,但是- - 第一题看了很久的题目意思额,虽然慢了点- -,但还算没出错,还学会了hack了- -,还+了100- - 第二题想了很久- -...后来发现可以暴力- -,哎 第三题本来也应 ...
- extjs中的下载并对文件重命名功能的实现
在小白的学习extjs的过程中,如果需要了解多文件的上传功能,也可以查看小白的上篇随笔,希望给大家帮助.http://www.cnblogs.com/wangqc/p/extjsFileUpload. ...