Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何在图像中定位对齐标记_Delphi_Image Processing_Graphics_Computer Vision_Crop - Fatal编程技术网

Delphi 如何在图像中定位对齐标记

Delphi 如何在图像中定位对齐标记,delphi,image-processing,graphics,computer-vision,crop,Delphi,Image Processing,Graphics,Computer Vision,Crop,我正在设计一个系统,该系统将以标准形式扫描图像(例如,TBitmap)。我想识别这些页面上的对齐标记,并使用这些裁剪标记的位置将页面旋转到正确的方向(因此顶部实际上是向上的),并将图像裁剪到对齐标记的位置 我需要找到的一个典型标记的示例图像是: (来源:) 评估从扫描仪获得的图像以定位图像中的各种标记的技术有哪些?我需要找到多个标记及其中心点位置。只是头脑风暴一些可能的方法 模板匹配 蛮力方法是使用一个位图图像来显示注册标记的外观。然后,对于图像中与模板位图具有相同宽度和高度的每个可能矩形,将

我正在设计一个系统,该系统将以标准形式扫描图像(例如,TBitmap)。我想识别这些页面上的对齐标记,并使用这些裁剪标记的位置将页面旋转到正确的方向(因此顶部实际上是向上的),并将图像裁剪到对齐标记的位置

我需要找到的一个典型标记的示例图像是:


(来源:)


评估从扫描仪获得的图像以定位图像中的各种标记的技术有哪些?我需要找到多个标记及其中心点位置。

只是头脑风暴一些可能的方法

模板匹配

蛮力方法是使用一个位图图像来显示注册标记的外观。然后,对于图像中与模板位图具有相同宽度和高度的每个可能矩形,将图像像素与模板像素进行比较。如果大多数对应的像素匹配,您可能已经找到了一个注册标记。这是计算密集型的,因为你必须扫描所有可能的位置、旋转、比例因子等。你可以利用你所知道的东西来缩小它。例如,注册标记是对称的,因此不需要检查所有可能的旋转。也许您知道标记的确切大小,因此可以避免重复使用不同的比例因子。最后,您可能知道,注册标记应该位于拐角附近,因此可以跳过图像的大部分中间部分

有趣的点

找到一种识别图像中“有趣点”的方法。例如,似乎位于交点中心的点可以通过使用一个小内核进行卷积来找到,该内核将增强在基本方向上具有匹配像素的像素,然后对结果设置阈值。这将给出一个似乎是交点的像素列表(可能有一些噪声)。您可以在该坐标子集中搜索“星座”,该星座看起来像您的注册标记中的五个交点。您可能仍然需要应用模板匹配来查找最可能的位置,但这将大大减少您必须尝试的位置、旋转和比例因子的数量

特征检测

有用于直线检测、圆检测等的算法。您可以运行一系列这些算法,然后在圆内查找两条相交线段的组合。这可能是最有效的方法,但也可能是最难实现的方法

一些预处理步骤,如运行边缘检测器、阈值或膨胀以及腐蚀过滤器,如果图像一开始就不是真正干净的,可能也会有所帮助。

我是通过处理蚀刻在玻璃上的字符和符号的识别来找到这个法文的

如果你对法语不太熟悉,你不必担心:相信我,Delphi中的一堆有价值的源代码列在文档的底部


谢谢。

对于上面的标记,您可以将其用于圆和线,然后检查任何十字线是否位于任何圆的中心,这就是您的标记。我对delphi不太清楚,但Hough变换算法是众所周知的,并在大量LIB中实现。

我知道许多成像SDK(包括LEADTools)都内置了该算法。我自己不知道如何实现它,但我想我应该做一个水平线检测算法(x度以内),和一个垂直线检测算法,然后检查90%连续圆的所有可能+点。嗯,我不是专家,但那不是裁剪标记,它是打印机在四色打印时使用的对齐标记。作物标记是简单的直线。沃伦P:谢谢你的链接和建议的方法。如果需要的话,我会向商业图书馆开放。我也有权更改使用的符号,因此LeadTools产品可能是一个可行的解决方案。MJ2008:公平点,我的术语可能不适用。我真正需要的是能够识别某种类型的标记,以便我可以裁剪到它。我当然愿意称之为对齐标记;虽然至少出于我的目的,我想它也是一个裁剪标记。我怀疑这些标记的大小并不总是相等的,但你可能想从中得到一些灵感,因为它们可以有效地使用扫描线。如果裁剪/对齐标记可以被视为/处理为一个字符,如果它不是一个正确的字符,为什么不使用OCR呢?我也考虑过使用OCR。然而,我以前从未使用过它。有可能“培训”OCR工具来学习新字符吗?OCR是否可能返回中心点?或者,如果使用了“T”符号,OCR能否返回“T”中两条线的交点?