Tämä artikkeli tarjoaa yleiskatsauksen toiminnoista, jotka ovat käytettävissä Pythonin AI Vision Sensorin käytössä, sekä yksinkertaiset ohjeet niiden käyttöön. Opit AI Vision Sensorin käyttöprosessin neljä vaihetta, tietojen hankkimista, saatujen objektien määrän näkemistä, käytettävän kohteen valitsemista tiedoista ja mitä tietoja kohteesta vedetään.
Hanki visuaalista dataa AI Vision Sensorin avulla
AI Vision Sensor kerää tietoa ympäristöstään ottamalla kuvan siitä, mitä se tällä hetkellä katsoo. Kaikki objektit, jotka se tunnistaa määritetylläVisual Signature :llä, tallennetaan sisäisesti AI Vision Sensoriin, jota muut toiminnot voivat käyttää.
.takeSnapshot
Kaikki visuaalista allekirjoitusta on määritettävä ennen kuin niitä voidaan käyttää parametreina. Kun käytät menetelmää, määritä allekirjoitusparametri anturin nimeksi, kaksoisalaviivaksi ja visuaalisen allekirjoituksen nimeksi.
AIVision6.takeSnapshot(AIVision6__Blue)
AIVision6.takeSnapshot(AIVision6__Red)
AIVision6.takeSnapshot(AIVision6__Vihreä)
Esimerkki
Tässä esimerkissä .takeSnapshot
-menetelmää käytetään etsimään "sinistä" visuaalista allekirjoitustavastaavia objekteja. Sitten koodi näyttää objektien määrän, joka on löydetty tälle visuaaliselle allekirjoitukselle .
int main() {
while (true) {
// Ota tilannekuva tarkistaaksesi havaitut kohteet
AIVision6.takeSnapshot(Blue);
// Tyhjennä näyttö/nollaa, jotta voimme näyttää uusia tietoja
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Tulosta kuinka monta kohdetta havaittiin
Brain.Screen.print("objektien määrä: %d", AIVision6.objectCount);
odota(0,5, sekuntia);
}
}
Määritä, kuinka monta esinettä havaittiin
Koska .takeSnapshot
-menetelmä voi havaita useita objekteja samalla visuaalisella allekirjoituksella kerrallaan, voit selvittää .objectCount
-ominaisuuden avulla, kuinka monta objektia on havaittu.
Brain.Screen.Print(“%d”, AIVision1.objectCount)
Esimerkki
Tässä esimerkissä .objectCount
-ominaisuutta käytetään tarkistamaan, havaittiinko vähintään 1 Visual Signature viimeisessä tilannevedossa, ja tulostetaan sitten joko tosi tai epätosi, jos objekti havaittiin. Jos esine havaittiin, se tulostaa havaittujen objektien kokonaismäärän.
int main() {
while (true) {
// Ota tilannekuva tarkistaaksesi havaitut kohteet
AIVision6.takeSnapshot(Blue);
// Tyhjennä näyttö/nollaa, jotta voimme näyttää uusia tietoja
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// jos esineitä löytyi, tulosta kuinka monta
if (AIVision6.objectCount > 0) {
Brain.Screen.newLine();
Brain.Screen.print("objektien määrä: %d", AIVision6.objectCount);
}
odota(0,5, sekuntia);
}
}
Valitse, mistä objektista haluat saada tietoja
On olemassa kaksi tapaa poimia tietoja AI Vision Sensorista. Yksi tapa on hakea tiedot suoraan suurimmasta objektista, joka on havaittu viimeisimmässä .takeSnapshot
-menetelmän käytössä, käyttämällä AIVision.largestObject
-ominaisuutta. Toinen menetelmä käyttää ominaisuutta AIVision.objects[]
ja määrittää objektiindeksin.
AIVision.largestObject
ai.vision.largest_object()
on ominaisuus, jolla pääsee käsiksi suurimmalle objektille.
int main() {
while (true) {
// Ota tilannekuva tarkistaaksesi havaitut kohteet
AIVision6.takeSnapshot(BlueBox);
// Tyhjennä näyttö/nollaa, jotta voimme näyttää uusia tietoja
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Jos esineitä löytyi, tulosta sijainti
if (AIVision6.objects[0].exists) {
Brain.Screen.print("Center X: %d, AIVision6.largestObject[0].centerX);
} else {
Brain.Screen.print("ei objektia");
}
odota(0,5, sekuntia);
}
}
AIVvision.objects
Toinen tapa noutaa tietoja on määrittää sen objektin hakemisto, josta haluat poimia tietoja. Tilannekuva palauttaa havaitut kohteet suurimmalla objektilla ensin indeksillä 0 ja järjestää objektit suurimmasta pienimpään.
int main() {
while (true) {
// Ota tilannekuva tarkistaaksesi havaitut kohteet
AIVision6.takeSnapshot(BlueBox);
// Tyhjennä näyttö/nollaa, jotta voimme näyttää uusia tietoja
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Jos esineitä löytyi, tulosta sijainti
if (AIVision6.objects[0].exists) {
Brain.Screen.print("Center X: %d, AIVision6.objects[0].centerX);
} else {
Brain.Screen.print("ei objektia");
}
odota(0,5, sekuntia);
}
}
Valitse, mitä tietoja objektista vedetään
Jokaisesta objektista voidaan kutsua kahdeksan ominaisuutta.
.korkeus
.leveys
.centerX
.centerY
.originX
.alkuperä
.kulma
.olemassa
.korkeus
Ominaisuus .height
palauttaa havaitun kohteen korkeuden pikseleinä.
Käytä tätä koodia palauttaaksesi ominaisuuden .height
:
AIVvision6.objects[0].height
Ominaisuus .height
palauttaa arvon välillä 0 - 240 pikseliä.
.leveys
Ominaisuus .width
palauttaa havaitun kohteen leveyden pikseleinä.
Käytä tätä koodia palauttaaksesi ominaisuuden .width
:
AIVvision6.objects[0].width
Ominaisuus .width
palauttaa arvon välillä 0–320.
.centerX
Ominaisuus .centerX
raportoi havaitun visuaalisen allekirjoituksenkeskipisteen X-koordinaatin.
Käytä tätä koodia palauttaaksesi .centerX
-ominaisuuden:
AIVision6.objects[0].centerX
Ominaisuus .centerX
palauttaa luvun väliltä 0–320.
.centerY
Ominaisuus .centerY
raportoi havaitun visuaalisen allekirjoituksenkeskustan Y-koordinaatin.
Käytä tätä koodia palauttaaksesi .centerY
-ominaisuuden:
AIVision6.objects[0].centerY
Ominaisuus .centerY
palauttaa luvun väliltä 0–240.
.originX
Ominaisuus .originX
raportoi havaitun visuaalisen allekirjoituksen vasemman yläkulman X-koordinaatin.
Käytä tätä koodia palauttaaksesi .originX
-ominaisuuden:
AIVision6.objects[0].originX
Ominaisuus .originX
palauttaa luvun väliltä 0–320.
.alkuperä
Ominaisuus .originY
ilmoittaa havaitun visuaalisen allekirjoituksen vasemman yläkulman Y-koordinaatin.
Käytä tätä koodia palauttaaksesi .originY
-ominaisuuden:
AIVision6.objects[0].originY
Ominaisuus .originY
palauttaa luvun väliltä 0–240.
.kulma
Ominaisuus .angle
palauttaa Color Coden kulman arvon.
Käytä tätä koodia palauttaaksesi ominaisuuden .angle
:
AIVvision6.objects[0].angle
Ominaisuus .angle
palauttaa havaitun värikoodin suunnan, joka vaihtelee välillä 0 - 359,99 astetta.
.olemassa
.exists
on Boolen ominaisuus, joka palauttaa tosi, jos se on kelvollinen objekti.
Se palauttaa epätosi, jos objekti on virheellinen, esimerkiksi jos käytetään negatiivista kokonaislukua. Jos objekti on virheellinen, kaikki muut ominaisuudet palauttavat arvokseen nollia.
int main() {
while (true) {
// Ota tilannekuva tarkistaaksesi havaitut kohteet
AIVision6.takeSnapshot(BlueBox);
// Tyhjennä näyttö/nollaa, jotta voimme näyttää uusia tietoja
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Jos esineitä löytyi, tulosta sijainti
if (AIVision6.objects[0].exists) {
Brain.Screen.print("Center X: %d, AIVision6.objects[0].centerX);
} else {
Brain.Screen.print("ei objektia");
}
odota(0,5, sekuntia);
}
}