Opencv中文网

平移(WarpAffine 仿射平移)

算法:WarpAffine 仿射平移

平移矩阵

[1, 0, tx]
[0, 1, ty]
  • tx:X 轴偏移
    • 范围:- 图像宽度~图像宽度
    • 正负:正数向右、负数向左
  • ty:Y 轴偏移
    • 范围:- 图像高度~图像高度
    • 正负:正数向下、负数向上
public override Mat Execute(Mat src)
{
    if (src == null || src.Empty()) return new Mat();

    Mat dst = new Mat();
    // 生成平移矩阵
    Mat transMat = Cv2.GetRotationMatrix2D(new Point2f(0, 0), 0, 1);
    transMat.Set(0, 2, OffsetX);
    transMat.Set(1, 2, OffsetY);

    // 执行仿射变换
    Cv2.WarpAffine(
        src,
        dst,
        transMat,
        src.Size(),
        InterpolationFlags.Linear,
        BorderTypes.Constant,
        Scalar.Black
    );

    transMat.Dispose(); // 释放矩阵
    return dst;
}

copyright @重庆教主 WPF中文网 联系站长:(QQ)23611316 (微信)movieclip (QQ群).NET小白课堂:864486030 | 本文由WPF中文网原创发布,谢绝转载 渝ICP备2023009518号-1