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


  完整文章下载  

《OpenCV从入门到实战》