一直以来K210作为人工智能开发板,因其使用简单,功能强大倍受欢迎!
但是有个问题也一直困扰着大家,那就是K210因为使用的是OpenMV,默认是不支持中文的
通过一番探索(百度^_^),终于找到了让K210显示中文的方法。
步骤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)
步骤3 查看效果
这里以小方舟为例,效果如下所示,可以完美显示中文。
还可以通过代码对中文的大小颜色进行修改。
大家可以自行摸索一下。
步骤4 图形化编程
对于代码不太熟悉的小伙伴,可以考虑使用Mind+来进行编程
Mind 1.7.1之后的版本都可以。
首先需要加载一个用户库
在这个中文显示用户库中基本只需要使用到两个代码
一个是加载字库文件
零一个是现实中文字
简单文字显示代码如下:
效果如下:
结合口罩识别代码如下:
附件
评论