本帖最后由 肥罗-阿勇 于 2021-12-31 08:59 编辑
一直以来K210作为人工智能开发板,因其使用简单,功能强大倍受欢迎!
但是有个问题也一直困扰着大家,那就是K210因为使用的是OpenMV,默认是不支持中文的
通过一番探索(百度^_^),终于找到了让K210显示中文的方法。
步骤1步骤1
制作字库
要让K210显示中文,需要讲中文字库加载进去,所以第一步就是要制作字库文件。
这个在网上有各种字库文件下载,以宋体字库文件为例。(文末有下载)
将字库文件存到K210的TF卡中。
步骤2步骤2
编写代码
因为现有的图形编程软件不支持加载字库,所以暂时需要用代码编写。
迟点我会做一个mixly的库,将加载中文放进去。
到时就可以通过拖代码块来实现了。
这里以识别口罩为例,将口罩模型存入到TF卡中。
打开Maixpy,输入如下代码
代码代码
- # K210显示中文
- import KPU as kpu
- import sensor
- import image
- import lcd
-
-
- def camera_init():
- sensor.reset()
- sensor.set_pixformat(sensor.RGB565)
- sensor.set_framesize(sensor.QVGA)
- sensor.skip_frames(10)
- sensor.run(1)
-
- lcd.init(freq=15000000, color=65535, invert=1)
- camera_init()
- sensor.set_vflip(1)
- sensor.set_windowing((224, 224))
- classes = ["Un_Masks","Masks"]
- anchor = (0.68,0.74,0.74,0.75,0.77,0.78,0.79,0.79,0.86,0.87)
- task = kpu.load("/sd/kouzhao.kmodel")
- kpu.init_yolo2(task,0.5,0.3,5,anchor)
- img = image.Image()
- image.font_load(image.UTF8, 16, 16, '/sd/songti.Dzk')
- while True:
- image = sensor.snapshot()
- lcd.display(image)
- code = kpu.run_yolo2(task,image)
- if bool(code):
- for i in code:
- image = image.draw_rectangle(i.rect(),(0,0,255),1,0)
-
- if str((classes[i.classid()]))=="Masks":
- image.draw_string(i.x(), i.y(), b'戴口罩',scale=2, color=(255,0,0), x_spacing=2, mono_space=1)
- if str((classes[i.classid()]))=="Un_Masks":
- image.draw_string(i.x(), i.y(), b'没戴口罩', scale=2, color=(255,0,0),x_spacing=2, mono_space=1)
-
- lcd.display(image)
复制代码
步骤3步骤3
查看效果
这里以小方舟为例,效果如下所示,可以完美显示中文。
还可以通过代码对中文的大小颜色进行修改。
大家可以自行摸索一下。
附件附件
Makelog作者原创文章,未经授权禁止转载。
|