MIL图像处理那些事:子缓冲区(Child buffers )、感兴趣区域(ROI)和固定对齐(fixturing )(附源码)

27 篇文章 179 订阅 ¥9.90 ¥99.00
本文介绍了MIL图像处理中的子缓冲区、感兴趣区域(ROI)和用相对坐标系固定对象(Fixturing)的概念及应用场景。通过示例代码解析了如何在Python中实现这些技术,包括读取1D代码39的示例,展示了如何在图像处理中有效地定位和处理特定区域。
摘要由CSDN通过智能技术生成

系列文章目录


在这里插入图片描述
此程序包含使用代码读取器模块(Mcode)使用fixturing读取1D代码39的示例。
示例用到MIL中的模块:application, system, display, buffer, graphic, code和模式识别pat。

前言

在使用MIL进行图像处理时,可以对图像缓冲区的指定数据子集进行操作。这可以通过子缓冲区或感兴趣区域(ROI)实现。还可以将图像的相对坐标系固定到对象上的同一点,而不管对象在图像中的位置如何,以便可以根据对象的找到位置定位感兴趣的区域或模块的搜索区域。例如,当自动化一系列测量操作时,可以使用此选项。

子缓冲区(Child buffers )

子缓冲区是与MIL标识符关联的数据缓冲区(称为父缓冲区)的指定子集。子缓冲区占据父缓冲区的特定矩形区域。由于此区域与父缓冲区是同一物理内存空间的一部分,因此对子缓冲区的数据所做的更改会影响父缓冲区的数据,反之亦然。由于子缓冲区具有MIL标识符,因此它被视为数据缓冲区,并且可以在与其父缓冲区相同的上下文中使用;例如,它可以选择为MIL显示,并且是唯一显示的数据。子缓冲区具有与其父缓冲区相同的属性和类型。但是,使用子缓冲区时指定或返回的任何像素坐标都是相对于子缓冲区的左上角的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
三重缓冲区是指在多线程环境下,保证缓冲区安全性的一种缓存机制。Java中可以通过使用同步锁和wait/notify来实现三重缓冲区。下面是一个简单的例: ``` public class TripleBuffer { private final Object lock = new Object(); private String[] buffers = new String[3]; private int available = 0; private int read = 0; public void write(String data) throws InterruptedException { synchronized (lock) { while (available == buffers.length) { lock.wait(); } buffers[available] = data; available++; if (available == 1) { lock.notifyAll(); } } } public String read() throws InterruptedException { synchronized (lock) { while (available == 0) { lock.wait(); } String data = buffers[read]; read++; if (read == buffers.length) { read = 0; } available--; if (available == buffers.length - 1) { lock.notifyAll(); } return data; } } } ``` 在这个例中,我们使用了一个字符串数组作为缓冲区,使用available和read两个变量来跟踪缓冲区中可用的位置和读取的位置。缓冲区的大小为3,因此可以同时存储3个数据。 在write方法中,我们使用synchronized关键字来保证同步,如果缓冲区已满,则调用lock.wait(),等待其他线程读取数据。当有一个可用的缓冲区时,我们将数据写入该缓冲区,并将available变量增加1。如果此时可用缓冲区的数量为1,则调用lock.notifyAll()方法,通知其他线程可以开始读取数据。 在read方法中,我们也使用synchronized关键字来保证同步,如果缓冲区为空,则调用lock.wait(),等待其他线程写入数据。当有一个缓冲区可读时,我们从该缓冲区读取数据,并将read变量增加1。如果此时可用缓冲区的数量为缓冲区的大小-1,则调用lock.notifyAll()方法,通知其他线程可以开始写入数据。 这个例中实现了三重缓冲区,可以在多线程环境下安全地读写数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WayHonor-机器视觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值