输入图像:可以看到基本功能
一般二值化:
以上:
G(x,y)=HIGH(255白色) f(x,y)>=Threshold
G(x,y)=LOW(0 黑色) f(x,y)< Threshold
以下:
G(x,y)=HIGH(255白色) f(x,y)<=Threshold
G(x,y)=LOW(0 黑色) f(x,y)> Threshold
双阈值二值化:
G(x,y)=HIGH(255白色) f(x,y)>=Threshold_low&&f(x,y)<=Threshold_high
G(x,y)=LOW(0 黑色) 其他情况
边缘检测与提取
由于边缘为灰度值急剧变化的部分,所以微分作为提取函数变化部分的运算能够在边缘检测与提取中利用。
(1) 一阶微分(first differential calculus)也称gradient梯度运算(阶梯状灰度变化)
可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导:
图像梯度: G(x,y) =dx i + dy j;
dx(i,j) = I(i+1,j) - I(i,j);
dy(i,j) = I(i,j+1) - I(i,j);
其中,I是图像像素的值(如:RGB值),(i,j)为像素的坐标。
图像梯度一般也可以用中值差分:
dx(i,j) = [I(i+1,j) - I(i-1,j)]/2;
dy(i,j) = [I(i,j+1) - I(i,j-1)]/2;
图像边缘一般都是通过对图像进行梯度运算来实现的。
微分值被求出以后,有以下公式就能算出边缘的强度和方向
强度:sqrt(dx^2+ dy^2)
或者:| (dx | + |dy |
方向:向量(dx,dy)的方向
(2) 二阶微分(拉普拉斯运算)
对梯度的再一次微分。只适用于边缘检测的强度(不求方向),在数字图像处理中用下式表示:
L(x,y)=4f(x,y)-|f(x,y-1)+f(x,y+1)+f(x-1,y)+f(x+1,y)|
用相邻像素间的差值近似微分,被称为差分,用于像素间微分运算的系数组被称为微分算子,梯度运算中fx,fy的计算式,以及拉普拉斯运算的式,都是基于这些微分算子二进行微分运算的,实际的微分运算就是计算目标像素及其周围像素,分别乘以微分算子对应的数值矩阵系数的和,其计算结果被用作微分运算后目标像素的灰度值。
本例程还不完善,需带改善。
彩色变换:
(1)彩条制作:RGB的重叠关系
(2) RGB与Y(亮度,相对于灰度图像),色差C1,C2之间的转化:
Y=0.3R+0.59G+0.11B
C1=R-Y=0.7R-0.59G-0.11B
C2=B-Y=-0.3R-0.59G+0.89B
有亮度,色差求RGB:
R=Y+C1;
G=Y-(0.3/0.9)*C1-(0.11/0.59)*C2;
B=Y+C2;
色差与色调,饱和度之间的关系:
色调H表示以色差信号B-Y(即C2)
为基准的坐标轴开始旋转了多少角度;
其中饱和度S表示离开原点多大距离。
H=actan(C1/C2);
S=sqrt(C1^2+C2^2);
逆变换为;
C1=S*sinH;
C2=S*cosH;
(4)色调变灰度图像;()
(3)chroma key信号,从拍摄的蓝色背景前站立着人物的图像中,分理处蓝色的背景部分,做成用于合成的硬键信号。
在实际的chroma key中,不仅可以用蓝色,还可以用其他颜色作为背景来提取,自然图像合成中有各种各样的技巧,可以使用简单的图像处理来试一试类似chroma key的效果,
如:利用 (R+G)/2-B用这个值的大小来提取蓝色的。蓝色时这个值为负数,也就意味着这个值越小越接近蓝色。