仿射变换代码opencv

这篇文章详细介绍了OpenCV中的getRotationMatrix2D函数,用于根据中心点、旋转角度和缩放比例计算图像旋转矩阵。同时提及了CV_INSTRUMENT_REGION宏,用于代码性能分析。
摘要由CSDN通过智能技术生成
 //Rotation angle in degrees. 
 //Positive values mean counter-clockwise rotation
 //(thecoordinate origin is assumed to be the top-left corner).
	

cv::Mat cv::getRotationMatrix2D( Point2f center, double angle, double scale )
 	{
 	    CV_INSTRUMENT_REGION();
 	
 	    angle *= CV_PI/180;
 	    double alpha = std::cos(angle)*scale;
 	    double beta = std::sin(angle)*scale;
 	
 	    Mat M(2, 3, CV_64F);
 	    double* m = M.ptr<double>();
 	//获取矩阵M的底层数据指针,用于直接访问矩阵元素。
 	    m[0] = alpha;
 	    m[1] = beta;
 	    m[2] = (1-alpha)*center.x - beta*center.y;
 	    m[3] = -beta;
 	    m[4] = alpha;
 	    m[5] = beta*center.x + (1-alpha)*center.y;
 	
 	    return M;
 	}

顺时针为正,左上角为默认坐标原点

CV_INSTRUMENT_REGION()是一个OpenCV宏,用于在代码中进行性能分析和测量。它可以用于标记代码的某个区域,以便在运行时获取该区域的性能指标。(不太明白,先放一下)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值