opencv 3.0 仿射变换 图形旋转 getRotationMatrix2D warpAffine

图形旋转 主要用矩阵实现坐标系的变换

两个函数比较重要:

getRotationMatrix2D 获取旋转矩阵

warpAffine 实现坐标系仿射变换

注意: 图形旋转之后,边缘有渐变平滑的锯齿

 所以旋转后,本图不再是二值图像,有渐变灰度

(如果使用投影变换,则需要使用perspectiveTransform和warpPerspective)

不多说,上例子:

void rotate_test()
{
    Mat     image(240, 320, CV_8U, Scalar(0));
    Point   center(130, 55);
    double  angle = 15;

    rectangle(image, Rect(80, 60, 100, 50), Scalar(255), CV_FILLED);
    Mat R = getRotationMatrix2D(center, angle, 1.0);// 逆时针旋转angle
    Mat imgR;
    warpAffine(image, imgR, R, Size(320, 240));
    imshow("Image", image);
    imshow("Rotate image", imgR);

    waitKey(0);
}


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值