halcon-hom_mat2d_rotate计算旋转变换矩阵
在HDevelop中
5.jpg
dev_update_window ('off') read_image(Image,'D:/bb/tu/5.jpg') hom_mat2d_identity (HomMat2D) *创建一个仿射变换矩阵 jiaodu:=30 tuple_rad (jiaodu, Rad) *度转换为弧度 hom_mat2d_rotate (HomMat2D, Rad, 154, 158, HomMat2DRotate) *计算旋转变换矩阵 *参数1:输入变换矩阵 *参数2:旋转角度(弧度) *参数3:变换的不动点(x坐标) *参数4:变换的不动点(y坐标) *参数5:输出变换矩阵 affine_trans_image (Image, ImageAffineTrans, HomMat2DRotate, 'constant', 'false') dev_open_window(0,0,521,338,'black',WindowHandle) dev_display(ImageAffineTrans)
在QtCreator中
HObject ho_Image, ho_ImageAffineTrans;
HTuple hv_HomMat2D, hv_jiaodu, hv_Rad, hv_HomMat2DRotate;
HTuple hv_WindowHandle;
ReadImage(&ho_Image, "D:/bb/tu/5.jpg"); HomMat2dIdentity(&hv_HomMat2D); //创建一个仿射变换矩阵 hv_jiaodu = 30; TupleRad(hv_jiaodu, &hv_Rad); //度转换为弧度 HomMat2dRotate(hv_HomMat2D, hv_Rad, 154, 158, &hv_HomMat2DRotate); //计算旋转变换矩阵 //参数1:输入变换矩阵 //参数2:旋转角度(弧度) //参数3:变换的不动点(x坐标) //参数4:变换的不动点(y坐标) //参数5:输出变换矩阵 AffineTransImage(ho_Image, &ho_ImageAffineTrans, hv_HomMat2DRotate, "constant", "false"); 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());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)