İçerik yer tutucularının nasıl oluşturulacağını öğrenerek artırılmış gerçeklik programlamasında ilk adımları atın.

Artırılmış gerçeklik söz konusu olduğunda, sanal nesnelerin ve katmanların konumlandırılması çok önemlidir. İşte burada ArUco işaretleri devreye giriyor. ArUco işaretleyicileri, dijital içeriği kaplamak için gerçek kelime sahnelerinde konumlandırabileceğiniz basit ikili kalıplardır.

Bunları kağıda yazdırabilir, ekranda görüntüleyebilir veya gerçek dünyadaki nesnelere yansıtabilirsiniz. Bu esneklik, onları bilgisayarla görme uygulamalarında popüler bir seçim haline getirir.

ArUco Modülü ve OpenCV Kitaplığı

ArUco belirteçleri oluşturmak için OpenCV kitaplığının bir parçası olan ArUco modülüne ihtiyacınız vardır. OpenCV, geliştirme için birçok araç ve işlev içeren bir kitaplıktır. bilgisayar görme uygulamaları.

Modül, ArUco işaretlerini oluşturmanıza, algılamanıza ve tanımanıza olanak tanır. Ayrıca poz tahmini yapmanızı sağlar. Bu da, sanal nesneleri gerçek dünyayla hizalayarak sürükleyici ve kusursuz bir kullanıcı deneyimi yaratmayı mümkün kılar.

instagram viewer

Ortamınızı Kurma

Yeni bir Python sanal ortamı oluşturun. Bu, projenizin gerekli kitaplıklarını kurarken paket sürüm çakışması olmamasını sağlayacaktır. Ardından terminale ilerleyin ve OpenCV'yi kurmak için aşağıdaki komutu çalıştırın.

pip kurulumu opencv-contrib-python

Yukarıdaki komut, OpenCV katkı kitaplığını kurar. Bu, işaret üretecini oluşturmak için kullanacağınız ArUco modülünü içerir. OpenCV-python'u değil, bu sürümü kurduğunuzdan emin olun, çünkü ikincisi ihtiyacınız olan işlevselliği içermez.

Tam kaynak kodu bir GitHub deposu.

ArUco Maker Jeneratör Programının Oluşturulması

ArUco işaretleyici programını oluşturmak oldukça basittir. Bunun nedeni, AruCo modülünün ağır kaldırmanın çoğunu sizin yerinize yapmasıdır. İşlevlerini ve araçlarını kodunuzda kullanabilmenizi sağlamak için OpenCV'yi içe aktararak başlayın.

içe aktarmak CV2

Belirli bir kimliğe sahip tek bir işaretçi oluşturacak bir işlev tanımlayın. Bu, belirteçlere toplu olarak ihtiyaç duyulmadığında karşılayacaktır.

kesinoluştur_single_marker(aruco_dict):
işaret_boyutu = int (giriş("İşaret boyutunu girin: "))
marker_id = int (giriş("İşaret kimliğini girin: "))

marker_img = cv2.aruco.generateImageMarker (aruco_dict, marker_id,
işaretçi_boyutu)

cv2.imwrite("işaretleyici_{}.png".format (marker_id), marker_img)

marker_img = cv2.imread("işaretleyici_{}.png".format (marker_id))

cv2.imshow("İşaretleyici", işaretleyici_img)

Yazdır("Boyutlar:", marker_img.shape)

cv2.waitKey(0)

Ardından toplu olarak belirli sayıda işaretçi üretecek bir işlev tanımlayın. Oluşturabileceğiniz işaretçilerin sayısı, OpenCV sözlüğü kullan. Bunun nedeni, bazı sözlüklerin diğerlerinden daha fazla belirteç oluşturmayı desteklemesidir.

kesinoluştur_toplu_işaretleyiciler(aruco_dict):
işaret_boyutu = int (giriş("İşaret boyutunu girin: "))
sayı_işaretçiler = int (giriş("Oluşturulacak işaretçilerin sayısını girin: "))
işaret_imgs = []

için işaretçi kimliği içinde aralık (sayı_işaretçiler):
marker_img = cv2.aruco.generateImageMarker (aruco_dict, marker_id,
işaretçi_boyutu)

cv2.imwrite("işaretleyici_{}.png".format (marker_id), marker_img)
marker_imgs.append (cv2.imread("işaretleyici_{}.png".format (marker_id)))

için işaret_img içinde işaretleyici_imgs:
cv2.imshow("İşaretleyici", işaretleyici_img)
Yazdır("Boyutlar:", marker_img.shape)
cv2.waitKey(0)

Son olarak, programın akışını kontrol edecek ve kullanıcıdan istenen işlemi isteyecek bir ana işlev tanımlayın. Program yürütüldüğünde önce onun çalıştığından emin olun.

kesinana():
aruco_dict = cv2.aruco.getPredefinedDictionary (cv2.aruco. DICT_4X4_50)

kullanıcı_girişi = girdi("Tek bir işaretçi oluşturmak için '1'e basın veya "
İşaretçileri toplu olarak oluşturmak için "'2': ")

eğer kullanıcı_girişi == "1":
create_single_marker (aruco_dict)
elif kullanıcı_girişi == "2":
build_bulk_markers (aruco_dict)
başka:
Yazdır("Geçersiz Giriş. Lütfen tekrar deneyin.")

eğer __isim__ == "__ana__":
ana()

Şimdi tek bir işaretleyici veya toplu olarak oluşturmak için programı çalıştırın. Programın çıktısı şöyle bir şeye benzeyecektir:

Çıktı, oluşturulmuş bir ArUco işaretçisini gösterir. Program, her işaretçiyi, adının sonunda işaretçi kimliğini temsil eden bir sayı ile kaydeder.

ArUco İşaretçileri Oluşturduktan Sonra Sırada Ne Var?

ArUco işaretleri oluşturduktan sonra, kendi basit bilgisayarla görme uygulamanızı oluşturabilirsiniz. Bu, dijital bilgileri gerçek dünya görsellerinin üzerine bindirmek için işaretçileri nasıl kullanacağınızı öğrenmenize yardımcı olacaktır. Ayrıca, işaretçilerin tüm kusursuz ve sürükleyici kullanıcı deneyimine nasıl katkıda bulunduğunu takdir etmenize yardımcı olacaktır.