Custom Tracking Models

Import KOI 2 Library

from future import *
from koi2 import KOI2

Serial Initialization

koi = KOI2(tx, rx)

Initializes the serial connection to KOI.

Parameters:

tx: TX Pin, use P2 for Robotbit EDU

rx: RX Pin, use P12 for Robotbit EDU

Select Custom Tracking Mode

koi.setModel(3)

Sets the KOI mode to Custom Tracking.

Load Custom Tracking Model

koi.initCustomModel(name, anchor)
koi.initCustomModel('/sd/ballRGB.kmodel',[1.25,1.25,1.50,1.50,1.72,1.72,1.97,1.97,2.34,2.31]) #example for color balls model

Loads a custom model.

Parameters:

name: File name

anchor: A list containing the anchor values.

Get Item Class Coordinates

koi.xywh[0]

Returns coordinates for the detected custom class.

Parameters:

data: The type of data to return.

dataMeaning

0

X coordinates

1

Y coordinates

2

Width of item

3

Height of item

Get Item ID

koi.strVal

Returns the name of the item ID.

Sample Code: Custom Tracking Model

from future import *
from koi2 import KOI2



koi = KOI2('P2', 'P12')
koi.setModel(3)
sleep(15)
koi.initCustomModel(10616832,[1.25,1.25,1.50,1.50,1.72,1.72,1.97,1.97,2.34,2.31])
koi.direction(2)
koi.mirror(0)
screen.sync = 0
while True:
  koi.read_from_uart()
  screen.fill((0, 0, 0))
  screen.text(koi.numberVal,5,10,2,(255, 255, 255))
  screen.text(koi.xywh[0],5,30,2,(255, 255, 255))
  screen.text(koi.xywh[1],5,50,2,(255, 255, 255))
  screen.text(koi.xywh[2],5,70,2,(255, 255, 255))
  screen.text(koi.xywh[3],5,90,2,(255, 255, 255))
  screen.refresh()

Last updated