opencv 缩放旋转

如果100*50的图要转成50*100

角度90或-90

旋转中心应该为

Point2f(image.rows / 2, image.rows / 2);


//  图像旋转与缩放 
//  Author: www.icvpr.com 
//  Blog:   http://blog.csdn.net/icvpr 

#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp>

int main(int argc, char** argv)
{

	cv::Mat image = cv::imread("../test.jpg");
	if (image.empty())
	{
		std::cout<<"read image failure"<<std::endl;
		return -1;
	}

	cv::Point2f center = cv::Point2f(image.cols / 2, image.rows / 2);  // 旋转中心
	double angle = 30;  // 旋转角度
	double scale = 0.5; // 缩放尺度

	cv::Mat rotateMat; 
	rotateMat = cv::getRotationMatrix2D(center, angle, scale);

	cv::Mat rotateImg;
	cv::warpAffine(image, rotateImg, rotateMat, image.size());

	cv::imwrite("../rotate.jpg", rotateImg);


	return 0;
}

posted @ 2016-08-09 15:10  00000000O  阅读(266)  评论(0编辑  收藏  举报