图像转置指的是将图像像素的x坐标和y坐标进行互换,其变换的公式可用如下的形式表示:
转置变换的坐标图如下图所示,
转置变换坐标图
图像的转置变换也可以通过先水平镜像,再逆时针旋转九十度来实现。
代码实现
Mat image = imread("chuli.jpg");
int w = image.cols;
int l = image.rows;
namedWindow("原图");
imshow("原图",image);
waitKey();
Mat src(w,l,image.type());
for (int y=0;y<l;y++)
{
for (int x=0;x<w;x++)
{
src.at<Vec3b>(x,y)=image.at<Vec3b>(y,x);
}
}
namedWindow("转置图");
imshow("转置图",src);
waitKey();
转置前后结果如下图
原图 转置后的图像