以下代码是使用HALCON软件编写的,HALCON是一款用于机器视觉和图像分析的高级软件。它主要用于工业自动化领域,如质量控制、机器人导航、医学图像分析等。代码主要分为三部分,每部分都涉及到多线程的使用。
Part A: 线程创建开销
这部分代码的目的是展示线程创建的开销。它通过创建和销毁线程来测量线程创建和加入的时间开销。代码中创建了三个线程(Thread1、Thread2、Thread3),每个线程执行do_nothing()函数,即什么也不做。然后通过par_join函数等待所有线程完成。最后计算线程创建和加入的总时间,并以毫秒为单位显示。
Part B: 完美的并行化
这部分代码展示了在执行长时间运行的任务时,可以实现完美的并行化。代码中创建了三个线程,每个线程执行wait_seconds(1)函数,即每个线程等待1秒。然后通过par_join函数等待所有线程完成。最后计算总的等待时间,并与理论值(Loops乘以1秒)进行比较。
Part C: 并行读取条形码和数据码
这部分代码的目的是并行读取图像中的二维码(QR Code)和数据矩阵码(Data Matrix ECC 200)。首先创建了两个数据码模型(QR Code和Data Matrix ECC 200)和一个条形码模型。然后使用find_data_code_2d和find_bar_code函数在图像中搜索这些码,并进行训练。
接下来,代码执行一次以填充缓存,然后分别测量顺序读取和并行读取这些码的时间。最后,计算并行读取相对于顺序读取的速度提升,并在图像窗口中以不同颜色显示结果。
这段代码是使用HALCON软件编写的,HALCON是一款用于机器视觉和图像分析的高级软件。它主要用于工业自动化领域,如质量控制、机器人导航、医学图像分析等。代码主要分为三部分,每部分都涉及到多线程的使用。
Part A: 线程创建开销
这部分代码的目的是展示线程创建的开销。它通过创建和销毁线程来测量线程创建和加入的时间开销。代码中创建了三个线程(Thread1、Thread2、Thread3),每个线程执行do_nothing()函数,即什么也不做。然后通过par_join函数等待所有线程完成。最后计算线程创建和加入的总时间,并以毫秒为单位显示。
Part B: 完美的并行化
这部分代码展示了在执行长时间运行的任务时,可以实现完美的并行化。代码中创建了三个线程,每个线程执行wait_seconds(1)函数,即每个线程等待1秒。然后通过par_join函数等待所有线程完成。最后计算总的等待时间,并与理论值(Loops乘以1秒)进行比较。
Part C: 并行读取条形码和数据码
这部分代码的目的是并行读取图像中的二维码(QR Code)和数据矩阵码(Data Matrix ECC 200)。首先创建了两个数据码模型(QR Code和Data

最低0.47元/天 解锁文章
738

被折叠的 条评论
为什么被折叠?



