import sensor, image, time, ubinascii, pyb
初始化摄像头(用于错误时显示备用画面)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time=1000)
Base64编码的64x64像素JPEG图像(示例)
这是一个红色正方形图片的Base64编码
base64_str = (
“/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a”
“HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy”
“MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQABADASIAAhEB”
“AxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9”
“AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6”
“Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip”
“qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEB”
“AQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJB”
“UQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RV”
“VldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6”
“wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigD//”
“2Q==”
)
def show_base64_image(b64_str):
try:
1. Base64解码
img_bytes = ubinascii.a2b_base64(b64_str)
# 2. 创建图像对象
img = image.Image(img_bytes, copy_to_fb=True)
# 3. 显示图像
while(True):
img.copy() # 刷新显示
pyb.delay(50)
except Exception as e:
print("Base64图像解码错误:", e)
return False
return True
主程序
print(“=== Base64图像显示演示 ===”)
print(“红色方块图像尺寸: 64x64 像素”)
尝试显示Base64图像
if not show_base64_image(base64_str):
print(“切换到摄像头视图…”)
while(True):
显示摄像头画面作为备用
sensor.snapshot().draw_string(5, 5, “Base64解码失败!”, color=(255,0,0))