halcon-hom_mat2d_scale計算縮放變換矩陣


5.jpg

 

 在HDevelop中

dev_update_off()
read_image(Image,'D:/bb/tu/5.jpg')
get_image_size (Image, Width, Height)

hom_mat2d_identity (HomMat2D)
*創建一個仿射變換矩陣
hom_mat2d_scale (HomMat2D, 0.5, 0.5, 0, 0, HomMat2DScale)
*計算縮放變換矩陣
*參數1:輸入變換矩陣
*參數2:Row方向(y方向)的縮放系數
*參數3:Column方向(x方向)的縮放系數
*參數4:縮放中心的x坐標
*參數5:縮放中心的y坐標
*參數6:輸出變換矩陣


affine_trans_image (Image, ImageAffineTrans, HomMat2DScale, 'constant', 'false')
*對圖像應用任意仿射2D變換

dev_open_window(0,0,521,338,'black',WindowHandle)
dev_display(ImageAffineTrans)
get_image_size (ImageAffineTrans, Width1, Height1)

 

 

 

 在QtCreator中

    HObject  ho_Image, ho_ImageAffineTrans;
    HTuple  hv_Width, hv_Height, hv_HomMat2D, hv_HomMat2DScale;
    HTuple  hv_WindowHandle, hv_Width1, hv_Height1;
    ReadImage(&ho_Image, "D:/bb/tu/5.jpg");
    GetImageSize(ho_Image, &hv_Width, &hv_Height);

    HomMat2dIdentity(&hv_HomMat2D);
    //創建一個仿射變換矩陣
    HomMat2dScale(hv_HomMat2D, 0.5, 0.5, 0, 0, &hv_HomMat2DScale);
    //計算縮放變換矩陣
    //參數1:輸入變換矩陣
    //參數2:Row方向(y方向)的縮放系數
    //參數3:Column方向(x方向)的縮放系數
    //參數4:縮放中心的x坐標
    //參數5:縮放中心的y坐標
    //參數6:輸出變換矩陣


    AffineTransImage(ho_Image, &ho_ImageAffineTrans, hv_HomMat2DScale, "constant",
        "false");
    //對圖像應用任意仿射2D變換

    SetWindowAttr("background_color","black");
    OpenWindow(0,0,521,338,0,"visible","",&hv_WindowHandle);
    HDevWindowStack::Push(hv_WindowHandle);
    if (HDevWindowStack::IsOpen())
      DispObj(ho_ImageAffineTrans, HDevWindowStack::GetActive());
    GetImageSize(ho_ImageAffineTrans, &hv_Width1, &hv_Height1);

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM