利用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 26 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
Nov 01 Python
numpy中实现二维数组按照某列、某行排序的方法
Apr 04 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
Jan 29 Python
Python队列、进程间通信、线程案例
Oct 25 Python
python默认参数调用方法解析
Feb 09 Python
Pycharm配置PyQt5环境的教程
Apr 02 Python
python随机模块random的22种函数(小结)
May 15 Python
python map比for循环快在哪
Sep 21 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 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破解防盗链图片的一个简单方法
2014/06/07 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
IE与FireFox中的childNodes区别
2011/10/20 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
Python中为什么要用self探讨
2015/04/14 Python
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
golang/python实现归并排序实例代码
2020/08/30 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
信访工作经验交流材料
2014/05/23 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
教师个人发展总结
2015/02/11 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
angular异步验证器防抖实例详解
2022/03/31 Javascript