ໂລໂກ້ halcon

HALCON 21.11 ຄວາມຄືບຫນ້າ

HALCON-21-11-Progress-product-image

ການເຂົ້າເຖິງໄວຕໍ່ກັບການທໍາງານຂອງ HALCON, ຮຸ່ນ 21.11.0.0
ສະຫງວນລິຂະສິດທັງໝົດ. ບໍ່ມີສ່ວນຫນຶ່ງຂອງສິ່ງພິມນີ້ອາດຈະຖືກຜະລິດຄືນ, ເກັບຮັກສາໄວ້ໃນລະບົບການດຶງຂໍ້ມູນ, ຫຼືຖ່າຍທອດໃນຮູບແບບໃດກໍ່ຕາມ, ເອເລັກໂຕຣນິກ, ກົນຈັກ, ການຄັດລອກ, ການບັນທຶກ, ຫຼືອື່ນໆ, ໂດຍບໍ່ມີການອະນຸຍາດເປັນລາຍລັກອັກສອນຈາກຜູ້ຈັດພິມກ່ອນ.

ສະຫງວນລິຂະສິດ © 2003-2021 ໂດຍ MVTec Software GmbH, München, ເຢຍລະມັນ
ປົກປ້ອງໂດຍສິດທິບັດຕໍ່ໄປນີ້: US 7,239,929, US 7,751,625, US 7,953,290, US 7,953,291, US 8,260,059 US, US 8,379,014, US 8,830,229. ຍັງລໍຖ້າສິດທິບັດຕື່ມອີກ.
Microsoft, Windows, Windows Server 2008/2012/2012 R2/2016, Windows 7/8/8.1/10, Microsoft .NET, Visual C++, ແລະ Visual Basic ແມ່ນເຄື່ອງໝາຍການຄ້າ ຫຼືເຄື່ອງໝາຍການຄ້າຈົດທະບຽນຂອງ Microsoft Corporation.
Linux ແມ່ນເຄື່ອງຫມາຍການຄ້າຂອງ Linus Torvalds.
macOS ແລະ OpenCL ແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Apple Inc.
NVIDIA, CUDA, cuBLAS, ແລະ cuDNN ແມ່ນເຄື່ອງໝາຍການຄ້າ ຫຼືເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງບໍລິສັດ NVIDIA.
OpenGL ເປັນເຄື່ອງໝາຍການຄ້າຂອງ Silicon Graphics, Inc.
ບັນດາເຄື່ອງໝາຍການຄ້າ ແລະຊື່ການຄ້າທີ່ໄດ້ຮັບການຍອມຮັບລະດັບຊາດ ແລະສາກົນອື່ນໆທັງໝົດແມ່ນໄດ້ຮັບການຍອມຮັບຈາກນີ້.
ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ HALCON ສາມາດພົບໄດ້ທີ່: http://www.halcon.com/

ກ່ຽວກັບຄູ່ມືນີ້

ຄູ່​ມື​ນີ້​ແນະ​ນໍາ​ໃຫ້​ທ່ານ HALCON​. ມັນມີຈຸດປະສົງສໍາລັບຜູ້ເລີ່ມຕົ້ນທີ່ບໍ່ມີຄວາມຮູ້ມາກ່ອນກ່ຽວກັບ HALCON.
ຄູ່ມືນີ້ຍັງສາມາດຖືກນໍາໃຊ້ເປັນຄູ່ມືອ້າງອິງກັບຄູ່ມື HALCON ອື່ນໆຈໍານວນຫນຶ່ງ, ຍ້ອນວ່າມັນເຊື່ອມຕໍ່ກັນຕາມຫົວຂໍ້ຕໍ່ໄປນີ້:

  1. ການຕິດຕັ້ງ HALCON (ໜ້າ 7)
    ບົດນີ້ແນະນໍາ MVTec Software Manager (SOM).
  2. ສະຖາປັດຕະຍະກຳ HALCON (ໜ້າ 9)
    ບາງພື້ນຖານທິດສະດີ, ຈໍາເປັນຕ້ອງເຂົ້າໃຈວ່າ HALCON ແມ່ນຫຍັງແລະມັນເຮັດວຽກແນວໃດ.
  3. ວິທີການພັດທະນາແອັບພລິເຄຊັນ (ໜ້າ 15)
    ບົດນີ້ອະທິບາຍສາມວິທີພື້ນຖານສໍາລັບການພັດທະນາກັບ HALCON ແລະນໍາພາທ່ານຜ່ານການຂຽນໂປລແກລມທໍາອິດampເລ.
  4. ວິທີການສືບຕໍ່ (ໜ້າ 19)
    ບົດນີ້ຫມາຍເຖິງແຫຼ່ງຂໍ້ມູນເພີ່ມເຕີມ.

ການຕິດຕັ້ງ HALCON

ສໍາລັບຜູ້ໃຊ້ Linux ແລະ Windows, ພວກເຮົາແນະນໍາໃຫ້ດາວໂຫລດແລະຕິດຕັ້ງ HALCON ຜ່ານ MVTec Software Manager (SOM). SOM ເປັນຜູ້ຈັດການການຕິດຕັ້ງສໍາລັບຊຸດຊອບແວ. ມັນສະຫນອງການເຂົ້າເຖິງ cata-log ຫ່າງໄກສອກຫຼີກຂອງຜະລິດຕະພັນ, ແລະສະຫນັບສະຫນູນ, ໃນບັນດາລັກສະນະອື່ນໆ, ການດາວໂຫຼດແລະການຕິດຕັ້ງຫຸ້ມຫໍ່. ການແນະນໍາຂັ້ນຕອນໂດຍຂັ້ນຕອນກ່ຽວກັບວິທີການຕິດຕັ້ງ HALCON ຜ່ານ SOM ສາມາດພົບໄດ້ໃນຄູ່ມືການຕິດຕັ້ງ.

ສະຖາປັດຕະຍະກຳ HALCON

ສະຖາປັດຕະຍະກຳພື້ນຖານຂອງ HALCON ແມ່ນສະແດງຢູ່ໃນຮູບ 2.1. ສ່ວນຕົ້ນຕໍແມ່ນຫ້ອງສະຫມຸດປະມວນຜົນຮູບພາບ, ເຊິ່ງປະກອບດ້ວຍຫຼາຍກ່ວາ 2000 ຜູ້ປະກອບການ. ນອກນັ້ນທ່ານຍັງສາມາດພັດທະນາຕົວປະຕິບັດການຂອງທ່ານເອງໃນຮູບແບບຂອງອັນທີ່ເອີ້ນວ່າ ex-tension packages (ຫນ້າ 11). ທ່ານໃຊ້ຕົວປະຕິບັດການໃນແອັບພລິເຄຊັນຂອງທ່ານຜ່ານການໂຕ້ຕອບພາສາ (ໜ້າ 11) ເຊັ່ນ: HALCON/C++ ຫຼື HALCON/Python. ເຫຼົ່ານີ້ແມ່ນຫ້ອງສະຫມຸດທີ່ອະນຸຍາດໃຫ້ນໍາໃຊ້ໂດຍກົງຂອງຕົວປະຕິບັດການໃນຮູບແບບການຂຽນໂປລແກລມປົກກະຕິຂອງພາສາການຂຽນໂປຼແກຼມທີ່ແຕກຕ່າງກັນ.

HALCON-21-11-Progress-01

ຮູບທີ 2.1: ສະຖາປັດຕະຍະກໍາພື້ນຖານຂອງ HALCON.

ສໍາລັບການເຂົ້າເຖິງອຸປະກອນການໄດ້ມາຮູບພາບ, HALCON ສະຫນອງການໂຕ້ຕອບການໄດ້ມາຮູບພາບ (ຫນ້າ 13) ເຊິ່ງອະນຸຍາດໃຫ້ທ່ານໃຊ້ອຸປະກອນການໄດ້ມາທີ່ແຕກຕ່າງກັນຫຼາຍໃນທາງທົ່ວໄປ. ຫ້ອງສະໝຸດທີ່ປະກອບດ້ວຍການຈັດຕັ້ງປະຕິບັດສະເພາະຂອງອຸປະກອນຈະຖືກໂຫຼດແບບໄດນາມິກເມື່ອຕ້ອງການ. ໃນລັກສະນະດຽວກັນ, ອຸປະກອນ I/O ແມ່ນເຂົ້າເຖິງໄດ້ໂດຍຜ່ານການໂຕ້ຕອບ I/O ສະເພາະອຸປະກອນ (ໜ້າ 13).

ຜູ້ປະກອບການ

ເມື່ອໃດກໍ່ຕາມປະເພດຂອງການທໍາງານຖືກນໍາໃຊ້ຈາກຫ້ອງສະຫມຸດ HALCON, ມັນເຮັດຜ່ານຕົວປະຕິບັດການ. ສ່ວນໃຫຍ່ຂອງພວກເຂົາປະກອບດ້ວຍຫຼາຍວິທີການ, ເຊິ່ງຖືກເລືອກຜ່ານພາລາມິເຕີ. ບັນຊີລາຍຊື່ເຕັມຂອງຕົວປະຕິບັດການທັງຫມົດສາມາດພົບໄດ້ຢູ່ໃນ HALCON Operator Reference ທີ່ມີຢູ່ໃນ HDevelop, .NET, Python, C++, ແລະ C syntax. ຄຸນ​ນະ​ສົມ​ບັດ​ທີ່​ສໍາ​ຄັນ​ຂອງ​ປະ​ຕິ​ບັດ​ການ​ແມ່ນ​:

  • ບໍ່ມີລໍາດັບຊັ້ນລະຫວ່າງຕົວປະຕິບັດການ. ຈາກຈຸດສະຖາປັດຕະຍະກໍາຊອບແວຂອງ view, ຜູ້ປະກອບການທັງຫມົດຢູ່ໃນລະດັບດຽວກັນ.
  • ແນ່ນອນ, ມີກຸ່ມຜູ້ປະກອບການທີ່ມີເຫດຜົນ. ຕົວຢ່າງampດັ່ງນັ້ນ, ນີ້ສາມາດເຫັນໄດ້ໂດຍຫ້ອງຮຽນທີ່ສະເຫນີສໍາລັບ C ++ ແລະ .NET, ບ່ອນທີ່ຜູ້ປະກອບການປະມວນຜົນຂໍ້ມູນປະເພດດຽວກັນແມ່ນຫນ້າທີ່ສະມາຊິກຂອງຊັ້ນຮຽນທີ່ສອດຄ້ອງກັນ.
  • ການອອກແບບຂອງຜູ້ປະຕິບັດງານປະຕິບັດຕາມກົດລະບຽບຂອງຖາປັດຕະຍະເປີດ. ດັ່ງນັ້ນ, ທ່ານສາມາດສ້າງ op-erators ຂອງທ່ານເອງແລະດັ່ງນັ້ນຈຶ່ງຂະຫຍາຍ HALCON (ເບິ່ງພາກ 2.2). ຄູ່ມືໂຄງການ Extension Package ປະກອບດ້ວຍຂໍ້ມູນລະອຽດກ່ຽວກັບການຂະຫຍາຍຫ້ອງສະໝຸດຕົວປະຕິບັດການ.
  • ຜູ້ປະກອບການຈໍານວນຫຼາຍສາມາດເຮັດໃຫ້ການນໍາໃຊ້ໂປ່ງໃສຂອງຂະຫນານອັດຕະໂນມັດ, ເຊິ່ງຊ່ວຍໃຫ້ມີວິທີທີ່ງ່າຍໃນການເລັ່ງໂປລແກລມໃນເວລາທີ່ນໍາໃຊ້ຮູບພາບຂະຫນາດໃຫຍ່ໃນຄອມພິວເຕີຫຼາຍໂປເຊດເຊີຫຼືຫຼາຍແກນ. ຂໍ້ມູນລະອຽດກ່ຽວກັບການຂຽນໂປລແກລມຂະຫນານສາມາດພົບໄດ້ໃນບັນທຶກດ້ານວິຊາການຂອງການຂຽນໂປລແກລມຂະຫນານ, ເຊັ່ນດຽວກັນກັບໃນຄູ່ມືຂອງ Program-mer.
  • ຜູ້ປະຕິບັດການມີກົດລະບຽບມາດຕະຖານສໍາລັບການສັ່ງພາລາມິເຕີການປ້ອນຂໍ້ມູນແລະຜົນຜະລິດ: input iconic, output iconic, input control, and output control (ເບິ່ງພາກ 2.1.1). ບໍ່ແມ່ນກຸ່ມທັງໝົດອາດຈະຕ້ອງການສໍາລັບຜູ້ປະກອບການທີ່ໃຫ້. ໂດຍທົ່ວໄປ, ຕົວກໍານົດການປ້ອນຂໍ້ມູນຂອງຕົວປະຕິບັດການບໍ່ໄດ້ຖືກດັດແປງ, ເຊິ່ງສົ່ງຜົນໃຫ້ມີຄວາມຊັດເຈນແລະງ່າຍດາຍ. ມີພຽງແຕ່ບາງຂໍ້ຍົກເວັ້ນຕໍ່ກັບການອອກແບບນີ້, ຕົວຢ່າງ, set_grayval, overpaint_grey, ແລະ overpaint_region.

ພາລາມິເຕີແລະໂຄງສ້າງຂໍ້ມູນ
HALCON ມີສອງປະເພດພື້ນຖານຂອງຕົວກໍານົດການ: ຂໍ້ມູນສັນຍາລັກແລະຂໍ້ມູນການຄວບຄຸມ. ຮູບພາບ, ພາກພື້ນ, ແລະ XLDs (eXtented Line Description) ເປັນຂອງຂໍ້ມູນສັນຍາລັກ.

ຮູບພາບ ປະກອບດ້ວຍຊ່ອງທາງສ່ວນໃຫຍ່, ie, matrices ທີ່ມີຄ່າ pixels. ຊ່ອງທັງໝົດຂອງຮູບມີຂະໜາດດຽວກັນ. ສໍາລັບລາຍລະອຽດກ່ຽວກັບ pixels ແລະຊ່ອງ, ກະລຸນາອ່ານບົດ "ຮູບພາບ" ຂອງການອ້າງອີງຜູ້ປະກອບການ HALCON.
ສໍາລັບແຕ່ລະຮູບພາບ, ອັນທີ່ເອີ້ນວ່າພາກພື້ນທີ່ມີຄວາມສົນໃຈ (ROI) ກໍານົດວ່າສ່ວນໃດຂອງຮູບພາບໄດ້ຖືກປະມວນຜົນ. ROI ສາມາດຖືກກໍານົດຫຼາຍທີ່ມີຄວາມຍືດຫຍຸ່ນ (ຈາກສີ່ຫລ່ຽມງ່າຍດາຍໄປຫາຊຸດຂອງ pixels ທີ່ບໍ່ເຊື່ອມຕໍ່). ສໍາລັບລາຍລະອຽດກ່ຽວກັບການຈັດການ ROI ເບິ່ງຄູ່ມືການແກ້ໄຂ I, Region of Interest ໃນຫນ້າ 27.

ພາກພື້ນ ແມ່ນຊຸດຂອງ pixels. pixels ຂອງພາກພື້ນບໍ່ຈໍາເປັນຕ້ອງເຊື່ອມຕໍ່. ເຖິງແມ່ນວ່າການລວບລວມ pixels ທີ່ບໍ່ມັກສາມາດຖືກຈັດການເປັນພາກພື້ນດຽວ. ດ້ວຍການເຊື່ອມຕໍ່ຕົວປະຕິບັດການ, ພາກພື້ນສາມາດແບ່ງອອກເປັນພາກພື້ນທີ່ເຊື່ອມຕໍ່ຂອງມັນ, ເຊັ່ນ, ອົງປະກອບທີ່ປະກອບດ້ວຍ pixels ເຊື່ອມຕໍ່.

XLDs ປະ​ກອບ​ດ້ວຍ​ຂໍ້​ມູນ contour ແລະ polygon ທັງ​ຫມົດ​. ຕົວປະຕິບັດການທີ່ມີຄວາມຖືກຕ້ອງຂອງ subpixel ເຊັ່ນ edges_sub_pix ສົ່ງຄືນຮູບຊົງເປັນຂໍ້ມູນ XLD. Contour ແມ່ນລໍາດັບຂອງຈຸດຄວບຄຸມ 2D, ເຊິ່ງເຊື່ອມຕໍ່ກັນໂດຍສາຍ. ໂດຍປົກກະຕິ, ໄລຍະຫ່າງລະຫວ່າງຈຸດຄວບຄຸມແມ່ນປະມານຫນຶ່ງ pixels. ວັດຖຸ XLD ປະກອບມີ, ນອກຈາກຈຸດຄວບຄຸມ, ອັນທີ່ເອີ້ນວ່າຄຸນລັກສະນະທ້ອງຖິ່ນແລະທົ່ວໂລກ. ທົ່ວໄປ examples ສໍາລັບການເຫຼົ່ານີ້ແມ່ນ, ຕົວຢ່າງ, ແຂບ amplitude ຂອງຈຸດຄວບຄຸມຫຼືຕົວກໍານົດການ regression ຂອງພາກສ່ວນ contour. ນອກເຫນືອຈາກການສະກັດເອົາວັດຖຸ XLD, HALCON ສະຫນັບສະຫນູນການປຸງແຕ່ງຕື່ມອີກ. ຕົວຢ່າງamples ສໍາລັບການນີ້ແມ່ນການຄັດເລືອກຂອງ contours ໂດຍອີງໃສ່ຂອບເຂດຄຸນນະສົມບັດສໍາລັບການແບ່ງສ່ວນຂອງ contour ເປັນເສັ້ນ, arcs, polygons ຫຼືຂະຫນານ.

ຂໍ້​ມູນ​ການ​ຄວບ​ຄຸມ​ປະ​ກອບ​ມີ handles ແລະ​ປະ​ເພດ​ຂໍ້​ມູນ​ພື້ນ​ຖານ​ເຊັ່ນ​: integer​, ຈິງ​, string​.

ມືຈັບ ແມ່ນການອ້າງອີງເຖິງໂຄງສ້າງຂໍ້ມູນທີ່ຊັບຊ້ອນ, ຕົວຢ່າງ: ການເຊື່ອມຕໍ່ກັບການໂຕ້ຕອບການໄດ້ມາຂອງຮູບພາບ ຫຼືຕົວແບບສໍາລັບການຈັບຄູ່ຕາມຮູບຮ່າງ. ສໍາລັບເຫດຜົນດ້ານປະສິດທິພາບແລະຄວາມປອດໄພຂອງຂໍ້ມູນ, ບໍ່ແມ່ນໂຄງສ້າງທັງຫມົດ, ແຕ່ວ່າພຽງແຕ່ການຈັບແມ່ນຜ່ານລະຫວ່າງຜູ້ປະກອບການ. Handles ແມ່ນຄ່າ magic ທີ່ຈະຕ້ອງບໍ່ປ່ຽນແປງແລະສາມາດແຕກຕ່າງຈາກການປະຕິບັດໄປຫາການປະຕິບັດແລະສະບັບຕໍ່ສະບັບ. ພວກມັນຖືກລຶບລ້າງໂດຍອັດຕະໂນມັດເມື່ອການອ້າງອີງທັງໝົດຖືກຂຽນທັບ. ຕົວຢ່າງamples ບ່ອນທີ່ handles ຖືກນໍາໃຊ້ແມ່ນປ່ອງຢ້ຽມກາຟິກ, files, ຊັອກເກັດ, ການໂຕ້ຕອບການໄດ້ມາຂອງຮູບພາບ, OCR, OCV, ການວັດແທກແລະການຈັບຄູ່.

ແພັກເກດສ່ວນຂະຫຍາຍ

HALCON ອາດຈະຖືກຂະຫຍາຍອອກໂດຍຜູ້ປະກອບການໃຫມ່. ເຖິງແມ່ນວ່າ HALCON ມີຊຸດຕົວປະຕິບັດການທີ່ອຸດົມສົມບູນສໍາລັບວຽກງານຕ່າງໆ, ທ່ານອາດຕ້ອງການປະຕິບັດຕົວປະຕິບັດການໃຫມ່, ເຊັ່ນ, ເຂົ້າເຖິງຮາດແວພິເສດຫຼືປະຕິບັດວິທີການທາງເລືອກ. ເພື່ອເຮັດສິ່ງນີ້, HALCON ສະຫນອງການໂຕ້ຕອບການຂະຫຍາຍການຫຸ້ມຫໍ່, ເຊິ່ງອະນຸຍາດໃຫ້ການລວມຕົວຂອງຕົວປະຕິບັດການໃຫມ່ (ປະຕິບັດໃນ C) ໃນຮູບແບບຂອງອັນທີ່ເອີ້ນວ່າຊຸດການຂະຫຍາຍ. Extension Package Interface ປະກອບມີຫຼາຍລາຍການທີ່ກຳນົດໄວ້ລ່ວງໜ້າ ແລະມາໂຄຣເພື່ອການຈັດການຂໍ້ມູນຮູບພາບ ແລະວັດຖຸໜ່ວຍຄວາມຈຳໃນ C. ເມື່ອຕົວປະຕິບັດການໃໝ່ໄດ້ຖືກລວມເຂົ້າກັນຢ່າງສຳເລັດຜົນ, ມັນສາມາດນຳໃຊ້ໄດ້ຄືກັບໂຕປະຕິບັດການ HALCON ອື່ນໆ. ຄູ່ມືໂຄງການ Extension Package ປະກອບດ້ວຍຂໍ້ມູນລະອຽດກ່ຽວກັບການຂະຫຍາຍຫ້ອງສະໝຸດຕົວປະຕິບັດການ.

ການໂຕ້ຕອບພາສາ

ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບ 2.1 ໃນຫນ້າ 9, HALCON ສະຫນອງອັນທີ່ເອີ້ນວ່າການໂຕ້ຕອບພາສາ. ເຫຼົ່ານີ້ແມ່ນການຜູກມັດພາສາພື້ນເມືອງ, ທີ່ຊ່ວຍໃຫ້ທ່ານສາມາດໂທຫາຜູ້ປະກອບການແລະນໍາໃຊ້ປະເພດຂໍ້ມູນ HALCON ໂດຍກົງຈາກພາຍໃນແອັບພລິເຄຊັນຂອງທ່ານ, ບໍ່ວ່າຈະເປັນ Python, C, C++, ຫຼື .NET.
ເພື່ອເລີ່ມຕົ້ນການພັດທະນາ, ພວກເຮົາແນະນໍາໃຫ້ທໍາອິດກວດເບິ່ງຫນຶ່ງທີ່ພ້ອມທີ່ຈະດໍາເນີນການ exampໂຄງການ le. ທີ່ນີ້, ທ່ານສາມາດເບິ່ງວິທີການໂຄງການຕ້ອງໄດ້ຮັບການສ້າງຕັ້ງຂຶ້ນແລະວິທີການປະຕິບັດການແລະປະເພດຖືກນໍາໃຊ້.
ສໍາລັບແຕ່ລະພາສາໃນການໂຕ້ຕອບ, ຊື່ຂອງປະເພດ, ຫ້ອງຮຽນ, ສົນທິສັນຍາການຕັ້ງຊື່ຂອງຕົວປະຕິບັດການ, ແລະອື່ນໆອາດຈະແຕກຕ່າງກັນເພື່ອໃຫ້ສອດຄ່ອງກັບກົດລະບຽບປົກກະຕິທີ່ນໍາໃຊ້ສໍາລັບພາສາທີ່ເລືອກ. ລາຍເຊັນຂອງຜູ້ປະຕິບັດການສໍາລັບພາສາການຂຽນໂປລແກລມທີ່ສະຫນັບສະຫນູນແມ່ນໄດ້ຖືກບັນທຶກໄວ້ໃນເອກະສານອ້າງອີງຂອງຜູ້ປະກອບການ HALCON.

HALCON/Python
ການໂຕ້ຕອບ Python ໂດດເດັ່ນສໍາລັບຄວາມງ່າຍດາຍແລະຄວາມສາມາດຂອງມັນສໍາລັບການສ້າງຕົວແບບຢ່າງໄວວາ. ໂຕປະຕິບັດການ HALCON ຖືກເອີ້ນໂດຍກົງເປັນຫນ້າທີ່ໂດດດ່ຽວ, ຫຼັງຈາກນໍາເຂົ້າໂມດູນ HALCON/Python. ໃຫ້ສັງເກດວ່າຕົວກໍານົດການຂອງຕົວປະຕິບັດການໃນ HALCON / Python ຖືກແບ່ງອອກເປັນຕົວກໍານົດການຟັງຊັນ (ວັດສະດຸປ້ອນ) ແລະຄ່າກັບຄືນ (ຜົນຜະລິດ).

Example
ລະຫັດຕໍ່ໄປນີ້ຈະອ່ານຮູບພາບໃດໜຶ່ງ ແລະຄຳນວນຈຳນວນພາກພື້ນທີ່ເຊື່ອມຕໍ່ (ໜ້າ 10) ໃນນັ້ນ.
img = ha.read_image('pcb')
ພາກພື້ນ = ha.threshold(img, 0, 122)
num_regions = ha.count_obj(ha.connection(region))
ພິມ(f'ຈຳນວນພາກພື້ນ: {num_regions}')

ສໍາລັບເງື່ອນໄຂເບື້ອງຕົ້ນ ແລະລາຍລະອຽດການຍ່າງຜ່ານ, ກະລຸນາເບິ່ງຄູ່ມືໂປຣແກຣມເມີ, ພາກທີ 4, A First Exampເລ.

HALCON/C
ການໂຕ້ຕອບ C ແມ່ນການໂຕ້ຕອບທີ່ງ່າຍດາຍທີ່ສຸດທີ່ສະຫນັບສະຫນູນໂດຍ HALCON. ແຕ່ລະຕົວປະຕິບັດການແມ່ນເປັນຕົວແທນໂດຍຫນຶ່ງຫຼືສອງຟັງຊັນທົ່ວໂລກທີ່ຊື່ຕົວປະຕິບັດການແລະລໍາດັບພາລາມິເຕີແມ່ນຄືກັນກັບພາສາ HDevelop.

Example
ລະຫັດຕໍ່ໄປນີ້ຈະອ່ານຮູບພາບໃດໜຶ່ງ ແລະຄຳນວນຈຳນວນພາກພື້ນທີ່ເຊື່ອມຕໍ່ (ໜ້າ 10) ໃນນັ້ນ.
Hobject img;
read_image(&img, "pcb");
ພາກພື້ນ Hobject;
threshold(img, ®ion, 0, 122);
Hobject connected_regions;
ການເຊື່ອມຕໍ່(ພາກພື້ນ, &Connected_regions);
Hlong num_regions = 0;
count_obj(connected_regions, &num_regions);
printf(“ຈຳນວນພາກພື້ນ: %” PRIdPTR “\n”, num_regions);

ສໍາລັບເງື່ອນໄຂເບື້ອງຕົ້ນ ແລະລາຍລະອຽດການຍ່າງຜ່ານ, ກະລຸນາເບິ່ງຄູ່ມືໂປຣແກຣມເມີ, ພາກທີ 5, A First Exampເລ.

HALCON/C++
ການໂຕ້ຕອບ C ++ ແມ່ນມີຄວາມຊັບຊ້ອນຫຼາຍກ່ວາການໂຕ້ຕອບ C. ທີ່ນີ້, advan ໄດ້tages ຂອງ C ++ ແລະການຂຽນໂປລແກລມແບບວັດຖຸແມ່ນຖືກນໍາໃຊ້, ie, ການແປງປະເພດອັດຕະໂນມັດ, ການກໍ່ສ້າງແລະການທໍາລາຍ, ຫຼືຫນ້າທີ່ຈັດກຸ່ມຮ່ວມກັນກັບຂໍ້ມູນຂອງເຂົາເຈົ້າເຂົ້າໄປໃນຫ້ອງຮຽນ. ເຊັ່ນດຽວກັນກັບໃນການໂຕ້ຕອບ C, ຫນ້າທີ່ທົ່ວໂລກສໍາລັບແຕ່ລະປະຕິບັດການ HALCON ແມ່ນສະຫນອງໃຫ້ສໍາລັບຮູບແບບຂັ້ນຕອນຂອງການດໍາເນີນໂຄງການ.

Example
ລະຫັດຕໍ່ໄປນີ້ຈະອ່ານຮູບພາບໃດໜຶ່ງ ແລະຄຳນວນຈຳນວນພາກພື້ນທີ່ເຊື່ອມຕໍ່ (ໜ້າ 10) ໃນນັ້ນ.
HImage img{“pcb”};
ພາກພື້ນ HRregion = img.Threshold(0, 122);
Hlong numRegions = region.Connection().CountObj();
std::cout << “ຈຳນວນພາກພື້ນ: ” << numRegions << '\n';

ສໍາລັບເງື່ອນໄຂເບື້ອງຕົ້ນ ແລະລາຍລະອຽດການຍ່າງຜ່ານ, ກະລຸນາເບິ່ງຄູ່ມືໂປຣແກຣມເມີ, ພາກທີ 2, A First Exampເລ.

HALCON/.NET
C# ແລະ Visual Basic .NET ໃຊ້ HALCON ຜ່ານອິນເຕີເຟດ .NET.
Analogously ກັບ C ++, ມີສອງຮູບແບບຂອງການຂຽນໂປລແກລມ: ຂັ້ນຕອນແລະຈຸດປະສົງ. ສໍາລັບຮູບແບບຂັ້ນຕອນ, class HOperatorSet ສະຫນອງຕົວປະຕິບັດການ HALCON ທັງຫມົດ, ບ່ອນທີ່ HObject ຖືກນໍາໃຊ້ເພື່ອຈັດການຂໍ້ມູນສັນຍາລັກແລະ HTuple ແມ່ນໃຊ້ສໍາລັບຂໍ້ມູນການຄວບຄຸມ. ສໍາລັບຮູບແບບທີ່ຮັດກຸມວັດຖຸ, ຫ້ອງຮຽນເຊັ່ນ HDataCode2d, HMeasure, ຫຼື HShapeModel ແມ່ນສະຫນອງໃຫ້ສໍາລັບຫນ້າທີ່ສູນກາງ. ນອກຈາກນັ້ນ, ຫ້ອງຮຽນສໍາລັບຂໍ້ມູນສັນຍາລັກ, ຕົວຢ່າງ, HImage ຫຼື HRregion, ແມ່ນມີຢູ່.

Example
ລະຫັດຕໍ່ໄປນີ້ຈະອ່ານຮູບພາບໃດໜຶ່ງ ແລະຄຳນວນຈຳນວນພາກພື້ນທີ່ເຊື່ອມຕໍ່ (ໜ້າ 10) ໃນນັ້ນ.
HImage img = HImage ໃຫມ່(“pcb”);
ພາກພື້ນ HRregion = img.Threshold(0d, 122d);
int numRegions = region.Connection().CountObj();
Console.WriteLine(“ຈຳນວນພາກພື້ນ: ” + numRegions);

ສໍາລັບເງື່ອນໄຂເບື້ອງຕົ້ນ ແລະລາຍລະອຽດການຍ່າງຜ່ານ, ກະລຸນາເບິ່ງຄູ່ມືໂປຣແກຣມເມີ, ພາກທີ 3, A First Exampເລ.

ການໂຕ້ຕອບການຊື້ຮູບພາບ

ການໂຕ້ຕອບການໄດ້ມາຮູບພາບຂອງ HALCON ປະກອບເປັນຂົວລະຫວ່າງຊອບແວທີ່ສະໜອງໃຫ້ໂດຍຜູ້ຜະລິດອຸປະກອນການໄດ້ມາຮູບພາບ ແລະ HALCON. ພວກມັນປະກອບເປັນການໂຕ້ຕອບແບບທົ່ວໄປ, ເຊິ່ງຕ້ອງການຕົວປະຕິບັດການຂະຫນາດນ້ອຍເທົ່ານັ້ນ. ກະລຸນາເບິ່ງຄູ່ມືການແກ້ໄຂ II-A ສໍາລັບລາຍລະອຽດກ່ຽວກັບຫົວຂໍ້ນີ້.
ໃນປັດຈຸບັນ, HALCON ສະຫນອງການໂຕ້ຕອບສໍາລັບຫຼາຍກວ່າ 50 frame grabbers ແລະຫຼາຍຮ້ອຍກ້ອງຖ່າຍຮູບອຸດສາຫະກໍາໃນຮູບແບບຂອງຫ້ອງສະຫມຸດທີ່ສາມາດໂຫຼດໄດ້ແບບໄດນາມິກ (Windows: DLLs; Unix-like systems: ຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນ). ຊື່ຫໍສະໝຸດເລີ່ມຕົ້ນດ້ວຍຄຳນຳໜ້າ hAcq; ຫ້ອງສະໝຸດທີ່ລົງທ້າຍດ້ວຍຄຳຕໍ່ທ້າຍ xl ແມ່ນໃຊ້ໂດຍ HALCON XL.
ການໂຕ້ຕອບທີ່ໃຊ້ກັນຢ່າງກວ້າງຂວາງທີ່ສຸດໂດຍອີງໃສ່ມາດຕະຖານອຸດສາຫະກໍາໄດ້ຖືກຕິດຕັ້ງແລ້ວພ້ອມກັບ HALCON li-braries. ການໂຕ້ຕອບເພີ່ມເຕີມ, ເຊັ່ນດຽວກັນກັບສະບັບຫລ້າສຸດຂອງການໂຕ້ຕອບທີ່ລວມຢູ່ແລ້ວສາມາດດາວໂຫຼດໄດ້ພາຍໃຕ້ການ https://www.mvtec.com/products/interfaces. ການໂຕ້ຕອບການໄດ້ມາຮູບພາບຂອງ HALCON ອາດຈະມີການປ່ຽນແປງເລື້ອຍໆກ່ວາຫ້ອງສະຫມຸດ HALCON ເອງ. ເຫດຜົນຫນຶ່ງສໍາລັບການນີ້ແມ່ນວ່າ MVTec ຢ່າງຕໍ່ເນື່ອງພັດທະນາການໂຕ້ຕອບໃຫມ່; ນອກຈາກນັ້ນ, ຖ້າຊອບແວທີ່ຜູ້ຜະລິດອຸປະກອນການມາຮູບພາບມີການປ່ຽນແປງ, ຕົວຢ່າງ, ຖ້າລັກສະນະໃຫມ່ຖືກປະສົມປະສານ, ການໂຕ້ຕອບ HALCON ທີ່ສອດຄ້ອງກັນຈະຖືກດັດແປງ. ກະ​ລຸ​ນາ​ເບິ່ງ​ການ​ອ້າງ​ອີງ​ການ​ໂຕ້​ຕອບ​ການ​ໄດ້​ຮັບ​ຮູບ​ພາບ​ສໍາ​ລັບ​ບັນ​ຊີ​ລາຍ​ການ​ອັນ​ເຕັມ​ທີ່​ຂອງ​ການ​ໂຕ້​ຕອບ​ການ​ໄດ້​ຮັບ​ຮູບ​ພາບ​ສະ​ຫນັບ​ສະ​ຫນູນ​.
ເມື່ອທ່ານຕິດຕັ້ງອຸປະກອນການໄດ້ຮັບຮູບພາບຂອງທ່ານຢ່າງສໍາເລັດຜົນ, ທັງຫມົດທີ່ທ່ານຈໍາເປັນຕ້ອງເຮັດເພື່ອເຂົ້າເຖິງມັນຈາກ HALCON ແມ່ນເພື່ອໂທຫາຜູ້ປະກອບການ open_framegrabber, ລະບຸຊື່ຂອງການໂຕ້ຕອບການໄດ້ມາຮູບພາບແລະບາງຂໍ້ມູນເພີ່ມເຕີມ, ຕົວຢ່າງ, ກ່ຽວກັບກ້ອງຖ່າຍຮູບທີ່ເຊື່ອມຕໍ່. ຫຼັງຈາກນັ້ນ, ຮູບພາບຕ່າງໆສາມາດຈັບໄດ້ໂດຍການໂທຫາຜູ້ປະກອບການ grab_image (ຫຼື grab_image_async).

ການໂຕ້ຕອບ I/O

HALCON ສະຫນອງການໂຕ້ຕອບສໍາລັບອຸປະກອນ I/O ຫຼາຍອັນເພື່ອເປີດໃຊ້ການເກັບຂໍ້ມູນ. ການໂຕ້ຕອບເຫຼົ່ານີ້ແມ່ນມີຢູ່ໃນຫ້ອງສະຫມຸດທີ່ສາມາດໂຫຼດໄດ້ແບບໄດນາມິກ (Windows: DLLs; Unix-like systems: shared libraries). ຊື່ຫໍສະໝຸດເລີ່ມຕົ້ນດ້ວຍຄຳນຳໜ້າ hio; ຫ້ອງສະໝຸດທີ່ລົງທ້າຍດ້ວຍຄຳຕໍ່ທ້າຍ xl ແມ່ນໃຊ້ໂດຍ HALCON XL.
ການໂຕ້ຕອບອຸປະກອນ HALCON I/O ໃຫ້ການເຂົ້າເຖິງອຸປະກອນ I/O ທີ່ແຕກຕ່າງກັນໂດຍນໍາໃຊ້ຊຸດຕົວປະຕິບັດການຂະຫນາດນ້ອຍ. ຫຼັງຈາກທີ່ທ່ານໄດ້ຕິດຕັ້ງອຸປະກອນ I/O ຂອງທ່ານແລ້ວ, ການເຊື່ອມຕໍ່ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນໂດຍໃຊ້ຕົວປະຕິບັດການ open_io_device, ລະບຸຊື່ຂອງສ່ວນຕິດຕໍ່ອຸປະກອນ I/O ແລະ, ທາງເລືອກ, ບາງຕົວກໍານົດການສະເພາະອຸປະກອນ. ເມື່ອການເຊື່ອມຕໍ່ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນ, ຊ່ອງທາງການສົ່ງສາມາດເປີດໄດ້ໂດຍການໂທຫາ open_io_channel. ເພື່ອອ່ານແລະຂຽນຄຸນຄ່າໃນຊ່ອງນີ້, ໃຫ້ໃຊ້ຕົວປະຕິບັດການ read_io_channel ແລະ write_io_channel, ຕາມລໍາດັບ.
ກະລຸນາຮັບຊາບວ່າສ່ວນຕິດຕໍ່ອຸປະກອນ HALCON I/O ອາດຈະປ່ຽນແປງເລື້ອຍໆກວ່າຫ້ອງສະໝຸດ HALCON ເອງ. ທ່ານສາມາດຊອກຫາຂໍ້ມູນຫຼ້າສຸດຮ່ວມກັນກັບການໂຕ້ຕອບທີ່ສາມາດດາວໂຫລດໄດ້ (ລວມທັງເອກະສານ) ພາຍໃຕ້ https://www.mvtec.com/products/interfaces. ກະລຸນາອ້າງອີງເຖິງ I/O Device Interface Reference ສໍາລັບບັນຊີລາຍຊື່ເຕັມຂອງການໂຕ້ຕອບອຸປະກອນ I/O ທີ່ຮອງຮັບ.

ວິທີການພັດທະນາແອັບພລິເຄຊັນ

ພວກເຮົາແນະນໍາໃຫ້ທ່ານເລີ່ມຕົ້ນດ້ວຍຕົວແບບຢ່າງໄວໃນ HDevelop, ສະພາບແວດລ້ອມການພັດທະນາແບບໂຕ້ຕອບສໍາລັບຫ້ອງສະຫມຸດວິໄສທັດຂອງເຄື່ອງຈັກ HALCON. ທ່ານສາມາດນໍາໃຊ້ HDevelop ເພື່ອຊອກຫາຕົວປະຕິບັດການແລະຕົວກໍານົດການທີ່ດີທີ່ສຸດເພື່ອແກ້ໄຂບັນຫາການວິເຄາະຮູບພາບຂອງທ່ານ. ຫຼັງຈາກການພັດທະນາໂຄງການ HDevelop ຕາມຄວາມຕ້ອງການທີ່ກໍານົດໄວ້, ມັນຕ້ອງໄດ້ຮັບການແປເປັນສະພາບແວດລ້ອມສຸດທ້າຍຂອງມັນ. ສໍາລັບນີ້, ທ່ານສາມາດເລືອກລະຫວ່າງສາມວິທີການດັ່ງຕໍ່ໄປນີ້, ຂຶ້ນກັບຄວາມມັກຂອງທ່ານ:

  • ເລີ່ມຈາກ Scratch: ການ​ຂຽນ​ໂປຣ​ແກຣມ​ຂອງ​ທ່ານ​ແຕ່​ຕົ້ນ​ໝາຍ​ເຖິງ​ການ​ແປ​ລະ​ຫັດ HDevelop ຂອງ​ທ່ານ​ເປັນ​ພາ​ສາ​ໂປຣ​ແກຣມ​ເປົ້າ​ໝາຍ (C++, Python…) ດ້ວຍ​ຕົນ​ເອງ. ດັ່ງທີ່ໄດ້ກ່າວມາກ່ອນ, ສົນທິສັນຍາການຕັ້ງຊື່ຂອງຕົວປະຕິບັດການ, ຊື່ຂອງຫ້ອງຮຽນ, ແລະອື່ນໆ, ອາດຈະແຕກຕ່າງກັນລະຫວ່າງພາສາການຂຽນໂປຼແກຼມ. ກວດເບິ່ງການອ້າງອິງຜູ້ປະຕິບັດການ HALCON ເພື່ອໃຫ້ໄດ້ຮັບລາຍເຊັນຂອງຜູ້ປະກອບການ HALCON ສໍາລັບແຕ່ລະພາສາການຂຽນໂປຼແກຼມທີ່ສະຫນັບສະຫນູນ. ສໍາລັບຂໍ້ມູນກ່ຽວກັບວິທີການສ້າງຄໍາຮ້ອງສະຫມັກໃນພາສາເປົ້າຫມາຍທີ່ຕ້ອງການຂອງທ່ານ, ກະລຸນາອ່ານຄູ່ມືໂຄງການ.
  • ສົ່ງອອກລະຫັດ HDevelop: ແປລະຫັດ HDevelop ຂອງທ່ານໃນພາສາການຂຽນໂປລແກລມເປົ້າຫມາຍອັດຕະໂນມັດໂດຍໃຊ້ການສົ່ງອອກລະຫັດຂອງ HDevelop.
  • ໂຄງການຫໍສະໝຸດສົ່ງອອກ: ການສົ່ງອອກຫ້ອງສະຫມຸດຂອງ HDevelop ສ້າງໂຟນເດີໂຄງການທີ່ພ້ອມທີ່ຈະໃຊ້, ລວມທັງ wrap-per code ໃນພາສາເປົ້າຫມາຍແລະ CMake. file ເພື່ອສ້າງໂຄງການ. ການສົ່ງອອກຫ້ອງສະໝຸດຂອງ HDevelop ໃຊ້ HDevEngine, ຫ້ອງສະໝຸດທີ່ເຮັດໜ້າທີ່ເປັນນາຍພາສາ. HDevEngine ໃຫ້ທ່ານປະຕິບັດໂຄງການ HDevelop ໂດຍກົງຈາກແອັບພລິເຄຊັນທີ່ຂຽນດ້ວຍ C++ ຫຼືພາສາໃດນຶ່ງທີ່ສາມາດຮວມວັດຖຸ .NET ໄດ້. ດັ່ງນັ້ນ, ທ່ານບໍ່ຈໍາເປັນຕ້ອງລວບລວມຄໍາຮ້ອງສະຫມັກທັງຫມົດໃນເວລາທີ່ເຮັດການປ່ຽນແປງລະຫັດ HDevelop.
    ແນ່ນອນ, ທ່ານສາມາດນໍາໃຊ້ HDevEngine ໂດຍບໍ່ຕ້ອງໃຊ້ຟັງຊັນການສົ່ງອອກຫ້ອງສະຫມຸດຂອງ HDevelop. ວິທີການນໍາໃຊ້ HDevEngine ໄດ້ຖືກອະທິບາຍໄວ້ໃນລາຍລະອຽດໃນຄູ່ມືຂອງໂປລແກລມ, ພາກທີ 6 (ການນໍາໃຊ້ HDevEngine).
ພັດທະນາ HD

ລອງເບິ່ງ HDevelop ທໍາອິດ. ຮູບ 3.1 ສະແດງໃຫ້ເຫັນການໂຕ້ຕອບຜູ້ໃຊ້ຂອງ HDevelop, ຫຼັງຈາກໂຄງການໄດ້ຖືກໂຫລດແລະບາງສ່ວນໄດ້ຖືກປະຕິບັດ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ປ່ອງຢ້ຽມເຫຼົ່ານີ້ແມ່ນເຫັນໄດ້, ເຊິ່ງເປັນສິ່ງຈໍາເປັນສໍາລັບການພັດທະນາກັບ HDevelop:

  1. Graphics Window ສະແດງຜົນໄດ້ຮັບ (ລະດັບປານກາງ), ຄືຂໍ້ມູນສັນຍາລັກ (ໜ້າ 10) ເຊັ່ນ: ຮູບພາບ, ພາກພື້ນ ແລະ XLDs.
  2. Program Window ນີ້ແມ່ນບ່ອນທີ່ທ່ານພິມລະຫັດໂຄງການຂອງທ່ານ, ໂດຍໃຊ້ຕົວປະຕິບັດການ (ຫນ້າ 10) ເພື່ອເຂົ້າເຖິງວິທີການປະມວນຜົນຮູບພາບຂອງ HALCON.
  3. ປ່ອງຢ້ຽມຕົວແປສະແດງຕົວແປທັງໝົດ, ຄືຕົວແປຮູບສັນຍາລັກ ແລະຕົວແປຄວບຄຸມ. ຕົວແປໄອຄອນມີຂໍ້ມູນສັນຍາລັກ (ໜ້າ 10) ແລະຕົວແປຄວບຄຸມມີຂໍ້ມູນການຄວບຄຸມ (ໜ້າ 10).

ຂໍ້ມູນລະອຽດກ່ຽວກັບ HDevelop ສາມາດພົບໄດ້ໃນຄູ່ມືຜູ້ໃຊ້ HDevelop. ວິດີໂອການສອນຂອງພວກເຮົາຍັງສະເໜີການແນະນຳທີ່ດີຕໍ່ HDevelop:

  • HDevelop Tutorial 01: GUI ແລະການນໍາທາງ
  • HDevelop Tutorial 02: ຕົວແປ
  • HDevelop Tutorial 03: Visualization

HALCON-21-11-Progress-02

ຮູບທີ 3.1: ການໂຕ້ຕອບຜູ້ໃຊ້ HDevelop.

Exampໂຄງການ

ຕອນນີ້ທ່ານໄດ້ຖືກນໍາໄປໃຊ້ໃນການໂຕ້ຕອບຜູ້ໃຊ້ຂອງ HDevelop ແລະແນວຄວາມຄິດພື້ນຖານຂອງ HALCON (ຫນ້າ 9), ໃຫ້ພວກເຮົາພັດທະນາຄໍາຮ້ອງສະຫມັກ C++ ໂດຍໃຊ້ Library Export Approach.
ນອກ​ເໜືອ​ໄປ​ຈາກ​ຄຳ​ແນະ​ນຳ​ຂັ້ນ​ຕອນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້, ພວກ​ເຮົາ​ຂໍ​ແນະ​ນຳ​ໃຫ້​ທ່ານ​ເບິ່ງ​ວິ​ດີ​ໂອ​ການ​ສອນ​ຂອງ​ພວກ​ເຮົາ: ລວມ​ລະ​ຫັດ HDevelop ເຂົ້າ​ໄປ​ໃນ​ແອັບ​ພລິ​ເຄ​ຊັນ C++ ໂດຍ​ໃຊ້ Library Project Export.
ລວມລະຫັດ HDevelop ເຂົ້າໄປໃນແອັບພລິເຄຊັນ C# ໂດຍໃຊ້ Library Project Export
ວິດີໂອສະແດງໃຫ້ເຫັນການສົ່ງອອກຫ້ອງສະຫມຸດແລະສະຫນອງຂໍ້ມູນພື້ນຖານເພີ່ມເຕີມກ່ຽວກັບຫົວຂໍ້.

ສ້າງຕົວແບບໃນ HDevelop
ວຽກງານຂອງດັ່ງຕໍ່ໄປນີ້ example ແມ່ນ ການ ອ່ານ ຮູບ ພາບ ແລະ ນັບ ຈໍາ ນວນ ຂອງ ພາກ ພື້ນ ທີ່ ເຊື່ອມ ຕໍ່ ກັບ ມັນ.

  1. ເປີດ HDevelop ແລະໃສ່ລະຫັດຕໍ່ໄປນີ້ເຂົ້າໄປໃນປ່ອງຢ້ຽມໂຄງການ:
    read_image (ຮູບ, 'pcb')
    ເກນ (ຮູບ, ພາກພື້ນ, 0, 122)
    ການເຊື່ອມຕໍ່ (ພາກພື້ນ, ພາກພື້ນທີ່ເຊື່ອມຕໍ່)
    count_obj (ConnectedRegions, Number)
  2. ທົດສອບໂຄງການຂອງທ່ານໂດຍການຄລິກທີ່ Run ໃນແຖບເຄື່ອງມື ຫຼືກົດ F5 .

ເພື່ອປະສົມປະສານລະຫັດ HDevelop ເຂົ້າໄປໃນແອັບພລິເຄຊັນຕົວຈິງໄດ້ງ່າຍຂຶ້ນ, ພວກເຮົາປະກອບພາກສ່ວນວິໄສທັດຂອງເຄື່ອງຈັກໃນຂັ້ນຕອນທ້ອງຖິ່ນ.

  1. ເນັ້ນເສັ້ນລະຫັດຕໍ່ໄປນີ້: threshold (ຮູບພາບ, ພາກພື້ນ, 0, 122) ການເຊື່ອມຕໍ່ (ພາກພື້ນ, ConnectedRegions) count_obj (ConnectedRegions, Number)
  2. ຄລິກຂວາເພື່ອເປີດເມນູບໍລິບົດ.
  3. ເລືອກສ້າງຂັ້ນຕອນໃຫມ່.
  4. ຊື່ມັນ count_regions.
  5. ເລືອກພາລາມິເຕີແລະປ່ຽນໂຄງການຄັດເລືອກເປັນຫນ້າທໍາອິດ, ອອກສຸດທ້າຍ.
  6. ຢືນຢັນດ້ວຍ OK.
  7. ບັນທຶກໂຄງການ HDevelop ຂອງທ່ານເປັນ hdev_count_regions.hdev

ກະກຽມໂຄງການ Visual Studio
ໃນນີ້ example, ພວກເຮົາຈະໃຊ້ Visual Studio 2019. 1

  1. ສ້າງໂຄງການ C++ Windows Console ຫວ່າງເປົ່າ ແລະຕັ້ງຊື່ມັນ vs_count_regions. ກະ​ລຸ​ນາ​ເປີດ​ນໍາ​ໃຊ້​ທາງ​ເລືອກ​ການ​ແກ້​ໄຂ​ສະ​ຖານ​ທີ່​ແລະ​ໂຄງ​ການ​ໃນ​ລະ​ບົບ​ດຽວ​ກັນ​. 2
  2. ເພີ່ມແຫຼ່ງ C++ file (ໂຄງການເມນູເພີ່ມລາຍການໃຫມ່… C++ File) ແລະຕັ້ງຊື່ມັນ vs_count_regions.cpp.
  3. ເລືອກເວທີການແກ້ໄຂ x64 ຈາກເມນູເລື່ອນລົງໃນແຖບເຄື່ອງມື.
  4. ເປີດຄຸນສົມບັດໂຄງການຂອງທ່ານ (Menu Project vs_count_regions Properties…) ແລະເຮັດການຕັ້ງຄ່າຕໍ່ໄປນີ້:
    • ເລືອກ C/C++ General ແລະເພີ່ມລາຍການລວມເພີ່ມເຕີມຕໍ່ໄປນີ້: $(HALCONROOT)\include;$(HALCONROOT)\include\halconcpp;
    • ເລືອກ Linker General ແລະເພີ່ມລາຍຊື່ຫ້ອງສະໝຸດເພີ່ມເຕີມຕໍ່ໄປນີ້:$(HALCONROOT)\lib\$(HALCONARCH);
    • ເລືອກ Linker Input ແລະເພີ່ມການອ້າງອີງເພີ່ມເຕີມຕໍ່ໄປນີ້: halconcpp.lib;hdevenginecpp.lib;

ໂຄງການຫໍສະຫມຸດສົ່ງອອກ
ຕໍ່ໄປ, ພວກເຮົາສົ່ງອອກໂຄງການ HDevelop ຂອງພວກເຮົາ hdev_count_regions.hdev ເຂົ້າໄປໃນໂຟນເດີໂຄງການ Visual Studio ຂອງພວກເຮົາ.

  1. ເປີດໂຄງການ HDevelop ທີ່ສ້າງຂຶ້ນກ່ອນໜ້ານີ້ hdev_count_regions.hdev.
  2. ເປີດ File  ສົ່ງອອກໂຄງການຫໍສະໝຸດ...
  3. ເຮັດການຕັ້ງຄ່າຕໍ່ໄປນີ້:
    • ປ້ອນຂໍ້ມູນ file: ໂຄງການປະຈຸບັນ
    • ພາສາເປົ້າໝາຍ: C++
    • ຊື່ໂຄງການ: hdev_count_regions
    • ສະຖານທີ່ໂຄງການ: ເລືອກສະຖານທີ່ຂອງໂຄງການ Visual Studio ຂອງພວກເຮົາ vs_count_regions.
    • Namespace: hdev_count_regions
  4. ຢືນຢັນດ້ວຍການສົ່ງອອກ.

ດຽວນີ້, ໂຟນເດີໂຄງການ Visual Studio ຂອງທ່ານ vs_count_regions ຄວນມີຂໍ້ມູນຢ່າງໜ້ອຍຕໍ່ໄປນີ້:

  • vs_count_regions.cpp (ແຫຼ່ງຂໍ້ມູນ File)
  • vs_count_regions.sln (ການແກ້ໄຂ)
  • hdev_count_regions (ໂຟນເດີຈາກການສົ່ງອອກ HDevelop)
    • cmake
    • res_ hdev_ count_ ພາກພື້ນ
    • hdev _ count_ ພາກພື້ນ. hdev
  •  ແຫຼ່ງ
    • hdev_count_regions.cpp
    • hdev_count_regions.h
    • CMakeLists.txt

ປະສົມປະສານໂຄງການຫ້ອງສະຫມຸດເຂົ້າໄປໃນ Visual Studio
ສຸດທ້າຍ, ພວກເຮົາຕ້ອງປະສົມປະສານໂຄງການ HDevelop ເຂົ້າໃນໂຄງການ Visual Studio ຂອງພວກເຮົາ.

  1. ເປີດໂຄງການ Visual Studio.
  2. ເປີດໂຄງການເພີ່ມລາຍການທີ່ມີຢູ່ແລ້ວ… ແລະເລືອກ C++ file hdev_count_regions.cpp ແລະສ່ວນຫົວ file hdev_count_regions.h, ສ້າງໂດຍ HDevelop's Library Export. (ໄດ້ files ແມ່ນຢູ່ໃນໂຟນເດີ hdev_count_regions ແຫຼ່ງ.)
  3. ໃສ່ລະຫັດຕໍ່ໄປນີ້ໃສ່ vs_count_regions.cpp:
    #ລວມທັງ
    #ລວມທັງ “HalconCpp.h”
    #ລວມເອົາ “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(ຮູບ, &ຕົວເລກ);
    std::cout << “ຈຳນວນພາກພື້ນ: ” << Number.L() << '\n';
    }
  4. ປະຕິບັດໂຄງການ. → A console ເປີດ, ສະແດງຜົນໄດ້ຮັບ 'ຈໍານວນພາກພື້ນ: 43'.

ວິທີການສືບຕໍ່

ເພື່ອລົງເລິກເຂົ້າໄປໃນ HALCON, ພວກເຮົາສະເຫນີເອກະສານເພີ່ມເຕີມແລະການສະຫນັບສະຫນູນ.

  • HDevelop Example Programs
    HALCON ສະຫນອງຊຸດທີ່ກວ້າງຂວາງຂອງ example ບັນດາໂຄງການ, ບໍ່ພຽງແຕ່ສໍາລັບ HDevelop ແຕ່ຍັງສໍາລັບພາສາການຂຽນໂປຼແກຼມທີ່ແຕກຕ່າງກັນ. ເຫຼົ່ານີ້ examples ສາມາດພົບເຫັນຢູ່ໃນໄດເລກະທໍລີທີ່ສະແດງໂດຍຕົວແປສະພາບແວດລ້ອມ % HALCONEXAMPLES% ຫຼື, ຖ້າຕົວແປບໍ່ໄດ້ຕັ້ງ, ໃນ subdirectory examples ຂອງໂຟນເດີທີ່ທ່ານໄດ້ຕິດຕັ້ງ HALCON.
    ເພື່ອເປີດ HDevelop exampໃນໂຄງການ, ເລືອກເມນູ File  ຊອກຫາ HDevelop Example ໂຄງ​ການ…. ສໍາລັບຜູ້ເລີ່ມຕົ້ນ, ພວກເຮົາແນະນໍາໃຫ້ເລືອກ example ຈາກປະເພດພື້ນທີ່ຄໍາຮ້ອງສະຫມັກ.
  • ການບໍລິການແລະການສະ ໜັບ ສະ ໜູນ
    ຂອງພວກເຮົາ webເວັບໄຊ https://www.mvtec.com/services-support ສະຫນອງການສະຫນັບສະຫນູນທີ່ຫຼາກຫຼາຍ, ສໍາລັບການຍົກຕົວຢ່າງample ວິດີໂອສອນ, ຂໍ້ມູນກ່ຽວກັບກອງປະຊຸມແລະການຝຶກອົບຮົມ, ມຸມຂອງນັກພັດທະນາໃຫ້ຄໍາແນະນໍາແລະຄໍາແນະນໍາ, ແລະອື່ນໆອີກ.
  • ເອກະສານ HALCON
    ເອກະສານໃຫ້ຂໍ້ມູນຫຼາຍຢ່າງ, ຈາກຫົວຂໍ້ເລີ່ມຕົ້ນຈົນເຖິງຄວາມຮູ້ຂອງຜູ້ຊ່ຽວຊານ. ຕົວຢ່າງampດັ່ງນັ້ນ, ຄູ່ມືການແກ້ໄຂຂອງພວກເຮົາອະທິບາຍວິທີການວິໄສທັດຂອງເຄື່ອງຈັກແລະວິທີການນໍາໃຊ້ພວກມັນໃນ HDevelop. ຈຸດເລີ່ມຕົ້ນທີ່ດີແມ່ນຄູ່ມືການແກ້ໄຂ I ທີ່ແນະນໍາທ່ານກ່ຽວກັບວິທີການວິໄສທັດເຄື່ອງຈັກຕົ້ນຕໍ.
    ຫຼາຍກວ່າview ປື້ມຄູ່ມືທັງໝົດທີ່ມີຄຳອະທິບາຍສັ້ນໆສາມາດພົບໄດ້ຢູ່ໃນໜ້າເຂົ້າຂອງເອກະສານ.

ເອກະສານ / ຊັບພະຍາກອນ

HALCON 21.11 ຄວາມຄືບຫນ້າ [pdf] ຄູ່ມືຜູ້ໃຊ້
21.11 ຄວາມຄືບໜ້າ, 21.11, ຄວາມຄືບໜ້າ

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *