由於開發須要,編寫了一個圖像數據轉換成.coe 文件的小程序,發佈出來給有須要的人小程序
1.先給出源程序數組
import tkinter as tk from tkinter import filedialog import os application_window = tk.Tk() my_filetypes = [('all files', '.*'), ('text files', '.txt')] answer = filedialog.askopenfilename(parent=application_window, initialdir=os.getcwd(), title="請選擇文件:", filetypes=my_filetypes)#對話框選擇文件 k = os.path.basename(answer)#獲取文件名 def func(f): a = f.readlines() return a with open(answer,encoding='utf-8') as f, open('answer.bak','w',encoding='utf-8') as f2: s = func(f)#取出全部行造成一個列表 s.pop(0)#刪除第0個元素也就是0行 s.insert(0,'memory_initialization_radix=16;\nmemory_initialization_vector=\n')#在第0行添加.coe文件頭 s1 = ''.join(s)#將列表轉成字符串 s2 = s1.replace('\n','')#去掉換行符 s3 = s2.replace(',','')#去掉逗號 s4 = s3.replace('}','')#去掉} s5 = s4.replace('0X','')#去掉0X l = 0 while l < len(s5): f2.write(s5[l]) if l == 30:#在字符memory_initialization_radix=16;後面加入換行符 f2.write('\n') if l > 59 or l == 59:#將.coe文件頭寫入answer.bak if (l + 1) % 6 == 0:#6個字符分紅一組,由於是16進制數,因此造成的數據位寬是4bit*6 = 24bit if (l + 1) % 60 == 0:#10個組分紅一行 f2.write('\n') else: f2.write(' ') l += 1 # os.remove('answer') os.rename('answer.bak',k.replace('.c','.coe'))#將文件轉換成.coe文件 print("轉換成功!") import time time.sleep(2)
2.操做流程app
首先須要有一張圖片,而後用Img2Lcd.exe軟件轉成對應的c語言數組的.c文件,轉換成功後就能夠用個人小程序了spa
廢話很少說,有圖有真相code
雙擊個人小程序文件blog
會彈出文件選擇對話框圖片
選擇.c文件以後會自動轉換成.coe文件utf-8
此文件能夠直接放到xilinx的romIP中使用,如須要其餘位寬請自行修改代碼開發
.exe文件百度網盤連接:rem
連接:https://pan.baidu.com/s/1Uxsjdskx8G7xNIoPhhBtrw 提取碼:2jsa