OpenCV_图像旋转与缩放

转自http://blog.csdn.net/icvpr/article/details/8502929

下面这份代码用于实现对图像的缩放与旋转。


OpenCV版本:2.4.2


[cpp]  view plain copy
  1. //  图像旋转与缩放   
  2. //  Author: www.icvpr.com   
  3. //  Blog:   http://blog.csdn.net/icvpr   
  4.   
  5. #include <iostream>  
  6. #include <vector>  
  7. #include <opencv2/opencv.hpp>  
  8.   
  9. int main(int argc, char** argv)  
  10. {  
  11.   
  12.     cv::Mat image = cv::imread("../test.jpg");  
  13.     if (image.empty())  
  14.     {  
  15.         std::cout<<"read image failure"<<std::endl;  
  16.         return -1;  
  17.     }  
  18.   
  19.     cv::Point2f center = cv::Point2f(image.cols / 2, image.rows / 2);  // 旋转中心  
  20.     double angle = 30;  // 旋转角度  
  21.     double scale = 0.5; // 缩放尺度  
  22.   
  23.     cv::Mat rotateMat;   
  24.     rotateMat = cv::getRotationMatrix2D(center, angle, scale);  
  25.   
  26.     cv::Mat rotateImg;  
  27.     cv::warpAffine(image, rotateImg, rotateMat, image.size());  
  28.   
  29.     cv::imwrite("../rotate.jpg", rotateImg);  
  30.   
  31.   
  32.     return 0;  
  33. }  


原图:

OpenCV_图像旋转与缩放_第1张图片


缩放:

OpenCV_图像旋转与缩放_第2张图片


旋转:

OpenCV_图像旋转与缩放_第3张图片


旋转+缩放

OpenCV_图像旋转与缩放_第4张图片


你可能感兴趣的:(OpenCV_图像旋转与缩放)