Tegye meg az első lépéseket a kiterjesztett valóság programozásában azáltal, hogy megtanulja, hogyan hozhat létre tartalom-helyőrzőket.
Ami a kiterjesztett valóságot illeti, a virtuális objektumok és átfedések elhelyezése kulcsfontosságú. Itt jönnek be az ArUco markerek. Az ArUco markerek egyszerű bináris minták, amelyeket valódi szójelenetekbe helyezhet el, hogy átfedje a digitális tartalmat.
Kinyomtathatja őket papírra, megjelenítheti képernyőn, vagy kivetítheti őket valós tárgyakra. Ez a rugalmasság népszerű választássá teszi őket a számítógépes látási alkalmazásokban.
Az ArUco modul és az OpenCV könyvtár
Az ArUco markerek generálásához szükség van az ArUco modulra, amely az OpenCV könyvtár része. Az OpenCV egy olyan könyvtár, amely számos eszközt és funkciót tartalmaz a fejlesztéshez számítógépes látás alkalmazások.
A modul lehetővé teszi az ArUco markerek generálását, észlelését és felismerését. Lehetővé teszi a pózbecslés elvégzését is. Ez viszont lehetővé teszi a virtuális objektumok igazítását a valós világhoz, így magával ragadó és zökkenőmentes felhasználói élményt biztosít.
Környezetének beállítása
Hozzon létre egy új Python virtuális környezetet. Ez biztosítja, hogy ne legyen csomagverzió-ütközés a projekt szükséges könyvtárainak telepítésekor. Ezután lépjen a terminálra, és futtassa a következő parancsot az OpenCV telepítéséhez.
pip install opencv-contrib-python
A fenti parancs telepíti az OpenCV contrib könyvtárat. Ez tartalmazza az ArUco modult, amelyet a markergenerátor létrehozásához fog használni. Ügyeljen arra, hogy ezt a verziót telepítse, ne az OpenCV-python-t, mert az utóbbi nem tartalmazza a szükséges funkciókat.
A teljes forráskód elérhető a GitHub adattár.
Az ArUco Maker Generator Program létrehozása
Az ArUco marker program létrehozása meglehetősen egyszerű. Ez azért van, mert az AruCo modul elvégzi helyetted a legtöbb nehézemelést. Kezdje az OpenCV importálásával, hogy lehetővé tegye annak funkcióit és eszközeit a kódban.
import cv2
Határozzon meg egy függvényt, amely egyetlen jelölőt generál egy adott azonosítóval. Ez akkor szolgál, ha a jelölőkre nincs szükség ömlesztve.
defgener_single_marker(aruco_dict):
marker_size = int (input("Adja meg a jelölő méretét: "))
marker_id = int (input("Írja be a jelölőazonosítót:"))marker_img = cv2.aruco.generateImageMarker (aruco_dict, marker_id,
marker_size)cv2.imwrite("marker_{}.png".formátum (marker_id), marker_img)
marker_img = cv2.imread("marker_{}.png".formátum (marker_id))
cv2.imshow("Jelző", marker_img)
nyomtatás("Méretek:", marker_img.shape)
cv2.waitKey(0)
Ezután definiáljon egy függvényt, amely bizonyos számú markert tömegesen generál. A generálható jelölők száma a következőtől függően változhat OpenCV szótár használod. Ennek az az oka, hogy egyes szótárak több jelző létrehozását támogatják, mint mások.
defgener_bulk_markers(aruco_dict):
marker_size = int (input("Adja meg a jelölő méretét: "))
num_markers = int (input("Adja meg a létrehozandó jelölők számát: "))
marker_imgs = []számára marker_id ban ben tartomány (számjelzők):
marker_img = cv2.aruco.generateImageMarker (aruco_dict, marker_id,
marker_size)cv2.imwrite("marker_{}.png".formátum (marker_id), marker_img)
marker_imgs.append (cv2.imread("marker_{}.png".formátum (marker_id)))
számára marker_img ban ben marker_imgs:
cv2.imshow("Jelző", marker_img)
nyomtatás("Méretek:", marker_img.shape)
cv2.waitKey(0)
Végül határozzon meg egy fő funkciót, amely szabályozni fogja a program folyamatát, és kérje meg a felhasználót a kívánt műveletre. Győződjön meg arról, hogy a program futtatásakor először fut.
deffő-():
aruco_dict = cv2.aruco.getPredefinedDictionary (cv2.aruco. DICT_4X4_50)user_input = input("Nyomja meg az 1-et egyetlen jelölő létrehozásához vagy"
"2" jelölők tömeges generálásához: ")ha user_input == "1":
gener_single_marker (aruco_dict)
elif user_input == "2":
gener_bulk_markers (aruco_dict)
más:
nyomtatás("Hibás bemenet. Kérlek próbáld újra.")
ha __név__ == "__fő__":
fő()
Most futtassa a programot egyetlen jelölő létrehozásához vagy tömegesen. A program kimenete valahogy így fog kinézni:
A kimenet egy generált ArUco markert mutat. A program minden jelölőt elment egy számmal a nevük végén, amely a marker azonosítóját jelenti.
Mi következik az ArUco markerek generálása után?
Az ArUco markerek generálása után létrehozhatja saját egyszerű számítógépes látásalkalmazását. Ez segít megtanulni, hogyan használhatja a jelölőket a digitális információk valós vizualizációra való átfedésére. Segít abban is, hogy értékelje, hogyan járulnak hozzá a jelölők a zökkenőmentes és magával ragadó felhasználói élményhez.