《装箱算法》第一章 图形识别技术与算法

本文介绍了计算机图形学中二维异形图形的识别问题,重点讲解了机器扫描法和轮廓识别技术。机器扫描法适用于图形信息量不大时,而轮廓识别技术则能有效降低资源消耗。通过识别轮廓的四边坐标,实现图形的排版和碰撞检测。
摘要由CSDN通过智能技术生成


前言

本章主要介绍计算机图形学中,二维的图案是如何仿人类视觉用大脑识别出物体范围,对其外部轮廓的分析,获取形状边界。


一、计算机异形图形如何识别?

二维异形图形存在无数种图案和可能,这对于人类大脑识别是非常快捷,但转化为计算机自动识别却是一项难度极大的学术问题。异形图形的识别目前已多种方式,本章主要介绍机器扫描法和轮廓识别技术及相关存储和使用。

1.机器扫描法

机器扫描法是采用扫描仪的方式将需要识别的图形按顺序的全部扫描一遍。将图形中的所有信息进行记录和分类,获取图形的主体信息。

这里会出现一个问题,当一个图形信息量非常巨大时,采用机器扫描法对硬件设备的性能要求极高,对应要求硬件成本和扫描时间都会极大的提升,所以引入了一个叫视觉拉远模糊识别技术,它是将图形降低轮廓清晰度的技术,此处不作详细介绍。

2.轮廓识别技术

轮廓识别技术是使用现成的方式进行图形的外部轮廓识别,再进行机器扫描法,通常这里不需要对图形有很高的精度要求的情况时,可以直接使用上下左右四边进行扫描获取最外层的轮廓后续去排版即可,能够极大的提高在扫描时所消耗的资源。

以下为识别轮廓时关键例子:

/// <summary>
/// 获取上方的边缘坐标
/// </summary>
/// <param name="dataList"></param>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public static CoordinateInfo GetYMinEdgeByX(HashSet<MatrixIndex> dataList, int x, int y)
{
   
    int w = 0, h = 0, mw = x, mh = y;
    CalculateCursor(ref mw, ref mh, ref w, ref h);
    var ydataList = dataList.Where(m => m.W ==
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值