opencv影象旋轉90°的方式
阿新 • • 發佈:2019-01-27
#include "opencv/cv.h" #include "opencv/highgui.h" #include "stdio.h" #include "iostream" using namespace cv; using namespace std; int main() { Mat src = imread("test.jpg"); Mat dst; transpose(src, dst); Mat dst2; flip(dst, dst2, 1); // flip by y axis 是沿著y座標軸旋轉,而不是整體的旋轉,以下類似 Mat dst3; flip(dst, dst3, 0); // flip by x axis Mat dst4; flip(dst, dst4, -1); // flip by both axises imshow("原影象", src); imshow("左旋90度,映象", dst); //左旋90,映象 imshow("右旋90度", dst2); //右旋90° imshow("左旋90度", dst3); //左旋90° imshow("右旋90度,映象", dst4); //右旋90°,映象 cvWaitKey(); return 0; }
主要用到這兩個函式,這兩個函式搭配使用達到旋轉影象的效果。
transpose(src, dst); // 此函式是轉置、(即將影象逆時針旋轉90度,然後再關於x軸對稱)
flip(srcImage, srcImage, 0); //此函式是繞x軸旋轉180, 也就是關於x軸對稱
flip(srcImage, srcImage, 1); //此函式是繞y軸旋轉180, 也就是關於y軸對稱
flip(srcImage, srcImage, -1); //此函式關於原點對稱