OpenCV转置+翻转实现图像变换——OpenCV从入门到实战(七)
在图像非仿射图像变换往往使图像数据有一定的损失,为了使数据完整。
1 转置transpose()
void transpose(InputArray src, OutputArray dst)
12. 翻转flip()
void flip(InputArray src, OutputArray dst, int flipCode);
13. 旋转transpose()+flip()
通过transpose()与flip()组合调用达到旋转图片的目的。
14. 实例
例程代码及运行结果,如下:
void COpenCVTestDlg::OnBnClickedButtontranspose()
{
Mat imageSrc = imread("lena.jpg");
Mat imageTraspose, imageFlipY, imageFlipX, imageFlipXY;
transpose(imageSrc, imageTraspose); //对目标图像进行转置变换
flip(imageTraspose, imageFlipY, 1); //图像进行翻转 flip by y axis
flip(imageTraspose, imageFlipX, 0); // flip by x axis
flip(imageTraspose, imageFlipXY, -1); // flip by both axises
imshow("imageSrc", imageSrc);
imshow("imageTraspose", imageTraspose);
imshow("imageFlipY", imageFlipY);
imshow("imageFlipX", imageFlipX);
imshow("imageFlipXY", imageFlipXY);
cvWaitKey();
}
可见:
Transposeflip.x=rotate(90)
Transposeflip.y=rotate(-90)
联系方式
邮箱:david.lu@lontry.cn
电话:0755-29952252, 陆工:15999607370
QQ:457841768
完整文章下载