Image2LCD的设置参数如下
实现的python代码如下
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
# 假设bin文件是8位单通道的灰度图像数据
def bin_to_image(bin_file_path, width, height):
# 读取bin文件
data = np.fromfile(bin_file_path, dtype=np.uint8)
list1 = []
for k in range(height):
# 新建一个临时数组,大小为width*8
array_1d_1024 = [0] * (width*8)
for i in range((width*k),(width*(k+1))):
binary_string = bin(data[i])[2:]
# 确保二进制字符串有8位,不够则在前面填充零
binary_string_8bit = binary_string.zfill(8)
# 创建一个新数组,用于存储bit位(整数形式)
bit_array = [int(char) for char in binary_string_8bit]
for j in range(8):
array_1d_1024[(width*j)+(i%width)] = bit_array[7-j]
list1.extend(array_1d_1024)
# 创建一个一维NumPy数组
one_d_array = np.array(list1)
# 将一维数组转换为2行3列的二维数组
two_d_array = one_d_array.reshape((height*8, width))
# for row in two_d_array:
# for element in row:
# print(element, end=' ') # 使用end=' '来在同一行中打印元素
# print() # 打印完一行后换行
# 使用 Matplotlib 显示图像
plt.imshow(two_d_array, cmap='gray')
plt.axis('off') # 关闭坐标轴
# 保存图像
plt.savefig('output_test.png', bbox_inches='tight', pad_inches=0)
# 显示图像(可选,因为上面的 savefig 已经保存了图像)
plt.show()
return 0
# 使用示例
bin_file_path = 'xxx.bin'
width = 100 # 图像的宽度
height = 10 # 图像的高度
image = bin_to_image(bin_file_path, width, height)
注意: height为实际图片的高度除以8