回到顶部 回到顶部

全世界都讲中国话——K210显示中文 简单

头像 肥罗-阿勇 2021.09.03 1974 0

一直以来K210作为人工智能开发板,因其使用简单,功能强大倍受欢迎!

但是有个问题也一直困扰着大家,那就是K210因为使用的是OpenMV,默认是不支持中文的

通过一番探索(百度^_^),终于找到了让K210显示中文的方法。

project-image

步骤1 制作字库

要让K210显示中文,需要讲中文字库加载进去,所以第一步就是要制作字库文件。

这个在网上有各种字库文件下载,以宋体字库文件为例。(文末有下载)

将字库文件存到K210的TF卡中。

步骤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)
project-image

步骤3 查看效果

这里以小方舟为例,效果如下所示,可以完美显示中文。

还可以通过代码对中文的大小颜色进行修改。

大家可以自行摸索一下。

project-image

步骤4 图形化编程

对于代码不太熟悉的小伙伴,可以考虑使用Mind+来进行编程

Mind 1.7.1之后的版本都可以。

首先需要加载一个用户库

project-image

在这个中文显示用户库中基本只需要使用到两个代码

一个是加载字库文件

零一个是现实中文字

project-image

简单文字显示代码如下:

project-image

效果如下:

project-image

结合口罩识别代码如下:

project-image

评论

user-avatar