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 的方法的更多相关文章

  1. Python提取图片的ROI

    图像处理经常需要提取图片的ROI,本文使用Python提取图片的ROI. 使用的Module是PIL (Pillow),一个图像处理库,用到的函数为类 Image 中的 crop 方法. 函数原型为: ...

  2. python 读取二进制文件 转为16进制输出

    示例: #!/usr/bin/env python #encoding: utf-8 import binascii fh = open(r'C:\Temp\img\2012517165556.png ...

  3. python将图片转为base64编码

    import base64 f = open("m1.jpg", "rb") res = f.read() s = base64.b64encode(res) ...

  4. Python实现图片滑动式验证识别

    1 abstract 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类 ...

  5. python2/3中 将base64数据写成图片,并将图片数据转为16进制数据的方法、bytes/string的区别

    1.python2将base64数据写成图片,并将数据转为16进制字符串的方法 import binascii img = u'R0lGODlhagAeAIcAAAAAAAAARAAAiAAAzABE ...

  6. 从word中提取图片的三种方法

    方法1:使用截图方法来提取并保存图片,如果你安装了QQ并且运行了的话,你可以使用Ctrl+Alt+A来截图,然后在QQ聊天框中按CTRL+V来保存图片,当然你可以在PS新建文档按CTRL+V来粘贴图片 ...

  7. python 如何将md5转为16字节

    python的hashlib库中提供的hexdigest返回长度32的字符串. md5sum是128bit,也就是16字节,如何将python生成字符串的转为16字节呢? 请看下面代码 import ...

  8. 将python图片转为二进制文本的实例

    https://www.jb51.net/article/155342.htm 写在最前面: 我在研究机器学习的过程中,给的数据集是手写数字图片被处理后的由0,1表达的txt文件,今天写一写关于图片转 ...

  9. python提取视频第一帧图片

    一.实现代码 # -*- coding: utf-8 -*- import cv2 from PIL import Image from io import BytesIO def tryTime(m ...

随机推荐

  1. iOS:app直播---采集篇

    [如何快速的开发一个完整的iOS直播app](采集篇) 转载自简书@袁峥Seemygo:http://www.jianshu.com/p/c71bfda055fa 前言 开发一款直播app,首先需要采 ...

  2. Hlsl2glsl

    https://sourceforge.net/projects/hlsl2glsl/

  3. [BS] 小知识点总结-02

    1.  dispatch_GCD 可让某操作延迟x秒执行 //模拟网速慢,延迟3s返回数据(就会导致右侧数据和左侧标签不对应) dispatch_after(dispatch_time(DISPATC ...

  4. iOS 开发知识小集(1)

    iOS 开发知识小集(1) 2015-05-15  iOS大全 (点击上方蓝字,快速关注我们) 一直想做这样一个小册子,来记录自己平时开发.阅读博客.看书.代码分析和与人交流中遇到的各种问题.之前有过 ...

  5. C#和VC++字符集和编码

    C# char 关键字用于声明 .NET framework 使用 Unicode 字符表示 System.Char 结构的实例. Char 对象的值是 16 位数字 (序号值.)将字符表示为 UTF ...

  6. Vue.2.0.5-混合

    基础 混合是一种灵活的分布式复用 Vue 组件的方式.混合对象可以包含任意组件选项.以组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项. 例子: // 定义一个混合对象 var myMi ...

  7. autolayout也会锁死

    This application is modifying the autolayout engine from a background thread, which can lead to engi ...

  8. 发现前端框架 bui-min.js

    http://www.builive.com/apps/default/main.html#menu/code http://www.builive.com/demo/grid-plugin.php# ...

  9. Web 安全的短板

  10. leetcode8 String to Integer (atoi)

    题目需求: 输入一个字符串,输出对应的int值 特殊处理: 输入: null  输出:0 输入: "a122"  输出:0 输入: "   1233"  输出: ...