最近由于工作的关系,学习了一些关于图片识别的知识,并成功用于解决实际问题当中,特此一一记录下来,以备后用,同时希望对大家有用。
场景
企业端用户在注册时,会上传一下公司的Logo。上传的步骤是:选择本地Logo图片,点上传,图片被上传至公司图片服务器(此时这张图片有了一个id:id_a);由于用户的图片尺寸不一定适合网页的展示,因此要用户做一下截取并保存(此时这张图片有了新的id:id_b),图片服务器会根据这张图片,缩略为大中小等多个长图以适用不同场景的页面展示使用。数据库里把id_b这个图上id保存下来了。由于业务现在需要一张方图,这就需要把原来的图id_a找到重新截取了。
下图是QQ上传头像的场景,非常类似。
分析
之前从来没有接触过图片识别的课题,如何在短时间内找到解决方案呢?
试想一下,用户上传logo,会不会像上图QQ头像一样,把一张完整的图片,截去一半字呢?当然不会!这是一个非常有用的前提,后面学习算法以后,会知道很多图片比较算法,都是对整张图的,有了这个假设以后,就可以通过将图片的留白截去,转变为整图的对比,从而简化问题。要知道业界顶级的以图搜图公司,谷歌、百度也不能100%找到你想要的图片。
其次&