OpenCV实现图像旋转

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fanyun_01/article/details/89608939
Mat matRotateClockWise90(Mat src)
{
	if (src.empty())
	{
		qDebug()<<"RorateMat src is empty!";
	}
	// 矩阵转置
	transpose(src, src);
	//0: 沿X轴翻转; >0: 沿Y轴翻转; <0: 沿X轴和Y轴翻转
	flip(src, src, 1);// 翻转模式,flipCode == 0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)
	return src;
}
 
Mat matRotateClockWise180(Mat src)//顺时针180
{
	if (src.empty())
	{
		qDebug() << "RorateMat src is empty!";
	}
	
	//0: 沿X轴翻转; >0: 沿Y轴翻转; <0: 沿X轴和Y轴翻转
	flip(src, src, 0);// 翻转模式,flipCode == 0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)
	flip(src, src, 1);
	return src;
	//transpose(src, src);// 矩阵转置
}
 
Mat matRotateClockWise270(Mat src)//顺时针270
{
	if (src.empty())
	{
		qDebug() << "RorateMat src is empty!";
	}
	// 矩阵转置
	//transpose(src, src);
	//0: 沿X轴翻转; >0: 沿Y轴翻转; <0: 沿X轴和Y轴翻转
	transpose(src, src);// 翻转模式,flipCode == 0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)
	flip(src, src, 0);
	return src;
}
 
Mat myRotateAntiClockWise90(Mat src)//逆时针90°
{
	if (src.empty())
	{
	  qDebug()<<"mat is empty!";
	}
	transpose(src, src);
	flip(src, src, 0);

猜你喜欢

转载自blog.csdn.net/fanyun_01/article/details/89608939