利用python将图片转换成excel文档格式
前言
本文主要介绍了关于利用python将图片转换成excel文档的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
实现步骤
- 读取图像,获取图像每个像素点的RGB值;
- 根据每个像素点的RGB值设置excel每个方格的颜色值;
- 根据像素点的坐标,写入excel文件;
- 保存退出;
示例代码
fromPILimportImage importnumpyasnp importtime importmatplotlib.pyplotasplt importxlsxwriter defget_xy(row,col): table='ABCDEFGHIJKLMNOPQRSTUVWXYZ' num1=col/26 num2=col%26 #printnum1,num2 ifnum1==0: returntable[num2-1]+str(row) else: returntable[num1-1]+table[num2-1]+str(row) defmain(): img=np.array(Image.open('whale.jpeg')) #plt.figure("whale") #plt.imshow(img) #plt.show() rows,cols,dims=img.shape printimg.shape printimg.dtype printimg.size printtype(img) #printimg[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="" foriinrange(rows): forjinrange(cols): #printhex(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','') #printcellcolor 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() #printget_xy(133,27)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。