| 本帖最后由 肥罗-阿勇 于 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作者原创文章,未经授权禁止转载。
 
 
 |