halcon-polar_trans_image_inv将极坐标中的图像转换回笛卡尔坐标--直线变成圆环

在HDevelop中

tt.jpg

 

 

复制代码
read_image(Image,'D:/bb/tu/tt.jpg')
get_image_size (Image, Width, Height)
*宽可以看做周长,高可以看成半径r

d:=Width/3.1415
*直径

polar_trans_image_inv (Image, XYTransImage, Height, Height, 0, 6.28319, 0, Height, d, d, 'nearest_neighbor')
*将极坐标中的图像转换回笛卡尔坐标--直线变成圆环
*参数1:输入图像
*参数2:输出图像
*参数3:圆弧中心的行坐标-x
*参数4:圆弧中心的列坐标-y
*参数5:起始弧度,默认值:0.0
*参数6:结束弧度
*参数7:极坐标开始的极长,一般是0
*参数8:极坐标结束的极长,一般是圆半径r
*参数9:图片宽,【直径】
*参数10:图片高【直径】
*参数11:插值,值列表:'bilinear', 'nearest_neighbor'



dev_open_window(0,0,d,d,'black',WindowHandle)
disp_obj (XYTransImage, WindowHandle)
复制代码

 

在Qt Creator中

    HObject  ho_Image, ho_XYTransImage;
    HTuple  hv_Width, hv_Height, hv_d, hv_WindowHandle;
复制代码
    ReadImage(&ho_Image, "D:/bb/tu/tt.jpg");
    GetImageSize(ho_Image, &hv_Width, &hv_Height);
    //宽可以看做周长,高可以看成半径r

    hv_d = hv_Width/3.1415;
    //直径

    PolarTransImageInv(ho_Image, &ho_XYTransImage, hv_Height, hv_Height, 0, 6.28319,
        0, hv_Height, hv_d, hv_d, "nearest_neighbor");
    //将极坐标中的图像转换回笛卡尔坐标--直线变成圆环
    //参数1:输入图像
    //参数2:输出图像
    //参数3:圆弧中心的行坐标-x
    //参数4:圆弧中心的列坐标-y
    //参数5:起始弧度,默认值:0.0
    //参数6:结束弧度
    //参数7:极坐标开始的极长,一般是0
    //参数8:极坐标结束的极长,一般是圆半径r
    //参数9:图片宽,【直径】
    //参数10:图片高【直径】
    //参数11:插值,值列表:'bilinear', 'nearest_neighbor'



    SetWindowAttr("background_color","black");
    OpenWindow(0,0,hv_d,hv_d,0,"visible","",&hv_WindowHandle);
    HDevWindowStack::Push(hv_WindowHandle);
    DispObj(ho_XYTransImage, hv_WindowHandle);

    WriteImage(ho_XYTransImage, "jpeg", 0, "D:/bb/ttt");
复制代码

 

 

 

 

 

 

 

 

 

posted @   天子骄龙  阅读(364)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航