当前位置: 首页 > wzjs >正文

苏州网站建设兼职wordpress seo选项

苏州网站建设兼职,wordpress seo选项,wordpress更换主题 会有什么营销,做网站用什么云服务器hom_mat2d_to_affine_par 的c#实现 背景:为课室贡献一个通用函数,实现halcon算子的同等效果,查询csdn未果,deepseek二哥与chtgpt大哥给不了最终程序,在大哥与二哥帮助下,最终实现同等效果。 踩坑&#xf…

hom_mat2d_to_affine_par 的c#实现

背景:为课室贡献一个通用函数,实现halcon算子的同等效果,查询csdn未果,deepseek二哥与chtgpt大哥给不了最终程序,在大哥与二哥帮助下,最终实现同等效果。

踩坑:1、缩放在x、y方向只输出正值,为负值时的翻转与对称的成像需要通过剪切值的正反去修正;
2、矩阵获得的变换过程对求解公式有影响,此处矩阵获得方式与halcon二维仿射变换矩阵获得方式一致(变换顺序:平移→旋转→剪切→缩放)
halcon矩阵求解公式

///
/// 根据齐次变换矩阵计算仿射变换的参数
///
/// 输入一个变换矩阵(变换顺序:平移→旋转→剪切→缩放)
///
/// 输出角度参数类型,0:弧度值;1:角度值
/// 沿着X方向的缩放因子,范围:大于等于0
/// 沿着Y方向的缩放因子,范围:大于等于0
/// AngType0时旋转弧度,AngType1时旋转角度
/// Y轴倾斜角度/剪切量,AngType0时弧度,AngType1时角度
/// 沿着 X 方向的平移
/// 沿着 Y 方向的平移
/// 返回值为0时正常;-1为函数异常;-2矩阵数组超出9位或后三位非法,不为001
int HomMat2dToAffinePar(double[] homMat, int AngType, out double Sx, out double Sy, out double Phi, out double Theta, out double Tx, out double Ty)
{
Sx = 0; Sy = 0;
Phi = 0; Theta = 0;
Tx = 0; Ty = 0;
try
{
// 验证输入数组有效性
if (homMat.Length != 9 || homMat[6] != 0 || homMat[7] != 0 || homMat[8] != 1)
{
return -2;
}
// 提取平移参数
Tx = homMat[2];
Ty = homMat[5];

            // 提取线性变换部分double a = homMat[0];double b = homMat[1];double c = homMat[3];double d = homMat[4];// 计算X轴缩放和旋转角度Sx = Math.Sqrt(a * a + c * c);if (Sx < 1e-10){ return -1; }// 计算旋转角度Phi = Math.Atan2(c, a); // 弧度// 计算Y轴缩放double cosPhi = Math.Cos(Phi);double sinPhi = Math.Sin(Phi);Sy = Math.Sqrt(Math.Pow((b * cosPhi + d * sinPhi), 2) + Math.Pow((d * cosPhi - b * sinPhi), 2));// 计算水平剪切参数double sd1 = (cosPhi * b) + (sinPhi * d);double sd2 = (cosPhi * d - sinPhi * b);Theta = Math.Atan(sd1 / sd2);// 根据缩放只输出正值对水平剪切的影响,修改剪切值if (sd2 <= 0){Theta = sd1 <= 0 ? (Math.PI + Theta) : (-1 * (Math.PI + Theta));}else{Theta = (Theta * -1);}// 将弧度标准化到[-π, π]范围if (Phi > Math.PI){Phi -= (2 * Math.PI);}else if (Phi < -Math.PI){Phi += (2 * Math.PI);}if (Theta > Math.PI){Theta -= (2 * Math.PI);}else if (Theta < -Math.PI){Theta += (2 * Math.PI);}// 将弧度转为角度if (AngType == 1){Phi = Phi * (180 / Math.PI);Theta = Theta * (180 / Math.PI);}return 0;}catch (Exception e){return -1;}}

使用演示:在任意函数中实现

   double[] g_CalibBYto6AxisHomMat3Test = { 0.99950, 0.000441, -160.94621, 0.00135, -1.000664, 110.402229, 0, 0, 1 };double Sx = 0;double Sy = 0;double Rot = 0;double Theta = 0;double Tx = 0;double Ty = 0;HomMat2dToAffinePar(g_CalibBYto6AxisHomMat3Test, 0, out Sx, out Sy, out Rot, out Theta, out Tx, out Ty);

测试结果:halcon算子hom_mat2d_to_affine_par与c#函数对比一致
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


文章转载自:

http://o3OFGnX3.wgcng.cn
http://S5juOTgs.wgcng.cn
http://iCJjTkaY.wgcng.cn
http://rpId3gWV.wgcng.cn
http://mYLYY4Js.wgcng.cn
http://TLSFoqtC.wgcng.cn
http://PQsti8Hx.wgcng.cn
http://59FvFDd6.wgcng.cn
http://szknc1IV.wgcng.cn
http://XA245rqL.wgcng.cn
http://meAG6xtE.wgcng.cn
http://CkNrd3iB.wgcng.cn
http://YZlOBAMj.wgcng.cn
http://jcXpUYqs.wgcng.cn
http://oLMEn9lB.wgcng.cn
http://qTGTWZL9.wgcng.cn
http://f4gx3n3j.wgcng.cn
http://640n88vP.wgcng.cn
http://BOJ50OJD.wgcng.cn
http://BsFIx8Ng.wgcng.cn
http://Xipt05ss.wgcng.cn
http://Kls8c05C.wgcng.cn
http://oJnjzS2F.wgcng.cn
http://JSgrZ3zg.wgcng.cn
http://E6xXHip2.wgcng.cn
http://nZZI6C1v.wgcng.cn
http://FE5y7mPl.wgcng.cn
http://VckttIWB.wgcng.cn
http://qI9Z9cSA.wgcng.cn
http://EP0HENG7.wgcng.cn
http://www.dtcms.com/wzjs/756883.html

相关文章:

  • 烟台有没有做网站网站被k原因
  • ios软件资源网站西安网络优化哪家好
  • 网上书店网站开发跨境电商平台的特点
  • 全屏网站源码推广方式是什么
  • 东莞公司企业设计网站建设工商注册公司查名
  • 信息类网站有哪些wordpress替换图片不显示
  • 开发一个小程序需要什么技术广州网站优化排名推广
  • 公司网站seo公司关于网站建设的申请报告
  • 做喷绘的图在哪个网站找怎么样做免费的百度seo
  • 网站建设插件广州做网站哪家强
  • 成都网站原创分销商城模板
  • 网站建设好与管理在哪就业html5制作网页的步骤
  • 阿里云搭建自己的网站曲周住房和城乡建设局网站
  • 购物网站的做网络营销的方式与手段
  • 北仑网站建设网站企业网站资料大全
  • 网站后台管理密码忘记做淘宝优惠券怎么有网站
  • 深圳做企业网站哪家好钓鱼网站的制作教程
  • 如何做网站不容易被攻击网站建设 甘肃
  • 佛山企业如何建网站深圳网站开发定制
  • 网站开发实用技术第2版文档wordpress主题破解2019
  • 做网站的销售员电话话术wordpress 拍照
  • 网站模版制作数据网站建设哪家好
  • 免费化工网站建设廉江网站建设公司
  • 佛山网站建设专业定制局域网中做网站
  • 最新仿58同城网站源码搭建网站php源码
  • html网站模版wordpress 表格 链接
  • 纯静态网站seo网站后台建设计划书
  • 快递查询网站建设河东区建设局网站
  • gta5网站显示建设中机房网络建设方案
  • wordpress 留言板展示镇江seo