利用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检测手机QQ在线状态的脚本代码
Feb 10 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Apr 08 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
一文总结学习Python的14张思维导图
Oct 17 Python
python对视频画框标记后保存的方法
Dec 07 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
Python读取csv文件分隔符设置方法
Jan 14 Python
python导入pandas具体步骤方法
Jun 23 Python
对Python 中矩阵或者数组相减的法则详解
Aug 26 Python
Python如何实现FTP功能
May 28 Python
Python 可迭代对象 iterable的具体使用
Aug 07 Python
Python字符串格式化方式
Apr 07 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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
JS基础随笔(菜鸟必看篇)
2016/07/13 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python探索之修改Python搜索路径
2017/10/25 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
Python过滤序列元素的方法
2020/07/31 Python
为什么使用接口?
2014/08/13 面试题
2019年c语言经典面试题目
2016/08/17 面试题
金融专业毕业生推荐信
2013/11/26 职场文书
总经理任命书范本
2014/06/05 职场文书
融资合作协议书范本
2014/10/17 职场文书
毕业赠语大全
2015/06/23 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
Win10 Anaconda安装python-pcl
2022/04/29 Servers