Направите прве кораке у програмирању проширене стварности тако што ћете научити како да генеришете чуваре места за садржај.
Када је у питању проширена стварност, позиционирање виртуелних објеката и слојева је кључно. Ту долазе АрУцо маркери. АрУцо маркери су једноставни бинарни обрасци које можете позиционирати у стварним сценама са речима да бисте прекрили дигитални садржај.
Можете их одштампати на папиру, приказати на екрану или пројектовати на објекте из стварног света. Ова флексибилност их чини популарним избором у апликацијама компјутерског вида.
АрУцо модул и ОпенЦВ библиотека
Да бисте генерисали АрУцо маркере, потребан вам је АрУцо модул који је део ОпенЦВ библиотеке. ОпенЦВ је библиотека која садржи много алата и функција за развој апликације компјутерског вида.
Модул вам омогућава да генеришете, детектујете и препознате АрУцо маркере. Такође вам омогућава да извршите процену позе. Ово заузврат омогућава усклађивање виртуелних објеката са стварним светом стварајући импресивно и беспрекорно корисничко искуство.
Подешавање вашег окружења
Креирајте ново Питхон виртуелно окружење. Ово ће осигурати да нема сукоба верзија пакета када инсталирате потребне библиотеке за ваш пројекат. Затим наставите до терминала и покрените следећу команду да бисте инсталирали ОпенЦВ.
пип инсталл опенцв-цонтриб-питхон
Горња команда инсталира ОпенЦВ цонтриб библиотеку. Ово садржи АрУцо модул који ћете користити за креирање генератора маркера. Уверите се да сте инсталирали ову верзију, а не ОпенЦВ-питхон, јер ова друга не укључује функционалност која вам је потребна.
Комплетан изворни код је доступан у а ГитХуб спремиште.
Креирање програма АрУцо Макер Генератор
Креирање програма АрУцо маркера је прилично једноставно. То је зато што АруЦо модул обавља већину тешког дизања уместо вас. Започните увозом ОпенЦВ-а да бисте могли да користите његове функције и алате у свом коду.
увоз цв2
Дефинишите функцију која ће генерисати један маркер са одређеним ИД-ом. Ово ће задовољити случајеве када маркери нису потребни на велико.
дефгенерате_сингле_маркер(аруцо_дицт):
величина_маркера = инт (унос("Унесите величину маркера: "))
маркер_ид = инт (инпут(„Унесите ИД маркера:“))маркер_имг = цв2.аруцо.генератеИмагеМаркер (аруцо_дицт, маркер_ид,
маркер_сизе)цв2.имврите("маркер_{}.пнг".формат (маркер_ид), маркер_имг)
маркер_имг = цв2.имреад("маркер_{}.пнг".формат (маркер_ид))
цв2.имсхов("Маркер", маркер_имг)
штампа („Димензије:“, маркер_имг.схапе)
цв2.ваитКеи(0)
Затим дефинишите функцију која ће генерисати одређени број маркера у групи. Број маркера које можете да генеришете ће варирати у зависности од ОпенЦВ речник користите. То је зато што неки речници подржавају генерисање више маркера од других.
дефгенерате_булк_маркерс(аруцо_дицт):
величина_маркера = инт (унос("Унесите величину маркера: "))
нум_маркерс = инт (инпут("Унесите број маркера за генерисање: "))
маркер_имгс = []за маркер_ид ин опсег (број_маркера):
маркер_имг = цв2.аруцо.генератеИмагеМаркер (аруцо_дицт, маркер_ид,
маркер_сизе)цв2.имврите("маркер_{}.пнг".формат (маркер_ид), маркер_имг)
маркер_имгс.аппенд (цв2.имреад("маркер_{}.пнг".формат (маркер_ид)))
за маркер_имг ин маркер_имгс:
цв2.имсхов("Маркер", маркер_имг)
штампа („Димензије:“, маркер_имг.схапе)
цв2.ваитКеи(0)
Коначно, дефинишите главну функцију која ће контролисати ток програма и питати корисника за жељену операцију. Уверите се да се прво покреће када се програм изврши.
дефглавни():
аруцо_дицт = цв2.аруцо.гетПредефинедДицтионари (цв2.аруцо. ДИЦТ_4Кс4_50)усер_инпут = инпут(„Притисните „1“ да бисте генерисали један маркер или „
"'2' за групно генерисање маркера: ")ако кориснички_инпут == "1":
генерише_сингле_маркер (аруцо_дицт)
елиф кориснички_инпут == "2":
генерате_булк_маркерс (аруцо_дицт)
друго:
штампа ("Неправилан унос. Молим вас, покушајте поново.")
ако __наме__ == "__главни__":
главни()
Сада покрените програм да бисте генерисали један маркер или групно. Излаз програма ће изгледати отприлике овако:
Излаз приказује генерисани АрУцо маркер. Програм чува сваки маркер са бројем на крају његовог имена, који представља ИД маркера.
Шта је следеће након генерисања АрУцо маркера?
Након генерисања АрУцо маркера, можете креирати сопствену једноставну апликацију за компјутерски вид. Ово ће вам помоћи да научите како да користите маркере за преклапање дигиталних информација на визуелне приказе стварног света. Такође ће вам помоћи да схватите како маркери доприносе целом беспрекорном и импресивном корисничком искуству.