OpenCV 的AffineTransform(传说中的仿射变换)

为了使数据集具有旋转不变性,本文介绍了如何利用OpenCV的AffineTransform进行图像旋转,并同时更新关键点的位置。通过getRotationMatrix2D计算旋转矩阵,然后使用warpAffine进行仿射变换。同时,提供了将关键点坐标转换为旋转后坐标的函数。
摘要由CSDN通过智能技术生成
为了让数据集能够有旋转不变形,希望在caffe训练处好结果,我对采集的数据集进行了一个仿射变换。
利用opencv可以比较方便的实现这个事情。
我的数据集还有一些点标注。标注需要在图片旋转的同时把关键点也旋转到合适的位置。

Mat affineTransform(Mat src, std::vector<float>& v)
{
    Mat rot_mat(2, 3, CV_32FC1);

    Mat dst = Mat::zeros(src.rows, src.cols, src.type());

    /** Rotating the image after Warp */
    /// Compute a rotation matrix with respect to the center of the image
    Point center = Point(dst.cols / 2, dst.rows / 2);
    double scale = 0.7;

    double angle = ran
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值