利用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 11 Python
详解Python中映射类型(字典)操作符的概念和使用
Aug 19 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
Dec 09 Python
python类中super() 的使用解析
Dec 19 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
基于Python实现对比Exce的工具
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
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
2007/09/04 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
简述AngularJS的控制器的使用
2015/06/16 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
javascript学习之json入门
2016/12/22 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
Python如何为图片添加水印
2016/11/25 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
numpy 声明空数组详解
2019/12/05 Python
Python类class参数self原理解析
2020/11/19 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
个人党性剖析材料
2014/02/03 职场文书
管理失职检讨书
2014/02/12 职场文书
车辆工程专业求职信
2014/04/28 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
大队委员竞选稿
2015/11/20 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书