aihot  2017-05-16 15:06:39  OpenCV |   查看评论   

 在fbc_cv库中,提供了对图像进行任意角度旋转的函数rotate,其实内部也是调用了仿射变换函数warpAffine。如果图像仅是进行90度倍数的旋转,是没有必要用warpAffine函数的。这里通过transpose和flip函数实现对图像进行顺时针90度、180度、270度的旋转。

用fbc::transpose、fbc::flip和cv::transpose、cv::flip实现的结果是完全一致的。

通过fbc_cv库实现如下:

  1. #include "test_rotate90.hpp"  
  2. #include <opencv2/opencv.hpp>  
  3. #include <transpose.hpp>  
  4. #include <flip.hpp>  
  5.   
  6. int test_rotate90()  
  7. {  
  8.     cv::Mat matSrc = cv::imread("E:/GitCode/OpenCV_Test/test_images/1.jpg", 1);  
  9.     if (!matSrc.data) {  
  10.         std::cout << "read image fail" << std::endl;  
  11.         return -1;  
  12.     }  
  13.   
  14.     int width = matSrc.cols;  
  15.     int height = matSrc.rows;  
  16.   
  17.     fbc::Mat_<uchar, 3> mat1(height, width, matSrc.data);  
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自通过transpose和flip实现图像旋转90/180/270度

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]