如何使用OpenCV从linescan相机中提取连续图像边界中的对象及其大小?

2024-09-28 01:25:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我想基于OpenCVPython提取对象总数及其大小。 我假设微小的物体在传送带上不规则地移动。由于对象大小对我很重要,我决定使用线扫描相机来存储图像

线扫描相机通常以连续图像的形式存储接收到的数据,每个图像都有一定数量的扫描线

问题:

我可以提取完全在图像中的对象并计算它们的大小。我的主要问题是提取两幅连续图像的边缘/边框中的对象数量和大小

这里是连续图像的示例(图像n图像n+1)。红线显示连续图像的边距/边框

example images

解决这个问题的办法是什么?你能建议解决这个问题的方法吗

致以最良好的祝愿

穆罕默德


Tags: 数据对象图像示例数量exampleopencv形式
1条回答
网友
1楼 · 发布于 2024-09-28 01:25:43

要分析第n页,首先连接第n-1、n、n+1页,并检测此3页图像中的所有对象。对于上边缘和下边缘的对象,检测算法可能会失败,但与第n页相关的对象应该检测得很好。对于每个对象,确定3页图像中的y位置(例如,对象的最低y像素或对象的质心)。y位置在页面的1/3和2/3之间的所有对象都属于第n页(假设每个页面具有相同的高度)。现在对下一页做同样的操作

请注意,这种方法将每一页分析3次。您可以尝试减少开销,一旦你有了这个工作。例如,如果您知道对象始终小于100像素,则可以将连接限制为第n-1页底部100像素和第n+1页顶部100像素

相关问题 更多 >

    热门问题