halcon-logo

HALCON 21.11 Pêşveçûn

HALCON-21-11-Pêşveçûn-hilber-wêne

Gihîştinek bilez a fonksiyona HALCON, Guhertoya 21.11.0.0
Hemû maf parastî ne. Nabe ku tu beşek ji vê weşanê bêyî destûra nivîskî ya pêşîn a weşanger were dubare kirin, di pergalek vegerandinê de were hilberandin, an bi rengekî an rêgezek elektronîkî, mekanîkî, fotokopî, tomarî, an wekî din were şandin.

Copyright © 2003-2021 ji hêla MVTec Software GmbH, München, Almanya
Ji hêla patentên jêrîn ve têne parastin: 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. Patentên din li bendê ne.
Microsoft, Windows, Windows Server 2008/2012/2012 R2/2016, Windows 7/8/8.1/10, Microsoft .NET, Visual C++, û Visual Basic an tîcarî an tîcarî yên Microsoft Corporation in.
Linux nîşanek bazirganî ya Linus Torvalds e.
macOS û OpenCL tîcarî yên Apple Inc.
NVIDIA, CUDA, cuBLAS, û cuDNN an tîcarî an tîcarî yên qeydkirî yên NVIDIA Corporation in.
OpenGL nîşanek bazirganî ya Silicon Graphics, Inc.
Hemî tîcarî û navên bazirganî yên din ên neteweyî û navneteweyî yên naskirî bi vê yekê têne nas kirin.
Zêdetir agahdarî li ser HALCON dikare li vir were dîtin: http://www.halcon.com/

Derbarê Vê Manualê de

Ev destan we HALCON dide nasîn. Ew ji bo destpêkan bêyî zanîna berê ya HALCON-ê tête armanc kirin.
Di heman demê de ev rênîşander dikare wekî rêbernameyek referansê ji çend destanên din ên HALCON re were bikar anîn, ji ber ku ew wan bi mijarên jêrîn ve girêdide:

  1. Sazkirina HALCON (rûpel 7)
    Ev beş Rêvebirê Nermalava MVTec (SOM) destnîşan dike.
  2. Mîmariya HALCON (rûpel 9)
    Hin paşnavên teorîkî, hewce ne ku fêm bikin ka HALCON çi ye û ew çawa dixebite.
  3. Meriv Çawa Serlêdan Pêşde Dike (rûpel 15)
    Ev beş sê nêzîkatiyên bingehîn ji bo pêşkeftina bi HALCON re rave dike û we di bernameyek bernameyek yekem de rê dide weample.
  4. Çawa Berdewam Bike (rûpel 19)
    Ev beş li ser çavkaniyên bêtir agahdarî vedibêje.

Sazkirina HALCON

Ji bo bikarhênerên Linux û Windows, em pêşniyar dikin ku HALCON bi navgîniya Rêvebirê Nermalava MVTec (SOM) dakêşin û saz bikin. SOM ji bo pakêtên nermalavê rêveberê sazkirinê ye. Ew gihîştina katalogek hilberan a dûr peyda dike, û di nav taybetmendiyên din de, dakêşandin û sazkirina pakêtan piştgirî dike. Pêşgotinek gav bi gav li ser meriv çawa HALCON bi rêya SOM-ê saz dike dikare di Rêbernameya Sazkirinê de were dîtin.

HALCON Architecture

Mîmariya bingehîn a HALCON di jimar 2.1 de tê xuyang kirin. Beşa sereke pirtûkxaneya hilberandina wêneyê ye, ku ji zêdetirî 2000 operatoran pêk tê. Her weha hûn dikarin operatorên xwe bi awayê pakêtên bi navê ex-tension pêşve bibin (rûpel 11). Hûn di serîlêdana xwe de operatoran bi navgînên ziman (rûpel 11) wekî HALCON/C++ an HALCON/Python bikar tînin. Ev pirtûkxane ne ku destûrê didin rasterast karanîna operatoran di şêwaza bernamesaziya tîpîk a zimanên bernamesaziyê yên cihêreng de.

HALCON-21-11-Pêşveçûn-01

jimar 2.1: Mîmariya bingehîn ya HALCON.

Ji bo gihîştina cîhazên wergirtina wêneyê, HALCON navgînên wergirtina wêneyan peyda dike (rûpel 13) ku dihêle hûn bi rengek gelemperî amûrên wergirtina cûda bikar bînin. Pirtûkxaneyên ku pêkanînên taybetî yên cîhazê vedigirin dema ku hewce be bi dînamîk têne barkirin. Bi heman awayî, cîhazên I/O bi navgînên I/O yên taybetî yên cîhazê têne gihîştin (rûpel 13).

Operators

Kengê ku her cûre fonksiyonek ji pirtûkxaneya HALCON tê bikar anîn, ew bi operatorek tê kirin. Piraniya wan gelek rêbazan pêk tînin, ku bi parametreyan têne hilbijartin. Lîsteya tevahî ya hemî operatoran dikare di Referansa Operatorê HALCON de ku di HDevelop, .NET, Python, C++, û hevoksaziya C de peyda dibe were dîtin. Taybetmendiyên girîng ên operator ev in:

  • Di nav operatoran de hiyerarşiyek tune. Ji xala mîmariya nermalavê ya view, hemû operator di heman astê de ne.
  • Bê guman, komên mentiqî yên operatoran hene. Ji bo exampLe, ev dikare ji hêla çînên ku ji bo C++ û .NET-ê têne pêşkêş kirin ve were dîtin, ku operatorên ku heman celeb daneyê hildiberînin fonksiyonên endamên çînên têkildar in.
  • Sêwirana operatoran qaîdeyên mîmariya vekirî dişopîne. Ji ber vê yekê, hûn dikarin operatorên xwe biafirînin û bi vî rengî HALCON dirêj bikin (binihêrin beşa 2.2). Destûra Bernameçêkerê Pakêta Berfirehkirinê agahdariya berfireh li ser dirêjkirina pirtûkxaneya operatorê vedihewîne.
  • Pir operator dikarin paralelkirina otomatîkî ya zelal bikar bînin, ku rê dide rêyek hêsan a bilezkirina bernameyê dema ku wêneyên mezin li ser komputerek pir-prosesor an pir-core bikar tînin. Agahiyên berfireh ên li ser bernameya paralel dikarin di têbînîya teknîkî Bernameya Parallel de, û hem jî di Rêbernameya Bername-mer de werin dîtin.
  • Operator ji bo rêzkirina parametreyên ketin û derketinê qaîdeyên standardkirî hene: îkona têketinê, îkonona derketinê, kontrola têketinê, û kontrolkirina derketinê (binihêre beşa 2.1.1). Dibe ku ne hemî kom ji bo operatorek diyar hewce ne. Bi gelemperî, pîvanên têketinê yên operatoran nayên guheztin, ku di encamê de semantîkek zelal û hêsan peyda dike. Ji vê sêwiranê re tenê çend îstîsna hene, mînak, set_grayval, overpaint_gray, û overpaint_region.

Parametre û Structures Data
HALCON du celeb pîvanên bingehîn hene: Daneyên îkonîk û daneyên kontrolê. Wêne, herêm, û XLD (Rêvekirina Xêza eXtented) girêdayî daneyên îkonîk in.

Images bi giranî ji kanalan pêk tê, ango matricên ku nirxên pixel hene. Hemî kanalên wêneyek heman mezinahî ne. Ji bo agahdariya berfireh li ser pixel û kanalan, ji kerema xwe beşa "Wêne" ya Referansê Operatorê HALCON bixwînin.
Ji bo her wêneyê, bi navê herêma berjewendiyê (ROI) diyar dike ku kîjan beşek wêneyê tê hilanîn. ROI dikare pir bi nermî were destnîşankirin (ji çargoşeyek hêsan heya komek pixelên negirêdayî). Ji bo hûragahiyan li ser destwerdana ROI li Rêbernameya Çareseriyê I, Herêma Balkêş li ser rûpela 27 binêre.

Herêmên komek pixel in. Ne hewce ye ku pixelên herêmekê bi hev ve girêdayî bin. Tewra berhevokek kêfî ya pîxelan dikare wekî herêmek yekane were destgirtin. Bi girêdana operatorê herêmek dikare li herêmên xwe yên girêdayî, ango pêkhateyên ku ji pixelên girêdayî pêk tên, were dabeş kirin.

XLDs hemî daneyên li ser xêz û polîgonê pêk tîne. Operatorên subpixel-rast ên mîna edges_sub_pix xêzkeran wekî daneya XLD vedigerînin. Kontur rêzek xalên kontrolê yên 2D ye, ku bi xêzan ve girêdayî ne. Bi gelemperî, dûrahiya di navbera xalên kontrolê de bi qasî yek pixel e. Tiştên XLD, ji bilî xalên kontrolê, taybetmendiyên herêmî û gerdûnî jî hene. Tîpîk examples ji bo van ev in, wek nimûne, qirax amplîtûda nuqteyeke kontrolê an pîvanên paşveçûyînê yên perçeyek konturê. Ji bilî derxistina tiştên XLD, HALCON pêvajoyek din piştgirî dike. ExampJi bo vê yekê bijartina konturan e ku li ser bingeha rêzikên taybetmendiyê yên diyarkirî ye ji bo dabeşkirina xêzek, kevan, pirgoşe an paralelan.

Daneyên kontrolê destek û celebên daneya bingehîn ên wekî jimare, rast, rêzik vedihewîne.

Handles referansên strukturên daneyê yên tevlihev in, mînakî, girêdanek bi navbeynkariya wergirtina wêneyê an jî modelek ji bo lihevhatinê-based shape. Ji ber sedemên karîgerî û ewlehiya daneyê, ne tevahî avahî lê tenê destikê di navbera operatoran de derbas dibe. Destan nirxên sêrbaz in ku divê neyên guheztin û dikarin ji darvekirinê heya darvekirinê û guhertoyek bi guhertoyek cûda bin. Dema ku hemî referans werin nivîsandin ew bixweber têne paqij kirin. ExampTiştên ku destan têne bikar anîn pencereyên grafîkî ne, files, soket, navberên wergirtina wêneyê, OCR, OCV, pîvandin, û lihevhatin.

Pakêtên dirêjkirinê

HALCON dikare ji hêla operatorên nû ve were dirêj kirin. Her çend HALCON jixwe komek operatorên ji bo karên cihêreng dihewîne jî, dibe ku hûn bixwazin operatorên nû bicîh bikin, mînakî, gihîştina hardwareyek taybetî an pêkanîna algorîtmayek alternatîf. Ji bo vê yekê, HALCON Navbera Pakêta Berfirehkirinê peyda dike, ku destûrê dide entegrasyona operatorên nû (di C-yê de têne bicîh kirin) di forma bi navê pakêtên dirêjkirinê de. Navbera Pakêta Berfirehkirinê çend rûtîn û makroyên pêşwextkirî dihewîne ji bo bi hêsanî hilanîna daneyên wêneyê û tiştên bîranînê li C. Dema ku operatorek nû bi serfirazî were yek kirin, ew dikare wekî her operatorên din ên HALCON were bikar anîn. Destûra Bernameçêkerê Pakêta Berfirehkirinê agahdariya berfireh li ser dirêjkirina pirtûkxaneya operatorê vedihewîne.

Navberên Ziman

Wekî ku di jimareya 2.1-ê de li ser rûpela 9-ê tê xuyang kirin, HALCON bi navê navgînên zimanî peyda dike. Ev girêdanên zimanê zikmakî ne, ku dihêle hûn bangî operatoran bikin û rasterast ji hundurê serlêdana xwe celebên daneya HALCON bikar bînin, çi Python, C, C++, an .NET be.
Ji bo destpêkirina pêşkeftinê, em pêşniyar dikin ku pêşî li yek ji berê-amade-rêvebirinê kontrol bikinample bernameyên. Li vir, hûn dikarin bibînin ka divê proje çawa were saz kirin û operator û celeb çawa têne bikar anîn.
Ji bo her navbeynkariya zimanî, navên celeb, çîn, peymanên navdêran ên operatoran û hwd dibe ku ji hev cûda bin da ku li gorî qaîdeyên tîpîk ên ku ji bo zimanê bijartî derbas dibin. Îmzeyên operatorê yên ji bo zimanên bernamesaziyê yên piştgirîkirî di Referana Operatorê HALCON de têne belge kirin.

HALCON / Python
Têkiliya Python ji ber sadebûna xwe û jêhatiya wê ya ji bo prototîpkirina bilez radiweste. Operatorên HALCON rasterast wekî fonksiyonên serbixwe têne gazî kirin, piştî ku modulê HALCON/Python îthal dikin. Di heman demê de bala xwe bidin ku parametreyên operatorê di HALCON/Python de li parametreyên fonksiyonê (vedan) û nirxan (derketin) vedigerin.

Example
Koda jêrîn wêneyek dixwîne û hejmara herêmên girêdayî (rûpel 10) tê de hesab dike.
img = ha.read_image('pcb')
herêm = ha.threshold(img, 0, 122)
num_regions = ha.count_obj(ha.girêdan(herêm))
çapkirin(f'Hejmara Herêman: {num_regions}')

Ji bo şert û mercan û rêveçûnek berfireh, ji kerema xwe li Rêbernameya Bernameçêker, Beş 4, Pêşînek Pêşîn binêreample.

HALCON/C
Navbera C-ya herî hêsan e ku ji hêla HALCON ve hatî piştgirî kirin. Her operator ji hêla yek an du fonksiyonên gerdûnî ve tê destnîşan kirin ku navê operator û rêza parametreyê bi zimanê HDevelop re yek in.

Example
Koda jêrîn wêneyek dixwîne û hejmara herêmên girêdayî (rûpel 10) tê de hesab dike.
Hobject img;
read_image(&img, "pcb");
herêma Hobject;
sînorê (img, ®ion, 0, 122);
Hobject related_regions;
girêdan (herêm, &herêmên_girêdayî);
Hlong num_regions = 0;
count_obj(herêmên_girêdayî, &num_herêmên);
printf("Hejmara Herêman: %" PRIdPTR "\n", num_herêmên);

Ji bo şert û mercan û rêveçûnek berfireh, ji kerema xwe li Rêbernameya Bernameçêker, Beş 5, Pêşînek Pêşîn binêreample.

HALCON/C++
Têkiliya C ++ ji navbeynkariya C-ê pir sofîstîketir e. Li vir, advantagesyên C++ û bernamesaziya objekt-oriented têne bikar anîn, ango veguhertina tîpên otomatîkî, çêkirin û hilweşandin, an komkirina fonksiyonan bi daneyên wan re di polan de. Mîna di navgîniya C de, fonksiyonên gerdûnî yên ji bo her operator HALCON ji bo şêwazek bernamesaziya prosedurê têne peyda kirin.

Example
Koda jêrîn wêneyek dixwîne û hejmara herêmên girêdayî (rûpel 10) tê de hesab dike.
HImage img{“pcb”};
Herêma HRegion = img.Threshold(0, 122);
Hlong numRegions = herêm.Connection().CountObj();
std::cout << “Hejmara Herêman: ” << numHerêm << '\n';

Ji bo şert û mercan û rêveçûnek berfireh, ji kerema xwe li Rêbernameya Bernameçêker, Beş 2, Pêşînek Pêşîn binêreample.

HALCON/.NET
C# û Visual Basic .NET HALCON bi navgîniya .NET bikar tînin.
Wekî C++, du şêwazên bernamekirinê têne pêşkêş kirin: prosedurî ​​û objekt-oriented. Ji bo şêwaza prosedurê, pola HOperatorSet hemî operatorên HALCON peyda dike, ku HObject ji bo birêvebirina daneyên îkonîk û HTuple ji bo daneyên kontrolê tê bikar anîn. Ji bo şêwaza objekt-oriented, dersên mîna HDataCode2d, HMeasure, an HShapeModel ji bo fonksiyona navendî têne peyda kirin. Wekî din, dersên ji bo daneyên îkonîk, mînakî, HImage an HRegion, hene.

Example
Koda jêrîn wêneyek dixwîne û hejmara herêmên girêdayî (rûpel 10) tê de hesab dike.
HImage img = HImage nû ("pcb");
Herêma HRegion = img.Threshold(0d, 122d);
int numRegions = herêm.Connection().CountObj();
Console.WriteLine("Hejmara Herêman: " + numRegions);

Ji bo şert û mercan û rêveçûnek berfireh, ji kerema xwe li Rêbernameya Bernameçêker, Beş 3, Pêşînek Pêşîn binêreample.

Navrûyên wergirtina wêneyê

Têkiliyên wergirtina wêneyê HALCON pira di navbera nermalava ku ji hêla çêkerê cîhaza wergirtina wêneyê û HALCON ve hatî peyda kirin de pêk tîne. Ew navgînek hevpar, gelemperî ava dikin ku tenê komek piçûk a operatoran hewce dike. Ji kerema xwe ji bo agahdariya berfireh li ser vê mijarê serî li Rêbernameya Çareseriyê II-A bidin.
Heya nuha, HALCON ji bo zêdetirî 50 grabbers frame û bi sedan kamerayên pîşesaziyê di forma pirtûkxaneyên dînamîkî yên barkirî de (Windows: DLLs; pergalên mîna Unix: pirtûkxaneyên hevpar) pêwendiyan peyda dike. Navên pirtûkxaneyê bi pêşgira hAcq dest pê dikin; pirtûkxaneyên ku bi paşgira xl diqedin ji hêla HALCON XL ve têne bikar anîn.
Têkiliyên ku herî zêde têne bikar anîn li ser bingeha standardên pîşesaziyê jixwe bi pirtûkxaneyên HALCON re têne saz kirin. Têkiliyên pêvek, û her weha guhertoyên herî paşîn ên navberên ku jixwe hatine navber dikarin li jêr werin dakêşandin https://www.mvtec.com/products/interfaces. Dibe ku navberên wergirtina wêneya HALCON ji pirtûkxaneya HALCON bixwe pirtir biguhezin. Sedemek vê yekê ev e ku MVTec bi domdarî navgînên nû pêş dixe; Wekî din, heke nermalava ku ji hêla çêkerên cîhazên wergirtina wêneyan ve hatî peyda kirin biguhezîne, mînakî, heke taybetmendiyên nû werin yek kirin, dê navberên têkildar ên HALCON werin adapte kirin. Ji kerema xwe ji bo navnîşek bêkêmasî ya navbeynkên wergirtina wêneyê yên piştgirîkirî jî serî li Referana Navbera Bidestxistina Wêne bidin.
Gava ku we amûra wergirtina wêneya xwe bi serfirazî saz kir, ya ku hûn hewce ne bikin ku hûn ji HALCON bigihîjin wê ev e ku hûn bangî operatorê open_framegrabber bikin, navê navrûya wergirtina wêneyê û hin agahdariya zêde diyar bikin, mînakî, di derbarê kameraya girêdayî de. Dûv re, wêne dikarin bi gazîkirina operatorê grab_image (an grab_image_async) werin girtin.

I / O Navrûyên

HALCON ji bo çend amûrên I/O navbeynkariyê peyda dike da ku wergirtina daneyê çalak bike. Van navbeynkaran wekî pirtûkxaneyên dînamîkî yên barkirî hene (Windows: DLL; pergalên mîna Unix: pirtûkxaneyên hevpar). Navên pirtûkxaneyê bi pêşgira hio dest pê dikin; pirtûkxaneyên ku bi paşgira xl diqedin ji hêla HALCON XL ve têne bikar anîn.
Têkiliyên cîhaza HALCON I/O bi karanîna komek piçûk a operatoran ve gihîştina yekgirtî ji cîhazên I/O yên cihêreng re peyda dikin. Piştî ku we cîhaza xweya I/O saz kir, têkiliyek bi karanîna operator open_io_device tê saz kirin, ku navê navrûya cîhaza I/O û, vebijarkî, hin pîvanên taybetî yên cîhazê diyar dike. Dema ku pêwendiyek hate saz kirin, kanalek veguheztinê dikare bi banga open_io_channel vebe. Ji bo xwendin û nivîsandina nirxan li ser vê kanalê, bi rêzê ve operatorên read_io_channel û write_io_channel bikar bînin.
Ji kerema xwe not bikin ku navberên cîhaza HALCON I/O dibe ku ji pirtûkxaneya HALCON bixwe pirtir biguhezin. Hûn dikarin agahdariya herî paşîn digel navgînên dakêşandî (tevî belgekirinê) li jêr bibînin https://www.mvtec.com/products/interfaces. Ji kerema xwe ji bo navnîşek bêkêmasî ya navbeynkariya cîhaza I/O ya piştgirîkirî jî serî li Çavkaniya Navbera Amûra I/O bidin.

Meriv Çawa Serlêdan Pêşve Dike

Em pêşniyar dikin ku hûn di HDevelop de, hawîrdora pêşkeftina înteraktîf a ji bo pirtûkxaneya dîtina makîneya HALCON, bi prototîpkirina bilez dest pê bikin. Hûn dikarin HDevelop bikar bînin da ku operator û pîvanên çêtirîn bibînin da ku peywira analîzkirina wêneya xwe çareser bikin. Piştî ku bernameyek HDevelop li gorî hewcedariyên hatî dayîn pêşve xistin, pêdivî ye ku ew di hawîrdora xweya dawî de were wergerandin. Ji bo vê yekê, hûn dikarin di navbera sê nêzîkatiyên jêrîn de, li gorî tercîhên xwe hilbijêrin:

  • Ji sifirê dest pê bikin: Nivîsandina bernameya xwe ji sifirê tê vê wateyê ku hûn koda HDevelop-a xwe bi destan wergerînin zimanê bernamenûsê armanc (C++, Python…). Wekî ku berê hate behs kirin, peymanên navên operatoran, navên çînan, hwd, dibe ku di navbera zimanên bernamekirinê de cûda bibin. Awirek li Referansê Operatorê HALCON bidin ku ji bo her zimanek bernamesaziya piştgirîkirî îmzeyên operatorê HALCON bistînin. Ji bo agahdariya li ser çawaniya afirandina sepanan bi zimanê mebesta xweya xwestinê, ji kerema xwe Rêbernameya Bernameçêker bixwînin.
  • Koda HDevelop derxînin: Koda HDevelop-a xwe bixweber bi karanîna îxracata koda HDevelop wergerînin zimanê bernamenûsê.
  • Projeya Pirtûkxaneya Hinardekirinê: Hinardekirina pirtûkxaneya HDevelop peldankek projeyek amade-bikarhêner çêdike, tevî koda wrap-per bi zimanê armanc û CMake. file ji bo avakirina projeyê. Hinartina pirtûkxaneya HDevelop HDevEngine, pirtûkxaneyek ku wekî wergêr tevdigere, bikar tîne. HDevEngine dihêle hûn rasterast bername an prosedurên HDevelop-ê ji serîlêdana ku bi C++ hatî nivîsandin an jî zimanek ku dikare tiştên .NET-ê vehewîne bimeşîne. Ji ber vê yekê, hûn ne hewce ne ku dema ku hûn di koda HDevelop-ê de guheztinan bikin, tevahiya serîlêdanê ji nû ve berhev bikin.
    Bê guman, hûn dikarin HDevEngine bêyî karanîna fonksiyona derxistina pirtûkxaneya HDevelop bikar bînin. Meriv çawa HDevEngine bikar tîne di Rêbernameya Bernamesaz, Beş 6 (Bikaranîna HDevEngine) de bi hûrgulî tête diyar kirin.
HDevelop

Ka em pêşî li HDevelop mêze bikin. Xiflteya 3.1 pêwendiya bikarhêner a HDevelop nîşan dide, piştî ku bernameyek hate barkirin û beşek jî hate darve kirin.
Bi xwerû, van pencereyan xuya ne, ku ji bo pêşkeftina bi HDevelop re jî pêdivî ne:

  1. Pencereya Grafîkê Encamên (navber) nîşan dide, ango daneyên îkonîk (rûpel 10) mîna wêne, herêm, û XLD.
  2. Paceya Bernameyê Li vir e ku hûn koda bernameya xwe dinivîsin, û operatoran (rûpel 10) bikar tînin da ku bigihîjin rêbazên hilberandina wêneya HALCON.
  3. Pencereya Guherbar Hemî guherbaran nîşan dide, ango guhêrbarên îkonîk û guhêrbarên kontrolê. Guherbarên îkonîk daneyên îkonîk hene (rûpel 10) û guhêrbarên kontrolê daneyên kontrolê dihewîne (rûpel 10).

Agahiyên berfireh li ser HDevelop dikarin di Rêbernameya Bikarhêner HDevelop de werin dîtin. Vîdyoyên dersê yên me di heman demê de danasînek baş a HDevelop jî pêşkêş dikin:

  • HDevelop Tutorial 01: GUI û Navîgasyon
  • HDevelop Tutorial 02: Guherbar
  • HDevelop Tutorial 03: Visualization

HALCON-21-11-Pêşveçûn-02

jimar 3.1: Navrûya Bikarhêner a HDevelop.

Example Program

Naha ku hûn bi Navrûya Bikarhêner a HDevelop û têgehên bingehîn ên HALCON (rûpel 9) hatine nas kirin, werin em bi karanîna Nêzîkatiya Export Pirtûkxaneyê serîlêdanek C++ pêşve bibin.
Ji bilî rêwerzên gav-bi-gav ên jêrîn, em pêşniyar dikin ku hûn vîdyoyên meyên dersê temaşe bikin: Koda HDevelop-ê bi karanîna Pirtûkxaneya Projeya Export-ê di nav serîlêdanek C++ de yek bikin.
Koda HDevelop bi karanîna Export Projeya Pirtûkxaneyê bi serîlêdanek C# ve entegre bikin
Vîdyo îxracata pirtûkxaneyê destnîşan dikin û di derheqê mijarê de bêtir agahdariya paşîn peyda dikin.

Di HDevelop de Prototîp biafirînin
Wezîfa ya jêrîn exampEw e ku meriv wêneyek bixwîne û hejmara herêmên girêdayî wê bijmêre.

  1. HDevelop vekin û koda jêrîn têkevin Paceya Bernameyê:
    read_image (Wêne, 'pcb')
    bend (Wêne, Herêm, 0, 122)
    girêdan (Herêm, Herêmên Girêdayî)
    count_obj (Herêmên Girêdayî, Hejmar)
  2. Bernameya xwe bi tikandina Run-ê ya li darikê amûran an pêlkirina F5-ê ceribandin.

Ji bo ku em vê koda HDevelop bi hêsanî di serîlêdanek rastîn de yek bikin, em beşa vîzyona makîneyê di pêvajoyek herêmî de vedihewînin.

  1. Xetên kodê yên jêrîn ronî bikin: sînor (Wêne, Herêm, 0, 122) girêdan (Herêm, Herêmên Girêdayî) count_obj (Navçeyên Girêdayî, Hejmar)
  2. Rast-klîk bikin ku menuya çarçoveyê vekin.
  3. Hilbijêre Pêvajoya Nû Biafirîne.
  4. Navê wê count_regions.
  5. Parametreyên Hilbijêre û Bernameya Hilbijartinê biguhezînin Yekem In, Dawîn Derketin.
  6. Bi OKê piştrast bikin.
  7. Bernameya HDevelop xwe wekî hdev_count_regions.hdev hilînin

Projeya Visual Studio amade bikin
Di vê examplê, em ê Visual Studio 2019 bikar bînin. 1

  1. Projeyek C++ ya Windows Console ya vala biafirînin û navê wê bikin vs_count_regions. Ji kerema xwe vebijarka Cîhkirina çareserî û projeyê di heman pelrêçê de çalak bikin. 2
  2. Çavkaniyek C ++ zêde bikin file (Projeya Menu Tiştek Nû lê zêde bike… C++ File) û navê wê vs_count_regions.cpp.
  3. Platforma çareseriyê x64 ji pêşeka dakêşanê ya li darikê amûran hilbijêrin.
  4. Taybetmendiyên projeya xwe vekin (Menu Project vs_count_regions Taybetmendiyên…) û mîhengên jêrîn bikin:
    • C/C++ General hilbijêrin û pêvekên pêvek ên jêrîn lê zêde bikin:$(HALCONROOT)\include;$(HALCONROOT)\include\halconcpp;
    • Linker General Hilbijêre û pelrêça Pirtûkxaneya Zêde ya jêrîn lê zêde bike:$(HALCONROOT)\lib\$(HALCONARCH);
    • Têketina Girêdanê Hilbijêre û Girêdanên Zêdetir ên jêrîn lê zêde bike: halconcpp.lib;hdevenginecpp.lib;

Projeya Pirtûkxaneya Export
Dûv re, em bernameya xweya HDevelop hdev_count_regions.hdev derdixînin peldanka projeya xweya Visual Studio.

  1. Bernameya HDevelop ya berê hatî afirandin hdev_count_regions.hdev veke.
  2. Vekirî File  Projeya Pirtûkxaneya Hinardekirinê…
  3. Mîhengên jêrîn bikin:
    • Beyan file: Bernameya niha
    • Ziman Armanc: C++
    • Navê Projeyê: hdev_count_regions
    • Cihê Projeyê: Cihê projeya meya Visual Studio vs_count_regions hilbijêrin.
    • Cihê navan: hdev_count_regions
  4. Bi Export re piştrast bikin.

Naha, peldanka projeya weya Visual Studio vs_count_regions divê bi kêmî ve daneyên jêrîn hebe:

  • vs_count_regions.cpp (Çavkanî File)
  • vs_count_regions.sln (Çareserî)
  • hdev_count_regions (Peldanka ji HDevelop Export)
    • cmake
    • res_ hdev_ hejmartin_ herêmên
    • herêmên hdev _ hejmartin. hdev
  •  kanî
    • hdev_count_regions.cpp
    • hdev_count_regions.h
    • CMakeLists.txt

Projeya Pirtûkxaneyê di Visual Studio de yek bikin
Di dawiyê de, divê em bernameya HDevelop di Projeya Visual Studio ya xwe de yek bikin.

  1. Projeya Visual Studio vekin.
  2. Projeyê Vekin Tiştek Heyî lê zêde bike… û C++ hilbijêrin file hdev_count_regions.cpp û serî file hdev_count_regions.h, ji hêla HDevelop's Library Export ve hatî afirandin. (Ew files di peldanka çavkaniya hdev_count_regions de cih digirin.)
  3. Koda jêrîn têkevin vs_count_regions.cpp:
    #linavxistin
    #include "HalconCpp.h"
    #include "hdev_count_regions/source/hdev_count_regions.h"
    int main ()
    {
    HalconCpp::Himage Wêne("pcb");
    hdev_count_regions::SetResourcePath("hdev_count_regions/res_hdev_count_regions");
    HalconCpp::HTuple Hejmar{};
    hdev_count_regions::count_regions(Wêne, &Hejmar);
    std::cout << “Hejmara Herêman: ” << Hejmar.L() << '\n';
    }
  4. Bernameyê pêk bînin. → Konsolek vedibe, ku encama 'Hejmara herêman: 43' nîşan dide.

Çawa Berdewam Bikin

Ji bo ku hûn di HALCON-ê de kûr bibin, em belge û piştgirîya bêtir pêşkêşî dikin.

  • HDevelop Example Programs
    HALCON komek berfireh a ex peyda dikeample bernameyên, ne tenê ji bo HDevelop lê ji bo zimanên bernamesaziyê yên cihê jî. Ev examples dikarin di pelrêça ku bi guhêrbara jîngehê % HALCONEX ve hatî destnîşan kirin de werin dîtinAMPLES% an jî, heke guhêrbar neyê danîn, di binerxetê examppeldanka ku we HALCON tê de saz kiriye.
    Ji bo vekirina HDevelop example bernameyê, pêşek hilbijêre File  Bigerin HDevelop Example Bername…. Ji bo destpêkan, em pêşniyar dikin ku berê xwe hilbijêrinample ji kategoriya qada Serlêdanê.
  • Xizmet û Piştgirî
    Yên me website https://www.mvtec.com/services-piştgiriyek cûrbecûr piştgirî pêşkêşî dike, ji bo nimûneampVîdyoyên dersê, agahdarî di derbarê atolye û perwerdehiyê de, quncika pêşdebiran ku serişte û hîleyan peyda dike, û hêj bêtir.
  • Belgekirina HALCON
    Belgekirin, ji mijarên destpêkê heya zanîna pispor, gelek agahdarî peyda dike. Ji bo exampLe, Rêbernameyên me yên Çareseriyê rêbazên dîtina makîneyê û çawaniya pêkanîna wan di HDevelop de vedibêjin. Xalek destpêkek baş Rêbernameya Çareseriyê I ye ku we bi rêbazên dîtina makîneya sereke dide nasîn.
    An serview ji hemî destanên bi ravekek kurt dikare li ser rûpela têketina belgeyê were dîtin.

Belge / Çavkanî

HALCON 21.11 Pêşveçûn [pdf] Rehbera bikaranînê
21.11 Terakkî, 21.11, Terakkî

Çavkanî

Bihêle şîroveyek

Navnîşana e-nameya we nayê weşandin. Zeviyên pêwîst têne nîşankirin *