版权归原作者所有,如有侵权,请联系我们

[科普中国]-图像水平镜像变换

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

图像镜像分为水平镜像、垂直镜像和对角镜像 3 种。其中,水平镜像是指将图像的左右部分以图像垂直中轴线为中心进行镜像对换。深度学习的训练过程中,常常使用图像水平镜像变换的图像增强方法以提高模型的泛化能力。

基本定义图像镜像分为水平镜像、垂直镜像和对角镜像 3 种:

(1)水平镜像是指将图像的左右部分以图像垂直中轴线为中心进行镜像对换;

(2)垂直镜像是将图像的上下两部分以图像水平中轴线为中心进行镜像对换;

(3)对角镜像是将图像以图像水平中轴线和垂直中轴线的交点为中心进行镜像对换,相当于将图像先后进行水平镜像和垂直镜像。1

图1为原Lena图像,经水平镜像变换后,为图2所示。

变换方法假设原图像的高度为 ,宽度为 ,经过水平镜像变换后,原图像中像素点 的像素变为新图像坐标 处的像素值。若用 表示原图像坐标, 表示经水平镜像变换后图像的坐标,那么两张图像的关系可表示为:1

逆变换为:

代码实现C++void Mirror(const Mat &srcImage, Mat &dstImage, int flag){dstImage.create(srcImage.size(), srcImage.type());int nRowNum = srcImage.rows;int nColNum = srcImage.cols;switch(flag){//水平镜像case 1:for(int i = 0; i