Halcon学习之仿射变换2

4.序列化一个均匀2D转换矩阵,将序列化矩阵,以二进制方式写入文件中

//序列化一个均匀2D转换矩阵,将序列化矩阵,以二进制方式写入文件中
    HSerializedItem item = hommat2d_scale.SerializeHomMat2d();
    HFile file("affine.hobj", "output_binary");
    item.FwriteSerializedItem(file);
    HHomMat2D temp;
    temp.DeserializeHomMat2d(item);//对已经序列化的变换矩阵进行反序列化处理,重新还原成变换矩阵
    result_image = image.AffineTransImage(temp, "constant", "true");//进行仿射变换
    image.DispColor(w);
    w.Click();
    w.ClearWindow();
    result_image.DispColor(w);
    w.Click();

5.对两个仿射变换矩阵执行相乘操作

    //对两个仿射变换矩阵执行相乘操作
    HHomMat2D multiply = hommat2d.HomMat2dCompose(hommat2d_scale);
    result_image = image.AffineTransImage(multiply, "constant", "true");//进行仿射变换
    image.DispColor(w);
    w.Click();
    w.ClearWindow();
    result_image.DispColor(w);
    w.Click();

6.计算2D转化矩阵的决定因子

    //计算2D转化矩阵的决定因子
    double determinant = hommat2d_scale.HomMat2dDeterminant();
    cout << determinant << endl;

    cout << "7.转化一个仿射变换矩阵" << endl;
    //转化一个仿射变换矩阵
    HHomMat2D invert = hommat2d_scale.HomMat2dInvert();
    result_image = image.AffineTransImage(invert, "constant", "true");//进行仿射变换
    image.DispColor(w);
    w.Click();
    w.ClearWindow();
    result_image.DispColor(w);
    w.Click();

你可能感兴趣的:(仿射变换,halcon)