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);
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值