图像识别原理之如何识别图像边缘

如何识别图像边缘?

 

做者: 阮一峰html

日期: 2016年7月22日git

图像识别(image recognition)是如今的热门技术。github

文字识别、车牌识别、人脸识别都是它的应用。可是,这些都算初级应用,如今的技术已经发展到了这样一种地步:计算机能够识别出,这是一张狗的照片,那是一张猫的照片。算法

这是怎么作到的?ide

让咱们从人眼提及,学者发现,人的视觉细胞对物体的边缘特别敏感。也就是说,咱们先看到物体的轮廓,而后才判断这究竟是什么东西。ui

计算机科学家受到启发,第一步也是先识别图像的边缘。url

加州大学的学生 Adit Deshpande 写了一篇文章《A Beginner's Guide To Understanding Convolutional Neural Networks》,介绍了一种最简单的算法,很是具备启发性,体现了图像识别的基本思路。3d

首先,咱们要明白,人看到的是图像,计算机看到的是一个数字矩阵。所谓"图像识别",就是从一大堆数字中找出规律。htm

怎样将图像转为数字呢?通常来讲,为了过滤掉干扰信息,能够把图像缩小(好比缩小到 49 x 49 像素),而且把每一个像素点的色彩信息转为灰度值,这样就获得了一个 49 x 49 的矩阵。blog

而后,从左上角开始,依次取出一个小区块,进行计算。

上图是取出一个 5 x 5 的区块。下面的计算以 7 x 7 的区块为例。

接着,须要有一些现成的边缘模式,好比垂直、直角、圆、锐角等等。

上图右边是一个圆角模式,左边是它对应的 7 x 7 灰度矩阵。能够看到,圆角所在的边缘灰度值比较高,其余地方都是0。

如今,就能够进行边缘识别了。下面是一张卡通老鼠的图片。

取出左上角的区块。

取样矩阵与模式矩阵对应位置的值相乘,进行累加,获得6600。这个值至关大,它说明什么呢?

取样矩阵移到老鼠头部,与模式矩阵相乘,获得的值是0。

乘积越大就说明越匹配,能够判定区块里的图像形状是圆角。一般会预置几十种模式,每一个区块计算出最匹配的模式,而后再对整张图进行判断。

(完)

 

文章来源http://www.ruanyifeng.com/blog/2016/07/edge-recognition.html

相关文章
相关标签/搜索