前言
这两周实习须要应用python+opencv实现一个图像处理的程序,咱们组实现的是车牌辨认程序。借此机会略微理解一些图像处理的常识。
灰度化
当咱们拿到一个照片后,首先进行灰度化解决将彩色照片变成灰色照片,因为一些办法只能解决灰色图像。将彩色图像变为灰色图像的过程称为灰度化。
灰度化,在RGB模型中,如果R=G=B时,则黑白示意一种灰度色彩,其中R=G=B的值叫灰度值,因而,灰度图像每个像素只需一个字节寄存灰度值(又称强度值、亮度值),灰度范畴为0-255。
这让我想到了以前的黑白电视机,当初猜测以前只有黑白电视机的起因之一是传输速率没有那么高,应用灰度图像比彩色图像缩小3/2数据。
假如一个像素点示意为f(x,y)=(r,g,b)
那么变为灰色图像的的原理是f(x,y)=0.21r+0.71g+0.07+b
成果如图
卷积
在理解边缘检测之前,先理解卷积的概念
假如取出边缘一圈0的两头是咱们灰度化后的图像,咱们先在外圈补一圈0,而后与咱们的3*3的卷积核(这是咱们本人定义的),顺次相乘求和,失去新的图像。
如上图淡黄色里的每一个数值与对应地位黄色的每一个数值相乘而后求和。失去新的数值。而后咱们将淡黄色右移一格,失去邻近的数值,顺次失去新的图像。
边缘检测
边缘检测用于找到一个物体的边缘,咱们先察看一下一格物体的边缘有什么特点,如上图中人的肩膀,肩膀左下侧图像亮一些,肩膀外图像暗一些,肩膀轮廓左右图像灰度值变动较大。咱们找的边缘就是灰度值变动大的点。咱们在连续函数中求变动大的办法是导数。然而在离散的图像中求变化率用到了卷积。
该办法蕴含两组3x3的矩阵,别离为横向及纵向,将之与图像作卷积,即可别离得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy别离代表经横向及纵向边缘检测的图像,其公式如上。、
成果如图