利用python将图片转换成excel文档格式


Posted in Python onDecember 30, 2017

前言

本文主要介绍了关于利用python将图片转换成excel文档的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

实现步骤

  • 读取图像,获取图像每个像素点的RGB值;
  • 根据每个像素点的RGB值设置excel每个方格的颜色值;
  • 根据像素点的坐标,写入excel文件;
  • 保存退出;

示例代码

from PIL import Image
import numpy as np
import time
import matplotlib.pyplot as plt
import xlsxwriter
def get_xy(row, col):
 table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
 num1 = col / 26
 num2 = col % 26
 # print num1, num2
 if num1 == 0:
  return table[num2 - 1] + str(row)
 else:
  return table[num1-1] + table[num2 - 1] + str(row)
def main():
 img = np.array(Image.open('whale.jpeg'))
 
 # plt.figure("whale")
 # plt.imshow(img)
 # plt.show()
 rows, cols, dims = img.shape
 print img.shape 
 print img.dtype 
 print img.size 
 print type(img)
 # print img[188, 188, 0]
 excel = xlsxwriter.Workbook('image_excel.xlsx')
 cellformat = excel.add_format({'bg_color': '#123456',
         'font_color': '#654321'})
 worksheet1 = excel.add_worksheet()
 data = []
 color = [''] * cols
 cellcolor = ""
 for i in range(rows):
  for j in range(cols):
   # print hex(img[i, j, 0]), hex(img[i, j, 1]), hex(img[i, j, 2])
   cellcolor = (hex(img[i, j, 0]) + hex(img[i, j, 1]) + hex(img[i, j, 2])).replace('0x', '')
   # print cellcolor
   
   cellformat = excel.add_format({'bg_color': '#'+cellcolor, 
           'font_color': '#'+cellcolor})
   
   # cellformat = excel.add_format({'bg_color': '#C6EFCE', 
   #        'font_color': '#006100'})
   
   worksheet1.conditional_format(get_xy(i, j), {'type': 'cell',
              'criteria': '<',
              'value': 50,
              'format': cellformat})
  # data.append(data_row)
 excel.close() 

if __name__ == '__main__':
 main()
 # print get_xy(133, 27)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
理解Python中函数的参数
Apr 27 Python
Python下rrdtool模块的基本使用方法
Nov 13 Python
Python3 使用cookiejar管理cookie的方法
Dec 28 Python
python虚拟环境迁移方法
Jan 03 Python
eclipse创建python项目步骤详解
May 10 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
Python使用scrapy爬取阳光热线问政平台过程解析
Aug 14 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
python环境下安装opencv库的方法
Mar 05 Python
termux中matplotlib无法显示中文问题的解决方法
Jan 11 Python
给numpy.array增加维度的超简单方法
Jun 02 Python
书单|人生苦短,你还不用python!
Dec 29 #Python
python ansible服务及剧本编写
Dec 29 #Python
详解python 拆包可迭代数据如tuple, list
Dec 29 #Python
详解Python异常处理中的Finally else的功能
Dec 29 #Python
Python2.7+pytesser实现简单验证码的识别方法
Dec 29 #Python
Python实现破解12306图片验证码的方法分析
Dec 29 #Python
解决python使用open打开文件中文乱码的问题
Dec 29 #Python
You might like
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
js图片预加载示例
2014/04/30 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
JS实现图片切换特效
2019/12/23 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python 多线程实例详解
2017/03/25 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
Python中enumerate函数代码解析
2017/10/31 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
Python流程控制 if else实现解析
2019/09/02 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
如何利用Python写个坦克大战
2020/11/18 Python
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
体育专业个人的求职信范文
2013/09/21 职场文书
秋季运动会广播稿
2014/02/22 职场文书
学前班评语大全
2014/05/04 职场文书
创先争优承诺书
2015/01/20 职场文书
关于艺术节的开幕致辞
2016/03/04 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
zabbix配置nginx监控的实现
2022/05/25 Servers