写在前面:本人是非计算机专业的学生,但是在课余学习的时候对图像处理产生了一些兴趣,总觉得大学四年不能总是局限于本专业的知识,想着要了解其他领域感兴趣的方面,就打算开始看数字图像处理的书籍,并且在csdn博客上记录自己的笔记,以期望之后能回顾。可能因为自己是非计算机专业的,对于知识的理解也许不是那么到位。
图像处理是指用计算机对图像进行分析,以达到某种效果或目的。在目前的智能领域,图像处理广泛应用,例如人脸识别,车牌识别等。
数字图像的概念
一幅图像我们可以看做是一个二维函数f(x,y),其中x,y是平面的坐标位置,幅值f为对应每个坐标位置的灰度或强度。而为了方便最图像进行直观的处理,我们需要将图像转化为数字形式,成为一幅数字图像,其中所涉及的的操作有两个部分:取样和量化。
坐标x,y可以定位图像的某个位置,但是一幅图像的x,y和f可能都是连续的,我们需要对其取样,所以将坐标数字化称为取样,将幅值f数字化称为量化。数字图像的质量很大程度上取决于样本数和灰度级,样本数越大,图像质量就越好,不容易出现马赛克现象;量化等级越多,所呈现的图像的层次性越好,灰度分辨率越高。
我们将连续图像取样为一个二维阵列f(x,y),那么图像就可以用矩阵来表示,该矩阵包含M行和N列,(x,y)即为图像坐标。
其中,图像在任何(x,y)坐标下的值为f(x,y),第一行第一列对应的值为f(0,0),为数字图像的原点,实际上矩阵中的每个元素就是像素。或者我们也可以用传统的矩阵表示方法来表示数字图像:
我们注意到数值图像的原点都是位于左上角,这是因为大多数显示器的扫描都是从左上角开始的,将它作为原点也就顺理成章,这也符合数学上矩阵元素的表达方式。
在数字化过程中,我们需要对行M,列N和灰度级数L作出规定,M,N只需是正整数就可以,但为了存储的需要,L值必须为2的整数次幂:
L
=
2
k
L = 2^k
L=2k.我们将灰度离散区间设为[0,L-1],当k=1时,L=2,即图像有两个灰度级数,这也就是我们所见的二值图像,俗称黑白图像。当一幅图像有 2^k个灰度级数时,通常称该图像为一幅“K”比特图像。例如8比特图像有256个离散灰度值。