在计算机图形学和图像处理技术中,链码是一种将物体轮廓线编码成黑白或单色图像的算法,由此产生的代码序列既可以描述如何绘制物体相对于其所在图像的轮廓线,或者它可以是相对于算法开始的轮廓上的位置的方向集合,本质上提...
在计算机图形学和图像处理技术中,链码是一种将物体轮廓线编码成黑白或单色图像的算法,由此产生的代码序列既可以描述如何绘制物体相对于其所在图像的轮廓线,或者它可以是相对于算法开始的轮廓上的位置的方向集合,本质上提供了重新绘制对象时可以遵循的步骤。这些代码可以根据公式进行规范化,然后与另一个链代码进行比较,以确定两个对象是否相同。链代码可用于在计算机视觉程序中分离物体或图像处理中的图像分割,虽然这更常用于光学字符识别(OCR)程序中。手持计算机虽然有几种已建立的链码算法,但每个算法的基本概念都是相同的。首先,确定物体的边缘,通常通过在光栅图像中逐像素地移动。一旦定位,就会记录位置并检测周围的边缘。根据检测算法是顺时针还是逆时针移动,当前位置沿着边缘向一个方向或另一个方向移动,直到它返回到原始位置当当前位置移动时,链码中会记录一个数字。这个数字通常表示沿对象边缘移动的方向。例如,如果链码算法是沿着一条直线从右向左移动,那么每次沿着一条直线向左跟踪时,左边的数字代码加到代码的末尾,得到的代码是一串数字,如果从任意的起点开始,在每一步都放置一个像素,对象的轮廓将被重新绘制当组成代码的数字串完成后,可以对其应用几种不同的算法,以帮助与其他链码序列进行比较。首先,通过旋转起始数字,直到确定最小整数值,对数字进行规范化。这样,可以比较两个具有相同轮廓的对象,而不管编码是从哪个对象开始的。还有一种更复杂的链码算法。这些算法包括基于矢量的编码,其中一个对象的轮廓由一系列由线连接的坐标序列来描述,尽管这种方法可以在精细的轮廓上使用时会有损。该算法的一个版本也存在,它使用游程编码(RLE)来进一步压缩异常大或复杂对象的代码,以便以更有效的方式存储这些代码
-
发表于 2020-08-07 00:11
- 阅读 ( 2148 )
- 分类:电脑网络