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

前言

本文主要介绍了关于利用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将图片转换成excel文档格式 的全部内容, 来源链接: utcz.com/z/333358.html

回到顶部