Ta de første trinnene i utvidet virkelighet-programmering ved å lære hvordan du genererer plassholdere for innhold.
Når det gjelder utvidet virkelighet, er plasseringen av virtuelle objekter og overlegg avgjørende. Det er her ArUco-markører kommer inn. ArUco-markører er enkle binære mønstre som du kan plassere i virkelige ordscener for å overlegge digitalt innhold.
Du kan skrive dem ut på papir, vise dem på en skjerm eller projisere dem på virkelige objekter. Denne fleksibiliteten gjør dem til et populært valg i datasynsapplikasjoner.
ArUco-modulen og OpenCV-biblioteket
For å generere ArUco-markører trenger du ArUco-modulen som er en del av OpenCV-biblioteket. OpenCV er et bibliotek som inneholder mange verktøy og funksjoner for utvikling datasynsapplikasjoner.
Modulen lar deg generere, oppdage og gjenkjenne ArUco-markører. Den lar deg også utføre poseringsestimering. Dette gjør det igjen mulig å justere virtuelle objekter til den virkelige verden og skape en oppslukende og sømløs brukeropplevelse.
Sette opp miljøet ditt
Lag et nytt virtuelt Python-miljø. Dette vil sikre at det ikke er noen pakkeversjonskonflikt når du installerer prosjektets nødvendige biblioteker. Fortsett deretter til terminalen og kjør følgende kommando for å installere OpenCV.
pip installer opencv-contrib-python
Kommandoen ovenfor installerer OpenCV-bidragsbiblioteket. Denne inneholder ArUco-modulen som du skal bruke til å lage markørgeneratoren. Pass på at du installerer denne versjonen, ikke OpenCV-python, fordi sistnevnte ikke inkluderer funksjonaliteten du trenger.
Den fullstendige kildekoden er tilgjengelig i en GitHub-depot.
Opprette ArUco Maker Generator Program
Å lage ArUco-markørprogrammet er ganske enkelt. Dette er fordi AruCo-modulen gjør det meste av tunge løft for deg. Start med å importere OpenCV slik at du kan bruke funksjonene og verktøyene i koden din.
import cv2
Definer en funksjon som vil generere en enkelt markør med en spesifikk ID. Dette vil imøtekomme når markørene ikke er nødvendig i bulk.
defgenerere_single_marker(aruco_dict):
markør_størrelse = int (input("Skriv inn markørstørrelsen:"))
markør_id = int (input("Skriv inn markør-ID:"))marker_img = cv2.aruco.generateImageMarker (aruco_dict, marker_id,
markørstørrelse)cv2.imwrite("marker_{}.png".format (marker_id), markør_img)
marker_img = cv2.imread("marker_{}.png".format (markør_id))
cv2.imshow("Markør", marker_img)
skrive ut("Dimensjoner:", marker_img.shape)
cv2.waitKey(0)
Definer deretter en funksjon som vil generere et visst antall markører i bulk. Antallet markører du kan generere vil variere i henhold til OpenCV-ordbok du bruker. Dette er fordi noen ordbøker støtter generering av flere markører enn andre.
defgenerere_bulk_markører(aruco_dict):
markør_størrelse = int (input("Skriv inn markørstørrelsen:"))
num_markers = int (input("Skriv inn antall markører som skal genereres: "))
marker_imgs = []til markør_id i område (antall_markers):
marker_img = cv2.aruco.generateImageMarker (aruco_dict, marker_id,
markørstørrelse)cv2.imwrite("marker_{}.png".format (marker_id), markør_img)
marker_imgs.append (cv2.imread("marker_{}.png".format (marker_id)))
til marker_img i marker_imgs:
cv2.imshow("Markør", marker_img)
skrive ut("Dimensjoner:", marker_img.shape)
cv2.waitKey(0)
Definer til slutt en hovedfunksjon som vil kontrollere flyten av programmet og be brukeren om ønsket operasjon. Sørg for at den kjører først når programmet kjøres.
defhoved-():
aruco_dict = cv2.aruco.getPredefinedDictionary (cv2.aruco. DICT_4X4_50)user_input = input("Trykk '1' for å generere en enkelt markør eller "
"'2' for å generere markører i bulk: ")hvis user_input == "1":
generere_single_marker (aruco_dict)
elif user_input == "2":
generer_bulkmarkører (aruco_dict)
ellers:
skrive ut("Ugyldig inndata. Vær så snill, prøv på nytt.")
hvis __navn__ == "__hoved__":
hoved()
Kjør nå programmet for å generere en enkelt markør eller i bulk. Utgangen av programmet vil se omtrent slik ut:
Utgangen viser en generert ArUco-markør. Programmet lagrer hver markør med et nummer på slutten av navnet, som representerer markør-ID.
Hva skjer etter å ha generert ArUco-markører?
Etter å ha generert ArUco-markører, kan du lage din egen enkle datasynsapplikasjon. Dette vil hjelpe deg med å lære hvordan du bruker markørene til å overlegge digital informasjon til virkelige bilder. Det vil også hjelpe deg å sette pris på hvordan markørene bidrar til hele den sømløse og oppslukende brukeropplevelsen.