halcon学习之仿射变换1

1.根据仿射变换提供的变换矩阵,转化给定原点到目标点

HHomMat2D hommat2d;
    hommat2d.HomMat2dIdentity();//产生一个均匀变换矩阵(单位矩阵,没有实质上转化影响)
    Hlong x = 4, y = 6;
    double result_x, result_y;
    hommat2d.AffineTransPixel(x,y,&result_x,&result_y);//进行像素坐标点的仿射变换
    cout << "result_x:" << result_x << " result_y:" << result_y << endl;

2.添加缩放因子到一个仿射矩阵中。

//添加缩放因子到一个仿射矩阵中。
    HHomMat2D hommat2d_scale = hommat2d.HomMat2dScale(0.5, 0.5, 10.0, 10.0);//
    HImage image("1.jpg");
    HImage result_image = image.AffineTransImage(hommat2d_scale, "constant", "true");//对指定image进行仿射变换
        Hlong width, height;
    image.GetImageSize(&width,&height);
    HWindow w(100,100,width,height);
 image.DispColor(w);
    w.Click();
    w.ClearWindow();
    result_image.DispColor(w);
    w.Click();

3.利用一个仿射变换矩阵对指定点进行转化

//利用一个仿射变换矩阵对指定点进行转化
    double p_x = 0, p_y = 0;
    result_y=hommat2d_scale.AffineTransPoint2d(p_x,p_y,&result_x);
    cout << "result_x:" << result_x << " result_y:" << result_y << endl;

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