当前位置:C++技术网 > 资讯 > opencv编程:12 实现图像的转置

opencv编程:12 实现图像的转置

更新时间:2016-05-04 21:22:58浏览次数:1+次

 图像转置指的是将图像像素的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();
 

 转置前后结果如下图

                       

                           原图                                            转置后的图像