halcon-logo

Kemajuan HALCON 21.11

HALCON-21-11-Kemajuan-gambar-produk

Akses cepat ke fungsi HALCON, Versi 21.11.0.0
Semua hak dilindungi undang-undang. Tidak ada bagian dari publikasi ini yang boleh direproduksi, disimpan dalam sistem pengambilan, atau ditransmisikan dalam bentuk apa pun atau dengan cara apa pun, elektronik, mekanis, fotokopi, rekaman, atau lainnya, tanpa izin tertulis sebelumnya dari penerbit.

Hak Cipta © 2003-2021 oleh MVTec Software GmbH, München, Jerman
Dilindungi oleh paten berikut: 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. Paten lebih lanjut menunggu keputusan.
Microsoft, Windows, Windows Server 2008/2012/2012 R2/2016, Windows 7/8/8.1/10, Microsoft .NET, Visual C++, dan Visual Basic adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation.
Linux adalah merek dagang dari Linus Torvalds.
macOS dan OpenCL adalah merek dagang Apple Inc.
NVIDIA, CUDA, cuBLAS, dan cuDNN adalah merek dagang atau merek dagang terdaftar dari NVIDIA Corporation.
OpenGL adalah merek dagang dari Silicon Graphics, Inc.
Semua merek dagang dan nama dagang lain yang diakui secara nasional dan internasional dengan ini diakui.
Informasi lebih lanjut tentang HALCON dapat ditemukan di: http://www.halcon.com/

Tentang Manual Ini

Panduan ini memperkenalkan Anda pada HALCON. Hal ini ditujukan untuk pemula tanpa pengetahuan sebelumnya tentang HALCON.
Manual ini juga dapat digunakan sebagai panduan referensi untuk beberapa manual HALCON lainnya, karena menghubungkannya dengan topik-topik berikut:

  1. Memasang HALCON (halaman 7)
    Bab ini memperkenalkan MVTec Software Manager (SOM).
  2. Arsitektur HALCON (halaman 9)
    Beberapa latar belakang teoritis, diperlukan untuk memahami apa itu HALCON dan cara kerjanya.
  3. Cara Mengembangkan Aplikasi (halaman 15)
    Bab ini menjelaskan tiga pendekatan dasar untuk mengembangkan dengan HALCON dan memandu Anda melalui contoh pemrograman pertamaampsaya.
  4. Cara Melanjutkan (halaman 19)
    Bab ini mengacu pada sumber informasi tambahan.

Memasang HALCON

Untuk pengguna Linux dan Windows, kami menyarankan untuk mengunduh dan menginstal HALCON melalui MVTec Software Manager (SOM). SOM adalah manajer instalasi untuk paket perangkat lunak. Ini menyediakan akses ke katalog produk jarak jauh, dan mendukung, di antara fitur-fitur lainnya, pengunduhan dan instalasi paket. Pengenalan langkah demi langkah tentang cara menginstal HALCON melalui SOM dapat ditemukan di Panduan Instalasi.

Arsitektur HALCON

Arsitektur dasar HALCON digambarkan pada gambar 2.1. Bagian utamanya adalah perpustakaan pemrosesan gambar, yang terdiri dari lebih dari 2000 operator. Anda juga dapat mengembangkan operator Anda sendiri dalam bentuk paket ekstensi (halaman 11). Anda menggunakan operator dalam aplikasi Anda melalui antarmuka bahasa (halaman 11) seperti HALCON/C++ atau HALCON/Python. Ini adalah perpustakaan yang memungkinkan penggunaan langsung operator dalam gaya pemrograman khas dari berbagai bahasa pemrograman.

HALCON-21-11-Kemajuan-01

Gambar 2.1: Arsitektur dasar HALCON.

Untuk akses perangkat akuisisi gambar, HALCON menyediakan antarmuka akuisisi gambar (halaman 13) yang memungkinkan Anda menggunakan perangkat akuisisi yang sangat berbeda dengan cara yang umum. Pustaka yang berisi implementasi khusus perangkat dimuat secara dinamis bila diperlukan. Dengan cara yang sama, perangkat I/O diakses melalui antarmuka I/O khusus perangkat (halaman 13).

Operator

Setiap kali fungsionalitas apa pun digunakan dari perpustakaan HALCON, hal itu dilakukan melalui operator. Kebanyakan dari mereka terdiri dari beberapa metode, yang dipilih melalui parameter. Daftar lengkap semua operator dapat ditemukan di Referensi Operator HALCON yang tersedia dalam sintaksis HDevelop, .NET, Python, C++, dan C. Fitur penting dari operator adalah:

  • Tidak ada hierarki antar operator. Dari sudut pandang arsitektur perangkat lunak view, semua operator berada pada level yang sama.
  • Tentu saja, ada kelompok operator yang logis. Misalnyaample, hal ini dapat dilihat dari kelas yang ditawarkan untuk C++ dan .NET, di mana operator yang memproses tipe data yang sama merupakan fungsi anggota dari kelas yang bersangkutan.
  • Desain operator mengikuti aturan arsitektur terbuka. Oleh karena itu, Anda dapat membuat operator sendiri dan memperluas HALCON (lihat bagian 2.2). Panduan Pemrogram Paket Ekstensi berisi informasi rinci tentang memperluas perpustakaan operator.
  • Banyak operator dapat memanfaatkan paralelisasi otomatis secara transparan, yang memungkinkan cara mudah untuk mempercepat program saat menggunakan gambar besar pada komputer multi-prosesor atau multi-inti. Informasi rinci tentang pemrograman paralel dapat ditemukan di catatan teknis Pemrograman Paralel, serta di Panduan Pemrogram.
  • Operator memiliki aturan standar untuk mengurutkan parameter input dan output: ikon input, ikon output, kontrol input, dan kontrol output (lihat bagian 2.1.1). Tidak semua grup mungkin diperlukan untuk operator tertentu. Secara umum, parameter masukan operator tidak diubah, sehingga menghasilkan semantik yang jelas dan sederhana. Hanya ada beberapa pengecualian pada desain ini, misalnya set_grayval, overpaint_gray, dan overpaint_region.

Parameter dan Struktur Data
HALCON memiliki dua tipe dasar parameter: data ikonik dan data kontrol. Gambar, wilayah, dan XLD (eXtented Line Description) termasuk dalam data ikonik.

Gambar terutama terdiri dari saluran, yaitu matriks yang berisi nilai piksel. Semua saluran suatu gambar memiliki ukuran yang sama. Untuk informasi rinci tentang piksel dan saluran, silakan baca bab “Gambar” Referensi Operator HALCON.
Untuk setiap gambar, yang disebut region of interest (ROI) menentukan bagian mana dari gambar yang diproses. ROI dapat ditentukan dengan sangat fleksibel (dari persegi panjang sederhana hingga sekumpulan piksel yang tidak terhubung). Untuk rincian tentang penanganan ROI, lihat Panduan Solusi I, Wilayah Tujuan di halaman 27.

Daerah adalah sekumpulan piksel. Piksel suatu wilayah tidak perlu dihubungkan. Bahkan kumpulan piksel yang berubah-ubah dapat ditangani sebagai satu wilayah. Dengan koneksi operator suatu wilayah dapat dipecah menjadi wilayah-wilayah yang terhubung, yaitu komponen-komponen yang terdiri dari piksel-piksel yang terhubung.

XLD terdiri dari semua data berbasis kontur dan poligon. Operator dengan akurasi subpiksel seperti edge_sub_pix mengembalikan kontur sebagai data XLD. Kontur adalah rangkaian titik kontrol 2D yang dihubungkan oleh garis. Biasanya, jarak antar titik kontrol adalah sekitar satu piksel. Objek XLD berisi, selain titik kontrol, yang disebut atribut lokal dan global. Contoh yang khasamples untuk ini adalah, misalnya, edge amplitude titik kontrol atau parameter regresi segmen kontur. Selain ekstraksi objek XLD, HALCON mendukung pemrosesan lebih lanjut. MantanampFile untuk ini adalah pemilihan kontur berdasarkan rentang fitur tertentu untuk segmentasi kontur menjadi garis, busur, poligon, atau paralel.

Data kontrol mencakup pegangan dan tipe data dasar seperti integer, real, string.

Pegangan adalah referensi ke struktur data yang kompleks, misalnya koneksi ke antarmuka akuisisi gambar atau model untuk pencocokan berbasis bentuk. Untuk alasan efisiensi dan keamanan data, tidak seluruh struktur tetapi hanya pegangannya yang diteruskan antar operator. Pegangan adalah nilai ajaib yang tidak boleh diubah dan dapat berbeda dari satu eksekusi ke eksekusi lainnya dan versi ke versi. Mereka secara otomatis dihapus setelah semua referensi ditimpa. Mantanamples yang menggunakan pegangan adalah jendela grafis, files, soket, antarmuka akuisisi gambar, OCR, OCV, pengukuran, dan pencocokan.

Paket Ekstensi

HALCON dapat diperpanjang oleh operator baru. Meskipun HALCON sudah berisi banyak sekali operator untuk berbagai tugas, Anda mungkin ingin mengimplementasikan operator baru, misalnya untuk mengakses perangkat keras khusus atau untuk mengimplementasikan algoritma alternatif. Untuk melakukannya, HALCON menyediakan Antarmuka Paket Ekstensi, yang memungkinkan integrasi operator baru (diimplementasikan dalam C) dalam bentuk paket ekstensi. Antarmuka Paket Ekstensi berisi beberapa rutinitas dan makro yang telah ditentukan sebelumnya untuk memudahkan penanganan data gambar dan objek memori di C. Setelah operator baru berhasil diintegrasikan, operator tersebut dapat digunakan seperti operator HALCON lainnya. Panduan Pemrogram Paket Ekstensi berisi informasi rinci tentang memperluas perpustakaan operator.

Antarmuka Bahasa

Seperti yang ditunjukkan pada gambar 2.1 di halaman 9, HALCON menyediakan apa yang disebut antarmuka bahasa. Ini adalah pengikatan bahasa asli, yang memungkinkan Anda memanggil operator dan menggunakan tipe data HALCON langsung dari dalam aplikasi Anda, baik itu Python, C, C++, atau .NET.
Untuk memulai pengembangan, kami sarankan untuk memeriksa terlebih dahulu salah satu example program. Di sini, Anda dapat melihat bagaimana proyek harus disiapkan dan bagaimana operator dan tipe digunakan.
Untuk setiap antarmuka bahasa, nama tipe, kelas, konvensi penamaan operator, dll. mungkin berbeda untuk mematuhi aturan umum yang berlaku untuk bahasa yang dipilih. Tanda tangan operator untuk bahasa pemrograman yang didukung didokumentasikan dalam Referensi Operator HALCON.

HALCON/Piton
Antarmuka Python menonjol karena kesederhanaannya dan kemampuannya untuk pembuatan prototipe cepat. Operator HALCON dipanggil langsung sebagai fungsi mandiri, setelah mengimpor modul HALCON/Python. Perhatikan juga bahwa parameter operator di HALCON/Python dibagi menjadi parameter fungsi (input) dan nilai kembalian (output).

Example
Kode berikut membaca gambar dan menghitung jumlah wilayah yang terhubung (halaman 10) di dalamnya.
img = ha.read_image('pcb')
wilayah = ha.ambang batas(img, 0, 122)
num_regions = ha.count_obj(ha.koneksi(wilayah))
print(f'Jumlah Wilayah: {num_regions}')

Untuk prasyarat dan penjelasan rinci, silakan lihat Panduan Pemrogram, Bagian 4, Contoh Pertamaampsaya.

HALCON/C
Antarmuka C adalah antarmuka paling sederhana yang didukung oleh HALCON. Setiap operator diwakili oleh satu atau dua fungsi global dengan nama operator dan urutan parameter identik dengan bahasa HDevelop.

Example
Kode berikut membaca gambar dan menghitung jumlah wilayah yang terhubung (halaman 10) di dalamnya.
Gambar objek;
read_image(&img, “pcb”);
wilayah objek;
ambang batas(img, ®ion, 0, 122);
Hobjek terhubung_wilayah;
koneksi(wilayah, &wilayah_terhubung);
Jumlah_wilayah = 0;
count_obj(wilayah_terhubung, &jumlah_wilayah);
printf(“Jumlah Wilayah : %” PRIdPTR “\n”, num_wilayah);

Untuk prasyarat dan penjelasan rinci, silakan lihat Panduan Pemrogram, Bagian 5, Contoh Pertamaampsaya.

HALCON/C++
Antarmuka C++ jauh lebih canggih daripada antarmuka C. Di sini, kemajuantages dari C++ dan pemrograman berorientasi objek digunakan, yaitu, konversi tipe otomatis, konstruksi dan penghancuran, atau pengelompokan fungsi bersama dengan datanya ke dalam kelas. Seperti pada antarmuka C, fungsi global untuk setiap operator HALCON disediakan untuk gaya pemrograman prosedural.

Example
Kode berikut membaca gambar dan menghitung jumlah wilayah yang terhubung (halaman 10) di dalamnya.
HImage img{"pcb"};
Wilayah HR = img.Threshold(0, 122);
Jumlah numRegions = region.Connection().CountObj();
std::cout << “Jumlah Wilayah: ” << numRegions << '\n';

Untuk prasyarat dan penjelasan rinci, silakan lihat Panduan Pemrogram, Bagian 2, Contoh Pertamaampsaya.

HALCON/.NET
C# dan Visual Basic .NET menggunakan HALCON melalui antarmuka .NET.
Analog dengan C++, ada dua gaya pemrograman yang ditawarkan: prosedural dan berorientasi objek. Untuk gaya prosedural, kelas HOperatorSet menyediakan semua operator HALCON, dimana HObject digunakan untuk menangani data ikonik dan HTuple digunakan untuk mengontrol data. Untuk gaya berorientasi objek, kelas seperti HDataCode2d, HMeasure, atau HShapeModel disediakan untuk fungsionalitas pusat. Selain itu, kelas untuk data ikonik, misalnya HImage atau HRegion, juga tersedia.

Example
Kode berikut membaca gambar dan menghitung jumlah wilayah yang terhubung (halaman 10) di dalamnya.
HImage img = HImage baru(“pcb”);
Wilayah HR = img.Threshold(0d, 122d);
int numRegions = wilayah.Connection().CountObj();
Console.WriteLine("Jumlah Wilayah: " + jumlahWilayah);

Untuk prasyarat dan penjelasan rinci, silakan lihat Panduan Pemrogram, Bagian 3, Contoh Pertamaampsaya.

Antarmuka Akuisisi Gambar

Antarmuka akuisisi gambar HALCON membentuk jembatan antara perangkat lunak yang disediakan oleh produsen perangkat akuisisi gambar dan HALCON. Mereka membentuk antarmuka umum dan umum yang hanya memerlukan sejumlah kecil operator. Silakan merujuk ke Panduan Solusi II-A untuk informasi rinci tentang topik ini.
Saat ini, HALCON menyediakan antarmuka untuk lebih dari 50 frame grabber dan ratusan kamera industri dalam bentuk perpustakaan yang dapat dimuat secara dinamis (Windows: DLL; sistem mirip Unix: perpustakaan bersama). Nama perpustakaan dimulai dengan awalan hAcq; perpustakaan yang diakhiri dengan akhiran xl digunakan oleh HALCON XL.
Antarmuka yang paling banyak digunakan berdasarkan standar industri telah diinstal bersama dengan perpustakaan HALCON. Antarmuka tambahan, serta versi terbaru dari antarmuka yang sudah disertakan dapat diunduh di bawah https://www.mvtec.com/products/interfaces. Antarmuka akuisisi gambar HALCON mungkin lebih sering berubah daripada perpustakaan HALCON itu sendiri. Salah satu alasannya adalah MVTec terus mengembangkan antarmuka baru; lebih jauh lagi, jika perangkat lunak yang disediakan oleh produsen perangkat akuisisi gambar berubah, misalnya, jika fitur baru diintegrasikan, antarmuka HALCON yang sesuai akan disesuaikan. Silakan lihat juga Referensi Antarmuka Akuisisi Gambar untuk daftar lengkap antarmuka akuisisi gambar yang didukung.
Setelah Anda berhasil menginstal perangkat akuisisi gambar, yang perlu Anda lakukan untuk mengaksesnya dari HALCON adalah memanggil operator open_framegrabber, menentukan nama antarmuka akuisisi gambar dan beberapa informasi tambahan, misalnya mengenai kamera yang terhubung. Kemudian, gambar dapat diambil dengan memanggil operator grab_image (atau grab_image_async).

Antarmuka I / O

HALCON menyediakan antarmuka untuk beberapa perangkat I/O untuk memungkinkan akuisisi data. Antarmuka ini tersedia sebagai perpustakaan yang dapat dimuat secara dinamis (Windows: DLL; sistem mirip Unix: perpustakaan bersama). Nama perpustakaan dimulai dengan awalan hio; perpustakaan yang diakhiri dengan akhiran xl digunakan oleh HALCON XL.
Antarmuka perangkat I/O HALCON menyediakan akses terpadu ke perangkat I/O yang berbeda menggunakan sejumlah kecil operator. Setelah Anda menginstal perangkat I/O, koneksi dibuat menggunakan operator open_io_device, yang menentukan nama antarmuka perangkat I/O dan, opsional, beberapa parameter spesifik perangkat. Setelah koneksi dibuat, saluran transmisi dapat dibuka dengan memanggil open_io_channel. Untuk membaca dan menulis nilai pada saluran ini, gunakan masing-masing operator read_io_channel dan write_io_channel.
Harap dicatat bahwa antarmuka perangkat HALCON I/O mungkin lebih sering berubah daripada perpustakaan HALCON itu sendiri. Anda dapat menemukan informasi terbaru beserta antarmuka yang dapat diunduh (termasuk dokumentasi) di bawah https://www.mvtec.com/products/interfaces. Silakan lihat juga Referensi Antarmuka Perangkat I/O untuk daftar lengkap antarmuka perangkat I/O yang didukung.

Bagaimana Mengembangkan Aplikasi

Kami menyarankan Anda memulai dengan pembuatan prototipe cepat di HDevelop, lingkungan pengembangan interaktif untuk perpustakaan visi mesin HALCON. Anda dapat menggunakan HDevelop untuk menemukan operator dan parameter optimal untuk menyelesaikan tugas analisis gambar Anda. Setelah mengembangkan program HDevelop sesuai dengan persyaratan yang diberikan, program tersebut harus diterjemahkan ke dalam lingkungan akhirnya. Untuk ini, Anda dapat memilih di antara tiga pendekatan berikut, bergantung pada preferensi Anda:

  • Mulai dari Awal: Menulis program Anda dari awal berarti menerjemahkan kode HDevelop Anda ke bahasa pemrograman target (C++, Python…) secara manual. Seperti disebutkan sebelumnya, konvensi penamaan operator, nama kelas, dll., mungkin berbeda antar bahasa pemrograman. Lihat Referensi Operator HALCON untuk mendapatkan tanda tangan operator HALCON untuk setiap bahasa pemrograman yang didukung. Untuk informasi tentang cara membuat aplikasi dalam bahasa target yang Anda inginkan, silakan baca Panduan Programmer.
  • Ekspor Kode HDevelop: Terjemahkan kode HDevelop Anda ke bahasa pemrograman target secara otomatis menggunakan ekspor kode HDevelop.
  • Ekspor Proyek Perpustakaan: Ekspor perpustakaan HDevelop menghasilkan folder proyek yang siap digunakan, termasuk kode bungkus dalam bahasa target dan CMake file untuk membangun proyek tersebut. Ekspor perpustakaan HDevelop menggunakan HDevEngine, perpustakaan yang bertindak sebagai penerjemah. HDevEngine memungkinkan Anda menjalankan program atau prosedur HDevelop secara langsung dari aplikasi yang ditulis dalam C++ atau bahasa apa pun yang dapat mengintegrasikan objek .NET. Dengan demikian, Anda tidak perlu mengkompilasi ulang seluruh aplikasi saat melakukan perubahan pada kode HDevelop.
    Tentu saja, Anda dapat menggunakan HDevEngine tanpa menggunakan fungsi ekspor perpustakaan HDevelop. Cara menggunakan HDevEngine dijelaskan secara rinci di Panduan Programmer, Bagian 6 (Menggunakan HDevEngine).
Berkembang

Mari kita lihat dulu HDevelop. Gambar 3.1 menunjukkan antarmuka pengguna HDevelop, setelah program dimuat dan sebagian dijalankan.
Secara default, jendela berikut terlihat, yang juga penting untuk pengembangan dengan HDevelop:

  1. Jendela Grafik Menampilkan hasil (perantara), yaitu data ikonik (halaman 10) seperti gambar, wilayah, dan XLD.
  2. Jendela Program Di sinilah Anda mengetikkan kode program, menggunakan operator (halaman 10) untuk mengakses metode pemrosesan gambar HALCON.
  3. Variable Window Menampilkan seluruh variabel yaitu variabel ikonik dan variabel kontrol. Variabel ikonik berisi data ikonik (halaman 10) dan variabel kontrol berisi data kontrol (halaman 10).

Informasi rinci tentang HDevelop dapat ditemukan di Panduan Pengguna HDevelop. Video tutorial kami juga menawarkan pengenalan yang baik tentang HDevelop:

  • Tutorial HDevelop 01: GUI dan Navigasi
  • Tutorial HDevelop 02: Variabel
  • Tutorial Pengembangan HD 03: Visualisasi

HALCON-21-11-Kemajuan-02

Gambar 3.1: Antarmuka Pengguna HDevelop.

Exampprogram

Sekarang Anda telah diperkenalkan dengan Antarmuka Pengguna HDevelop dan konsep dasar HALCON (halaman 9), mari kita kembangkan aplikasi C++ menggunakan Pendekatan Ekspor Perpustakaan.
Selain petunjuk langkah demi langkah berikut, kami menyarankan Anda menonton video tutorial kami: Mengintegrasikan kode HDevelop ke dalam aplikasi C++ menggunakan Library Project Ekspor
Integrasikan kode HDevelop ke dalam aplikasi C# menggunakan Library Project Ekspor
Video tersebut mendemonstrasikan ekspor perpustakaan dan memberikan lebih banyak informasi latar belakang tentang topik tersebut.

Buat Prototipe di HDevelop
Tugas mantan berikutample adalah membaca gambar dan menghitung jumlah wilayah yang terhubung dengannya.

  1. Buka HDevelop dan masukkan kode berikut ke dalam Jendela Program:
    read_image (Gambar, 'pcb')
    ambang batas (Gambar, Wilayah, 0, 122)
    koneksi (Wilayah, Wilayah Terhubung)
    count_obj (Wilayah Terhubung, Nomor)
  2. Uji program Anda dengan mengklik Jalankan di toolbar atau menekan F5.

Untuk mengintegrasikan kode HDevelop ini dengan mudah ke dalam aplikasi sebenarnya, kami merangkum bagian visi mesin dalam prosedur lokal.

  1. Sorot baris kode berikut: ambang batas (Gambar, Wilayah, 0, 122) koneksi (Wilayah, ConnectedRegions) count_obj (ConnectedRegions, Number)
  2. Klik kanan untuk membuka menu konteks.
  3. Pilih Buat Prosedur Baru.
  4. Beri nama count_regions.
  5. Pilih Parameter dan ubah Skema Seleksi menjadi Masuk Pertama, Keluar Terakhir.
  6. Konfirmasi dengan OK.
  7. Simpan program HDevelop Anda sebagai hdev_count_regions.hdev

Siapkan Proyek Visual Studio
Dalam hal iniample, kita akan menggunakan Visual Studio 2019

  1. Buat proyek Konsol Windows C++ kosong dan beri nama vs_count_regions. Silakan aktifkan opsi Tempatkan solusi dan proyek di direktori yang sama. 2
  2. Tambahkan sumber C++ file (Menu Proyek Tambahkan Item Baru… C++ File) dan beri nama vs_count_regions.cpp.
  3. Pilih platform solusi x64 dari menu drop down di toolbar.
  4. Buka properti proyek Anda (Menu Project vs_count_regions Properties…) dan buat pengaturan berikut:
    • Pilih C/C++ General dan tambahkan Direktori Sertakan Tambahan berikut:$(HALCONROOT)\include;$(HALCONROOT)\include\halconcpp;
    • Pilih Linker General dan tambahkan Direktori Perpustakaan Tambahan berikut:$(HALCONROOT)\lib\$(HALCONARCH);
    • Pilih Input Linker dan tambahkan Dependensi Tambahan berikut: halconcpp.lib;hdevenginecpp.lib;

Ekspor Proyek Perpustakaan
Selanjutnya, kami mengekspor program HDevelop kami hdev_count_regions.hdev ke dalam folder proyek Visual Studio kami.

  1. Buka program HDevelop yang telah dibuat sebelumnya hdev_count_regions.hdev.
  2. Membuka File  Ekspor Proyek Perpustakaan…
  3. Lakukan pengaturan berikut:
    • Masukan file: Program Saat Ini
    • Bahasa Sasaran: C++
    • Nama Proyek: hdev_count_regions
    • Lokasi Proyek: Pilih lokasi proyek Visual Studio kami vs_count_regions.
    • Ruang nama: hdev_count_regions
  4. Konfirmasikan dengan Ekspor.

Sekarang, folder proyek Visual Studio Anda vs_count_regions harus berisi setidaknya data berikut:

  • vs_count_regions.cpp (Sumber File)
  • vs_count_regions.sln (Solusi)
  • hdev_count_regions (Folder dari HDevelop Ekspor)
    • membuat
    • res_ hdev_ count_ wilayah
    • hdev _ count_ wilayah. hdev
  •  sumber
    • hdev_count_regions.cpp
    • hdev_count_regions.h
    • CMakeLists.txt

Integrasikan Proyek Perpustakaan ke dalam Visual Studio
Terakhir, kita harus mengintegrasikan program HDevelop ke dalam Proyek Visual Studio kita.

  1. Buka Proyek Visual Studio.
  2. Buka Project Add Existing Item… dan pilih C++ file hdev_count_regions.cpp dan headernya file hdev_count_regions.h, dibuat oleh Ekspor Perpustakaan HDevelop. (Itu files terletak di folder sumber hdev_count_regions.)
  3. Masukkan kode berikut ke vs_count_regions.cpp:
    #termasuk
    #sertakan “HalconCpp.h”
    #sertakan “hdev_count_regions/source/hdev_count_regions.h”
    int utama()
    {
    HalconCpp::Gambar Gambar("pcb");
    hdev_count_regions::SetResourcePath(“hdev_count_regions/res_hdev_count_regions”);
    HalconCpp::HTuple Number{};
    hdev_count_regions::count_regions(Gambar, &Nomor);
    std::cout << “Jumlah Wilayah: ” << Number.L() << '\n';
    }
  4. Jalankan programnya. → Konsol terbuka, menampilkan hasil 'Jumlah wilayah: 43'.

Bagaimana Melanjutkannya

Untuk mendalami HALCON lebih dalam, kami menawarkan dokumentasi dan dukungan lebih lanjut.

  • Kembangkan Example Program
    HALCON menyediakan serangkaian example program, tidak hanya untuk HDevelop tetapi juga untuk bahasa pemrograman yang berbeda. Mantan iniample dapat ditemukan di direktori yang dilambangkan dengan variabel lingkungan % HALCONEXAMPLES% atau, jika variabel tidak disetel, di subdirektori exampfile folder tempat Anda menginstal HALCON.
    Untuk membuka HDevelop example program, pilih menu File  Telusuri HDevelop Example Program…. Bagi pemula, kami sarankan untuk memilih mantanample dari kategori Area aplikasi.
  • Layanan dan Dukungan
    Kita weblokasi https://www.mvtec.com/services-support menawarkan berbagai dukungan, misalnyaample video tutorial, informasi tentang workshop dan pelatihan, pojok pengembang yang memberikan tips dan trik, dan masih banyak lagi.
  • Dokumentasi HALCON
    Dokumentasinya memberikan banyak informasi, mulai dari topik pemula hingga pengetahuan ahli. Misalnyaample, Panduan Solusi kami menjelaskan metode visi mesin dan cara menerapkannya di HDevelop. Titik awal yang baik adalah Panduan Solusi I yang memperkenalkan Anda pada metode visi mesin utama.
    Sebuah selesaiview semua manual dengan penjelasan singkat dapat ditemukan di halaman entri dokumentasi.

Dokumen / Sumber Daya

Kemajuan HALCON 21.11 [Bahasa Indonesia:] Panduan Pengguna
21.11 Kemajuan, 21.11, Kemajuan

Referensi

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *