Python实现PIL将图片转成字符串
# -*- coding: utf-8 -*-
# author:baoshan from PIL import Image, ImageFilter codeLib = '''@#$%&?*aeoc=<{[(/l|!-_:;,."'^~` '''
count = len(codeLib)
print(count) def trans_photo(image_file):
# 将彩色图片转化为黑白的图片
image_file = image_file.convert("L")
codePic = ''
# 循环图片的宽高,并得到每一像素的灰度值
for h in range(0, image_file.size[1]):
for w in range(0, image_file.size[0]):
gray = image_file.getpixel((w, h))
# 将对应的灰度值映射到字符
codePic = codePic + codeLib[int(((count) * gray) / 256)]
# 实现每行结尾处自动换行
codePic = codePic + '\r\n'
return codePic def main():
filename = '114x156.jpg'
fp = open(filename, 'rb')
image_file = Image.open(fp) image_file = image_file.resize((int(image_file.size[0] / 2), int(image_file.size[1] / 4))) tmp = open('w2.txt', 'w')
tmp.write(trans_photo(image_file))
tmp.close() if __name__ == '__main__':
main()
忘了从哪里转载的了,如有侵权,请告知删除
【目前纯学习用】
谢谢
Python实现PIL将图片转成字符串的更多相关文章
- 第一个Python小项目:图片转换成字符图片
实现的效果: ...
- 使用PIL将图片转成字符
注意:转化成txt后,txt的字体使用“宋体”,不能使用“微软雅黑”,否则图像会变形 import numpy as npfrom PIL import Image if __name__ == '_ ...
- python使用PIL压缩图片
import Image import os import os.path import sys path = sys.argv[1] small_path = (path[:-1] if path[ ...
- Base64技术:把对象转变成字符串
需求:在安卓移动端和服务器进行数据交互的时候,有些时候需要上传,下载文件.如果所有的参数都变成字符串,会更加方便. 原理:Base64只是把byte[]数组进行了编码,然后再解码的过程,文档内容无法直 ...
- python base64 编解码,转换成Opencv,PIL.Image图片格式
二进制打开图片文件,base64编解码,转成Opencv格式: # coding: utf-8 import base64 import numpy as np import cv2 img_file ...
- 使用Python的PIL模块来进行图片对比
使用Python的PIL模块来进行图片对比 在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死, ...
- c# 图片转二进制/字符串 二进制/字符串反转成图片
protected void Button1_Click(object sender, EventArgs e) { //图片转二进制 byte[] imageByte = GetPictureDat ...
- java 图片转换成base64字符串
import java.io.ByteArrayOutputStream; import java.io.FileInputStream;import java.io.FileOutputStream ...
- Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
随机推荐
- MYSQL使用source命令,导入SQL文件
命令 source D:/student.sql
- MyBatis日记(五):一对一关系,一对多关系
一对一关系: 首先在数据库中新增地址表(t_address)用于存储人员的地址信息: CREATE TABLE `t_address` ( `id` ) NOT NULL AUTO_INCREMENT ...
- ansible中的常用循环模块with_items
ansible中的循环模块有很多,不过with_items最为常用,且较为简单,循环模块最多的功能就是将重复性的任务简单化,如下例子所示: - hosts: all remote_user: root ...
- 如何将scratch3.0的作业自动提交到后台数据库
大家都知道Scratch3.0开发后,默认是可以下载文件到电脑,但是如果是作为商业系统来说,我们需要将作业自动的提交到后台,因此有了这篇文章. 首先,我们来分解下开发步骤: 1.在菜单栏新增一个上传到 ...
- 【原创】selenium+python+openpyxl实现登录自动化测试,自动读取excel用例数据,并将数据结果自动写入到excel
# -*- coding: utf-8 -*- from selenium import webdriver from openpyxl import load_workbook from time ...
- 使用Apache commons-maths3-3.6.1.jar包,在hive上执行获取最大值的操作
udf是对hive上的每行(单行)数据操作,现在我要实现对hive上的一列数据操作,udf函数已经满足不了我的要求了,使用udaf对hive的一列求最大值: 代码如下: package com; im ...
- 【Selenium-WebDriver实战篇】selenium之使用Tess4J进行验证码图片识别内容
==================================================================================================== ...
- 爬虫 - 请求库之selenium
介绍 官方文档 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的 ...
- include指令 include动作
- c语言的可变参数实例
可变参数函数实现的步骤如下: 1.在函数中创建一个va_list类型变量 2.使用va_start对其进行初始化 3.使用va_arg访问参数值 4.使用va_end完成清理工作 接下来我们来实现一个 ...