HALKONAS 21.11 Pažanga

Greita prieiga prie HALCON 21.11.0.0 versijos funkcijų
Visos teisės saugomos. Be išankstinio raštiško leidėjo leidimo jokia šio leidinio dalis negali būti dauginama, saugoma paieškos sistemoje ar perduodama jokia forma ar bet kokiomis priemonėmis, elektroninėmis, mechaninėmis, kopijavimo, įrašymo ar kitu būdu.
Autorių teisės © 2003-2021, priklauso MVTec Software GmbH, Miunchenas, Vokietija
Saugomi šiais patentais: US 7,239,929, US 7,751,625, US 7,953,290, US 7,953,291, US 8,260,059, US 8,379,014, US 8,830,229. Laukiama kitų patentų.
„Microsoft“, „Windows“, „Windows Server 2008/2012/2012 R2/2016“, „Windows 7/8/8.1/10“, „Microsoft .NET“, „Visual C++“ ir „Visual Basic“ yra „Microsoft Corporation“ prekių ženklai arba registruotieji prekių ženklai.
Linux yra Linus Torvalds prekės ženklas.
macOS ir OpenCL yra Apple Inc. prekių ženklai.
NVIDIA, CUDA, cuBLAS ir cuDNN yra NVIDIA Corporation prekių ženklai arba registruotieji prekių ženklai.
OpenGL yra Silicon Graphics, Inc. prekės ženklas.
Visi kiti nacionaliniu ir tarptautiniu mastu pripažinti prekių ženklai ir prekių pavadinimai yra pripažįstami.
Daugiau informacijos apie HALCON galite rasti adresu: http://www.halcon.com/
Apie šį vadovą
Šis vadovas supažindina jus su HALCON. Jis skirtas pradedantiesiems, neturintiems išankstinių žinių apie HALCON.
Šis vadovas taip pat gali būti naudojamas kaip kelių kitų HALCON vadovų informacinis vadovas, nes jis sujungia juos šiomis temomis:
- HALCON diegimas (7 psl.)
Šiame skyriuje pristatoma MVTec programinės įrangos tvarkyklė (SOM). - HALCON architektūra (9 puslapis)
Šiek tiek teorinių žinių, reikalingų norint suprasti, kas yra HALCON ir kaip jis veikia. - Kaip kurti programas (15 psl.)
Šiame skyriuje paaiškinami trys pagrindiniai kūrimo su HALCON metodai ir pateikiamas pirmasis programavimo pavyzdysample. - Kaip tęsti (19 psl.)
Šiame skyriuje pateikiami papildomi informacijos šaltiniai.
HALCON montavimas
Linux ir Windows vartotojams rekomenduojame atsisiųsti ir įdiegti HALCON per MVTec Software Manager (SOM). SOM yra programinės įrangos paketų diegimo tvarkyklė. Jis suteikia prieigą prie nuotolinio produktų katalogo ir, be kitų funkcijų, palaiko paketų atsisiuntimą ir diegimą. Žingsnis po žingsnio įvadą, kaip įdiegti HALCON per SOM, rasite diegimo vadove.
HALCON architektūra
Pagrindinė HALCON architektūra pavaizduota 2.1 pav. Pagrindinė dalis yra vaizdo apdorojimo biblioteka, kurią sudaro daugiau nei 2000 operatorių. Taip pat galite sukurti savo operatorius vadinamųjų ex-tension paketų forma (11 psl.). Savo programoje naudojate operatorius per kalbines sąsajas (11 psl.), pvz., HALCON/C++ arba HALCON/Python. Tai yra bibliotekos, leidžiančios tiesiogiai naudoti operatorius tipišku skirtingų programavimo kalbų programavimo stiliumi.

2.1 paveikslas: Pagrindinė HALCON architektūra.
Norėdami pasiekti vaizdo gavimo įrenginius, HALCON siūlo vaizdo gavimo sąsajas (13 psl.), kurios leidžia bendrai naudoti gana skirtingus gavimo įrenginius. Bibliotekos, kuriose yra konkrečių įrenginių diegimo, prireikus įkeliamos dinamiškai. Taip pat įvesties/išvesties įrenginiai pasiekiami per konkrečiam įrenginiui skirtas įvesties/išvesties sąsajas (13 psl.).
Operatoriai
Kaskart, kai naudojama bet kokia HALCON bibliotekos funkcija, tai atliekama per operatorių. Daugumą jų sudaro keli metodai, kurie parenkami pagal parametrus. Visą visų operatorių sąrašą galima rasti HALCON Operator Reference, kurį galima rasti HDevelop, .NET, Python, C++ ir C sintaksėmis. Svarbios operatorių savybės yra šios:
- Tarp operatorių nėra hierarchijos. Iš programinės įrangos architektūros taško view, visi operatoriai yra tame pačiame lygyje.
- Žinoma, yra loginės operatorių grupės. Pavyzdžiui,ample, tai matyti iš C++ ir .NET siūlomų klasių, kur to paties tipo duomenų apdorojimo operatoriai yra atitinkamų klasių narių funkcijos.
- Operatorių dizainas atitinka atviros architektūros taisykles. Todėl galite sukurti savo operatorius ir taip išplėsti HALCON (žr. 2.2 skyrių). Išplėtimo paketo programuotojo vadove pateikiama išsami informacija apie operatoriaus bibliotekos išplėtimą.
- Daugelis operatorių gali skaidriai naudoti automatinį lygiagretavimą, kuris leidžia lengvai paspartinti programą, kai naudojami dideli vaizdai kelių procesorių arba kelių branduolių kompiuteryje. Išsamią informaciją apie lygiagretųjį programavimą rasite techninėje pastaboje Parallel Programming, taip pat Programuotojo vadove.
- Operatoriai turi standartizuotas įvesties ir išvesties parametrų užsakymo taisykles: įvesties piktograma, išvesties piktograma, įvesties valdymas ir išvesties valdymas (žr. 2.1.1 skyrių). Ne visos grupės gali būti reikalingos tam tikram operatoriui. Apskritai operatorių įvesties parametrai nekeičiami, todėl gaunama aiški ir paprasta semantika. Yra tik kelios šio dizaino išimtys, pvz., set_grayval, overpaint_grey ir overpaint_region.
Parametrai ir duomenų struktūros
HALCON turi du pagrindinius parametrų tipus: ikoninius duomenis ir valdymo duomenis. Vaizdai, regionai ir XLD (eXtented Line Description) priklauso ikoniniams duomenims.
Vaizdai daugiausia susideda iš kanalų, ty matricų, turinčių pikselių reikšmes. Visi vaizdo kanalai yra vienodo dydžio. Norėdami gauti daugiau informacijos apie pikselius ir kanalus, skaitykite HALCON operatoriaus žinyno skyrių „Vaizdas“.
Kiekvienam vaizdui vadinamasis interesų regionas (ROI) nurodo, kuri vaizdo dalis yra apdorojama. ROI galima apibrėžti labai lanksčiai (nuo paprasto stačiakampio iki nesujungtų pikselių rinkinio). Išsamesnės informacijos apie ROI tvarkymą žr. Sprendimo vadovas I, Dominantis regionas 27 puslapyje.
Regionai yra pikselių rinkinys. Regiono pikselių nereikia sujungti. Netgi savavališka pikselių rinkinys gali būti tvarkomas kaip vienas regionas. Operatoriaus ryšiu regioną galima padalyti į sujungtus regionus, ty komponentus, susidedančius iš sujungtų pikselių.
XLD apima visus kontūrais ir daugiakampiais pagrįstus duomenis. Subpikselio tikslumo operatoriai, tokie kaip edges_sub_pix, grąžina kontūrus kaip XLD duomenis. Kontūras yra 2D valdymo taškų, sujungtų linijomis, seka. Paprastai atstumas tarp valdymo taškų yra apie vieną pikselį. XLD objektuose, be valdymo taškų, yra vadinamieji vietiniai ir globalūs atributai. Tipiškas buvęsamples jiems yra, pvz., kraštas ampvaldymo taško apšvietimas arba kontūro atkarpos regresijos parametrai. Be XLD objektų išgavimo, HALCON palaiko tolesnį apdorojimą. PvzampTai yra kontūrų pasirinkimas, pagrįstas nurodytais ypatybių diapazonais, siekiant segmentuoti kontūrą į linijas, lankus, daugiakampius arba lygiagrečias.
Valdymo duomenys apima rankenas ir pagrindinius duomenų tipus, tokius kaip sveikasis skaičius, tikrasis skaičius, eilutė.
Rankenos yra nuorodos į sudėtingas duomenų struktūras, pvz., ryšį su vaizdų gavimo sąsaja arba forma pagrįsto derinimo modelį. Siekiant efektyvumo ir duomenų saugumo, tarp operatorių perduodama ne visa struktūra, o tik rankena. Rankenos yra magiškos reikšmės, kurių negalima keisti ir kurios gali skirtis priklausomai nuo vykdymo ir versijos iki versijos. Jos automatiškai išvalomos, kai perrašomos visos nuorodos. Pvzampten, kur naudojamos rankenos, yra grafiniai langai, files, lizdai, vaizdo gavimo sąsajos, OCR, OCV, matavimas ir suderinimas.
Pratęsimo paketai
HALCON gali būti pratęstas naujų operatorių. Nors HALCON jau turi daugybę operatorių įvairioms užduotims atlikti, galbūt norėsite įdiegti naujus operatorius, pvz., pasiekti specialią aparatinę įrangą arba įdiegti alternatyvų algoritmą. Norėdami tai padaryti, HALCON pateikia išplėtimo paketo sąsają, kuri leidžia integruoti naujus operatorius (įdiegtus C) vadinamųjų plėtinių paketų forma. Išplėtimo paketo sąsajoje yra keletas iš anksto nustatytų veiksmų ir makrokomandų, skirtų lengvai tvarkyti vaizdo duomenis ir atminties objektus C. Sėkmingai integravus naują operatorių, jį galima naudoti kaip ir bet kurį kitą HALCON operatorių. Išplėtimo paketo programuotojo vadove pateikiama išsami informacija apie operatoriaus bibliotekos išplėtimą.
Kalbos sąsajos
Kaip parodyta 2.1 pav. 9 puslapyje, HALCON suteikia vadinamąsias kalbos sąsajas. Tai yra gimtosios kalbos susiejimas, leidžiantis skambinti operatoriams ir naudoti HALCON duomenų tipus tiesiai iš programos, nesvarbu, ar tai Python, C, C++ ar .NET.
Norėdami pradėti kurti, rekomenduojame pirmiausia patikrinti vieną iš paruoštų paleisti example programas. Čia galite pamatyti, kaip turi būti nustatytas projektas ir kaip naudojami operatoriai bei tipai.
Kiekvienos kalbos sąsajos tipų, klasių pavadinimai, operatorių pavadinimų sutartys ir kt. gali skirtis, kad atitiktų tipines pasirinktai kalbai taikomas taisykles. Operatoriaus parašai palaikomoms programavimo kalboms yra dokumentuoti HALCON operatoriaus žinyne.
HALCON / Python
Python sąsaja išsiskiria savo paprastumu ir galimybe greitai kurti prototipus. Importavus HALCON/Python modulį, HALCON operatoriai iškviečiami tiesiogiai kaip atskiros funkcijos. Taip pat atkreipkite dėmesį, kad operatoriaus parametrai HALCON/Python yra padalinti į funkcijų parametrus (įvestis) ir grąžinimo reikšmes (išvestis).
Example
Šis kodas nuskaito vaizdą ir apskaičiuoja jame prijungtų regionų skaičių (10 psl.).
img = ha.read_image('pcb')
regionas = ha.slenkstis(vaizdas, 0, 122)
regionų skaičius = ha.count_obj(ha.connection(region))
print(f'Regionų skaičius: {num_regions}')
Norėdami sužinoti būtinas sąlygas ir išsamią informaciją, žr. Programuotojo vadovą, 4 dalį, A First Example.
HALCON/C
C sąsaja yra paprasčiausia sąsaja, kurią palaiko HALCON. Kiekvienas operatorius yra vaizduojamas viena arba dviem visuotinėmis funkcijomis, kuriose operatoriaus pavadinimas ir parametrų seka yra identiški HDevelop kalbai.
Example
Šis kodas nuskaito vaizdą ir apskaičiuoja jame prijungtų regionų skaičių (10 psl.).
Hobject img;
read_image(&img, "pcb");
Objekto regionas;
slenkstis(img, ®jonas, 0, 122);
Objektas prijungtas_regionai;
connect(region, &connected_regions);
Hlong regionų skaičius = 0;
count_obj(sujungti_regionai, ®ionų skaičius);
printf ("Regionų skaičius: %" PRIdPTR "\n", regionų_skaičius);
Norėdami sužinoti būtinas sąlygas ir išsamią informaciją, žr. Programuotojo vadovą, 5 dalį, A First Example.
HALCON/C++
C++ sąsaja yra daug sudėtingesnė nei C sąsaja. Štai advanastagNaudojamas C++ ir objektinis programavimas, ty automatinis tipo konvertavimas, konstravimas ir naikinimas arba funkcijų grupavimas kartu su jų duomenimis į klases. Kaip ir C sąsajoje, globalios funkcijos kiekvienam HALCON operatoriui yra numatytos procedūriniam programavimo stiliui.
Example
Šis kodas nuskaito vaizdą ir apskaičiuoja jame prijungtų regionų skaičių (10 psl.).
HImage img{"pcb"};
HRegion region = img.Threshold(0, 122);
Ilgas skaičiusRegionai = regionas.Connection().CountObj();
std::cout << “Regionų skaičius: ” << numRegionai << '\n';
Norėdami sužinoti būtinas sąlygas ir išsamią informaciją, žr. Programuotojo vadovą, 2 dalį, A First Example.
HALCON/.NET
C# ir Visual Basic .NET naudoja HALCON per .NET sąsają.
Analogiškai C++ siūlomi du programavimo stiliai: procedūrinis ir objektinis. Procedūriniam stiliui klasėje HOperatorSet pateikiami visi HALCON operatoriai, kur HObject naudojamas ikoniniams duomenims tvarkyti, o HTuple naudojamas valdymo duomenims. Objektiniam stiliui pagrindinėms funkcijoms numatytos tokios klasės kaip HDataCode2d, HMeasure arba HShapeModel. Be to, galimos ikoninių duomenų klasės, pvz., HImage arba HRegion.
Example
Šis kodas nuskaito vaizdą ir apskaičiuoja jame prijungtų regionų skaičių (10 psl.).
HImage img = naujas HImage("pcb");
HRegion region = img.Threshold(0d, 122d);
int skaičiusRegionai = regionas.Connection().CountObj();
Console.WriteLine(“Regionų skaičius: ” + skaičiaiRegionai);
Norėdami sužinoti būtinas sąlygas ir išsamią informaciją, žr. Programuotojo vadovą, 3 dalį, A First Example.
Vaizdo gavimo sąsajos
HALCON vaizdo gavimo sąsajos sudaro tiltą tarp vaizdo gavimo įrenginio gamintojo pateiktos programinės įrangos ir HALCON. Jie sudaro bendrą, bendrąją sąsają, kuriai reikalingas tik nedidelis operatorių rinkinys. Išsamios informacijos šia tema rasite Sprendimų vadove II-A.
Šiuo metu HALCON teikia sąsajas daugiau nei 50 kadrų griebtuvų ir šimtams pramoninių kamerų dinamiškai įkeliamų bibliotekų pavidalu (Windows: DLL; Unix tipo sistemos: bendrinamos bibliotekos). Bibliotekų pavadinimai prasideda priešdėliu hAcq; bibliotekas, kurios baigiasi priesaga xl, naudoja HALCON XL.
Plačiausiai naudojamos sąsajos, pagrįstos pramonės standartais, jau įdiegtos kartu su HALCON bibliotekomis. Papildomas sąsajas, taip pat naujausias jau įtrauktų sąsajų versijas galite atsisiųsti iš https://www.mvtec.com/products/interfaces. HALCON vaizdo gavimo sąsajos gali keistis dažniau nei pati HALCON biblioteka. Viena iš priežasčių yra ta, kad MVTec nuolat kuria naujas sąsajas; be to, pasikeitus vaizdo gavimo įrenginių gamintojų teikiamai programinei įrangai, pvz., integravus naujas funkcijas, bus pritaikytos atitinkamos HALCON sąsajos. Visą palaikomų vaizdų gavimo sąsajų sąrašą taip pat žr. Vaizdo gavimo sąsajos nuorodoje.
Sėkmingai įdiegus vaizdo gavimo įrenginį, norint jį pasiekti iš HALCON tereikia paskambinti operatoriui open_framegrabber, nurodant vaizdo gavimo sąsajos pavadinimą ir tam tikrą papildomą informaciją, pvz., apie prijungtą kamerą. Tada vaizdus galima paimti paskambinus operatoriui grab_image (arba grab_image_async).
Įvesties / išvesties sąsajos
HALCON suteikia sąsajas keliems įvesties/išvesties įrenginiams, kad būtų galima gauti duomenų. Šios sąsajos galimos kaip dinamiškai įkeliamos bibliotekos („Windows“: DLL; į „Unix“ panašios sistemos: bendrinamos bibliotekos). Bibliotekų pavadinimai prasideda priešdėliu hio; bibliotekas, kurios baigiasi priesaga xl, naudoja HALCON XL.
HALCON I/O įrenginių sąsajos suteikia vieningą prieigą prie skirtingų I/O įrenginių naudojant nedidelį operatorių rinkinį. Įdiegę I/O įrenginį, ryšys užmezgamas naudojant operatorių open_io_device, nurodant I/O įrenginio sąsajos pavadinimą ir, pasirinktinai, kai kuriuos įrenginiui būdingus parametrus. Užmezgus ryšį, perdavimo kanalą galima atidaryti paskambinus open_io_channel. Norėdami skaityti ir rašyti reikšmes šiame kanale, naudokite atitinkamai operatorius read_io_channel ir write_io_channel.
Atkreipkite dėmesį, kad HALCON I/O įrenginių sąsajos gali keistis dažniau nei pačios HALCON bibliotekos. Naujausią informaciją kartu su atsisiunčiamomis sąsajomis (įskaitant dokumentaciją) rasite skiltyje https://www.mvtec.com/products/interfaces. Išsamų palaikomų įvesties ir išvesties įrenginių sąsajų sąrašą taip pat rasite I/O įrenginio sąsajos nuorodoje.
Kaip kurti programas
Rekomenduojame pradėti nuo greito prototipų kūrimo HDevelop, interaktyvioje HALCON mašininio matymo bibliotekos kūrimo aplinkoje. Naudodami HDevelop galite rasti optimalius operatorius ir parametrus, kad išspręstumėte vaizdo analizės užduotį. Sukūrus HDevelop programą pagal pateiktus reikalavimus, ji turi būti išversta į galutinę aplinką. Atsižvelgdami į savo pageidavimus, galite pasirinkti vieną iš šių trijų būdų:
- Pradėkite nuo nulio: Rašyti programą nuo nulio reiškia rankiniu būdu išversti HDevelop kodą į tikslinę programavimo kalbą (C++, Python…). Kaip minėta anksčiau, operatorių pavadinimų sutartys, klasių pavadinimai ir kt. gali skirtis įvairiose programavimo kalbose. Peržiūrėkite HALCON operatoriaus nuorodą, kad gautumėte HALCON operatoriaus parašus kiekvienai palaikomai programavimo kalbai. Norėdami gauti informacijos apie tai, kaip kurti programas norima tiksline kalba, skaitykite Programuotojo vadovą.
- Eksportuoti HD kūrimo kodą: Automatiškai išverskite HDevelop kodą į tikslinę programavimo kalbą naudodami HDevelop kodo eksportą.
- Eksportuoti bibliotekos projektą: „HDevelop“ bibliotekos eksportas sukuria paruoštą naudoti projekto aplanką, įskaitant įvyniojimo kodą tiksline kalba ir CMake. file projektui statyti. HDevelop bibliotekos eksportas naudoja HDevEngine, biblioteką, kuri veikia kaip vertėjas. HDevEngine leidžia tiesiogiai vykdyti HDevelop programas arba procedūras iš programos, parašytos C++ arba bet kuria kalba, kuri gali integruoti .NET objektus. Taigi, kai keičiate HDevelop kodą, nereikia iš naujo kompiliuoti visos programos.
Žinoma, galite naudoti HDevEngine nenaudodami HDevelop bibliotekos eksportavimo funkcijos. Kaip naudoti HDevEngine, išsamiai aprašyta Programuotojo vadovo 6 dalyje (HDevEngine naudojimas).
HDevelop
Pirmiausia pažvelkime į HDevelop. 3.1 paveiksle parodyta HDevelop vartotojo sąsaja, kai programa buvo įkelta ir iš dalies vykdoma.
Pagal numatytuosius nustatymus matomi šie langai, kurie taip pat būtini kuriant naudojant HDevelop:
- Grafikos langas Rodo (tarpinius) rezultatus, būtent ikoninius duomenis (10 psl.), pvz., vaizdus, regionus ir XLD.
- Programos langas Čia galite įvesti programos kodą naudodami operatorius (10 psl.), kad pasiektumėte HALCON vaizdo apdorojimo metodus.
- Kintamųjų langas Rodo visus kintamuosius, būtent ikoninius ir valdymo kintamuosius. Ikoniniuose kintamuosiuose yra ikoniniai duomenys (10 psl.), o valdymo kintamuosiuose yra valdymo duomenys (10 psl.).
Išsamią informaciją apie HDevelop rasite HDevelop vartotojo vadove. Mūsų mokomieji vaizdo įrašai taip pat puikiai supažindina su HDevelop:
- HDDevelop Tutorial 01: GUI ir navigacija
- HDDevelop Tutorial 02: Kintamieji
- HDDevelop Tutorial 03: Vizualizacija

3.1 paveikslas: „HDevelop“ vartotojo sąsaja.
Example programa
Dabar, kai susipažinote su HDevelop vartotojo sąsaja ir pagrindinėmis HALCON sąvokomis (9 psl.), sukurkime C++ programą naudodami bibliotekos eksporto metodą.
Be toliau pateiktų nuoseklių instrukcijų, rekomenduojame žiūrėti mūsų mokomuosius vaizdo įrašus: Integruokite HDevelop kodą į C++ programą naudodami bibliotekos projekto eksportavimą.
Integruokite HDevelop kodą į C# programą naudodami bibliotekos projekto eksportavimą
Vaizdo įrašuose demonstruojamas bibliotekos eksportavimas ir pateikiama daugiau pagrindinės informacijos šia tema.
Sukurkite prototipą naudodami HDevelop
Užduotis sekančio example yra perskaityti vaizdą ir suskaičiuoti su juo susijusių regionų skaičių.
- Atidarykite HDevelop ir programos lange įveskite šį kodą:
read_image (vaizdas, „pcb“)
slenkstis (vaizdas, regionas, 0, 122)
ryšys (regionas, prijungti regionai)
count_obj (ConnectedRegions, Number) - Išbandykite programą įrankių juostoje spustelėdami Vykdyti arba paspausdami F5 .
Norėdami lengvai integruoti šį HDevelop kodą į tikrąją programą, mašininio matymo dalį įtraukiame į vietinę procedūrą.
- Pažymėkite šias kodo eilutes: slenkstis (vaizdas, regionas, 0, 122) ryšys (regionas, prijungti regionai) count_obj (ConnectedRegions, Number)
- Dešiniuoju pelės mygtuku spustelėkite, kad atidarytumėte kontekstinį meniu.
- Pasirinkite Kurti naują procedūrą.
- Pavadinkite jį count_regions.
- Pasirinkite Parameters ir pakeiskite Selection Scheme į First In, Last Out.
- Patvirtinkite mygtuku OK.
- Išsaugokite HDevelop programą kaip hdev_count_regions.hdev
Paruoškite Visual Studio projektą
Šiame buvample, naudosime Visual Studio 2019. 1
- Sukurkite tuščią C++ Windows konsolės projektą ir pavadinkite jį vs_count_regions. Suaktyvinkite parinktį Įdėkite sprendimą ir projektą tame pačiame kataloge. 2
- Pridėkite C++ šaltinį file (Meniu projektas Pridėti naują elementą... C++ File) ir pavadinkite jį vs_count_regions.cpp.
- Įrankių juostos išskleidžiamajame meniu pasirinkite sprendimo platformą x64.
- Atidarykite projekto ypatybes (Meniu Project vs_count_regions Properties…) ir atlikite šiuos nustatymus:
- Pasirinkite C/C++ General ir pridėkite šiuos papildomus įtraukimo katalogus:$(HALCONROOT)\include;$(HALCONROOT)\include\halconcpp;
- Pasirinkite Linker General ir pridėkite šį Papildomos bibliotekos katalogą:$(HALCONROOT)\lib\$(HALCONARCH);
- Pasirinkite Linker Input ir pridėkite šias papildomas priklausomybes: halconcpp.lib;hdevenginecpp.lib;
Eksportuoti bibliotekos projektą
Tada eksportuojame HDevelop programą hdev_count_regions.hdev į Visual Studio projekto aplanką.
- Atidarykite anksčiau sukurtą HDevelop programą hdev_count_regions.hdev.
- Atidaryti File Eksportuoti bibliotekos projektą…
- Atlikite šiuos nustatymus:
- Įvestis file: dabartinė programa
- Tikslinė kalba: C++
- Projekto pavadinimas: hdev_count_regions
- Projekto vieta: pasirinkite mūsų „Visual Studio“ projekto vietą vs_count_regions.
- Vardų erdvė: hdev_count_regions
- Patvirtinkite naudodami Eksportuoti.
Dabar jūsų Visual Studio projekto aplanke vs_count_regions turėtų būti bent šie duomenys:
- vs_count_regions.cpp (Šaltinis File)
- vs_count_regions.sln (Sprendimas)
- hdev_count_regions (aplankas iš HDevelop Export)
- cmake
- res_ hdev_ count_ regions
- hdev _ count_ regions. hdev
- šaltinis
- hdev_count_regions.cpp
- hdev_count_regions.h
- CMakeLists.txt
Integruokite bibliotekos projektą į „Visual Studio“.
Galiausiai turime integruoti HDevelop programą į mūsų Visual Studio projektą.
- Atidarykite „Visual Studio“ projektą.
- Atidarykite projektą Pridėti esamą elementą… ir pasirinkite C++ file hdev_count_regions.cpp ir antraštę file hdev_count_regions.h, sukurta naudojant HDevelop bibliotekos eksportavimą. ( files yra aplanke hdev_count_regions source.)
- Į vs_count_regions.cpp įveskite šį kodą:
#įtraukti
#include „HalconCpp.h“
#include „hdev_count_regions/source/hdev_count_regions.h“
int main ()
{
HalconCpp::HImage Image ("pcb");
hdev_count_regions::SetResourcePath("hdev_count_regions/res_hdev_count_regions");
HalconCpp::HTuple Number{};
hdev_count_regions::count_regions(vaizdas, &skaičius);
std::cout << “Regionų skaičius: ” << Skaičius.L() << '\n';
} - Vykdykite programą. → Atsidaro konsolė, kurioje rodomas rezultatas „Regionų skaičius: 43“.
Kaip tęsti
Norėdami pasinerti į HALCON, siūlome papildomus dokumentus ir pagalbą.
- HDDevelop Example Programos
HALCON siūlo platų example programas, skirtas ne tik HDevelop, bet ir įvairioms programavimo kalboms. Šie buvęamples galima rasti kataloge, pažymėtame aplinkos kintamuoju % HALCONEXAMPLES% arba, jei kintamasis nenustatytas, pakatalogyje exampaplanko, kuriame įdiegėte HALCON.
Norėdami atidaryti HDevelop exampprogramoje, pasirinkite meniu File Naršykite HDDevelop Example programos…. Pradedantiesiems rekomenduojame pasirinkti buvample iš kategorijos Taikymo sritis. - Paslaugos ir palaikymas
Mūsų websvetainę https://www.mvtec.com/services-support siūlo įvairią pagalbą, pvzample mokomieji vaizdo įrašai, informacija apie seminarus ir mokymus, kūrėjų kampelis su patarimais ir gudrybėmis ir daug daugiau. - HALCON dokumentacija
Dokumentuose pateikiama daug informacijos – nuo pradedančiųjų temų iki ekspertų žinių. Pavyzdžiui,ample, mūsų sprendimų vadovuose aprašomi mašininio matymo metodai ir kaip juos pritaikyti „HDevelop“. Geras atspirties taškas yra I Sprendimo vadovas, kuriame supažindinami su pagrindiniais mašinos matymo metodais.
ir baigtaview visų vadovų su trumpu aprašymu galite rasti dokumentacijos įvesties puslapyje.
Dokumentai / Ištekliai
![]() |
HALKONAS 21.11 Pažanga [pdfVartotojo vadovas 21.11 Pažanga, 21.11, Pažanga |





