Mat mat11 = Mat .Zeros (200,200,DepthType.Cv32F ,1);
mat11.SetTo(new MCvScalar( 0.2));
CvInvoke.Imshow("mat0.2", mat11);
mat11.SetTo(new MCvScalar(0.5));
CvInvoke.Imshow("mat0.5", mat11);
mat11.SetTo(new MCvScalar(0.8));
CvInvoke.Imshow("mat0.8", mat11);
mat11.SetTo(new MCvScalar(1));
CvInvoke.Imshow("mat1", mat11);
mat11.SetTo(new MCvScalar(1.5));
CvInvoke.Imshow("mat1.5", mat11);
可以看出,当Inshow方法传入的图像矩阵中含有小数时,从0到1的值,对应的就是0到255的灰度;就默认已经将灰度做了归一化处理,也就是0是对应灰度0(黑色),1对应灰度255(白色),所以当我们使用距离变换函数时,为了凸显出灰度的差异,都要对距离变换后的图像矩阵进行归一化处理,不然由于矩阵的像素灰度值距离最大灰度255还有很大的距离,导致直接显示距离变换后的图像很多都是黑色的,没有什么白色。



