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

唐山设计网站公司免费建造网站系统

唐山设计网站公司,免费建造网站系统,社区类网站建设,软件开发工程师访谈报告目标:获取绿色圆所在位置(可用于点焊/点胶引导) 实现思路 一,相机标定板标定(如果实战用于点焊/点胶引导需要做图像畸变校正以减小误差) 相机标定 如何做一个C#仿Halcon Calibration插件-CSDN博客 二&…

目标:获取绿色圆所在位置(可用于点焊/点胶引导)

实现思路

一,相机标定板标定(如果实战用于点焊/点胶引导需要做图像畸变校正以减小误差)

      相机标定

      如何做一个C#仿Halcon Calibration插件-CSDN博客

二,九点标定(图像位姿与点焊/点胶坐标转换)

三,获取指定位置全部轮廓  segment_contours_xld

四,get_contour_global_attrib_xld  获取Attrib值,通过值判定拟合类型

       详情可以参考之前博客

       Halcon XLD轮廓分割_halcon轮廓分割-CSDN博客

五,轮廓拟合(直线/圆/椭圆)获取每个轮廓的端点/半径/起始角度信息

六,获取所有轮廓的长度信息

七,创建列表保存所有信息

八,判定长度信息与落点位置(例如黄色轮廓不满足两次落点间隔,则粉色轮廓的初次落点位置为(指定间隔长度-黄色轮廓长度)以此类推,直至落点布满全部轮廓)

难点解析

指定点在指定直线指定间隔平移 与  指定点在圆弧上指定间隔平移

一,指定点在指定直线指定间隔平移

解决方法,线性代数

Row      初始行坐标
Column   初始列坐标
Length   直线偏移距离
num      可绘制点数for Index := 0 to num by 1Rnew:=-Length*sin(Angle)*Index+RowCnew:=Length*cos(Angle)*Index+Columngen_cross_contour_xld (Cross1, Rnew, Cnew, 6, Angle)
endfor

二,指定点在圆弧上指定间隔平移

解决方案,旋转矩阵

实现效果

更改分割间隔

C#分割测试代码

private void btn_Seg1_Click(object sender, EventArgs e)
{showWorkMsg(listView1, "计时开始", Color.Tan);HObject ho_Cross=null, ho_Cross1 = null;HTuple  hv_HomMat2DIdentity = new HTuple(), hv_HomMat2DTranslate = new HTuple(), hv_HomMat2DRotate = new HTuple();HTuple hv_R1 = new HTuple(), hv_C1 = new HTuple();HTuple hv_R = new HTuple(),hv_C = new HTuple();HOperatorSet.GenEmptyObj(out ho_Cross1);HOperatorSet.GenEmptyObj(out ho_Cross);//获取长度double ClipLength = Convert.ToDouble(tbx_length.Text);//获取分割数量int NumCilp = Convert.ToInt32(Math.Floor(Length / ClipLength));//获取单个角度double AngleStep = (hv_end_angle.D - hv_start_angle.D) / NumCilp;//X偏移double X = ((-hv_ra) * (hv_start_angle.TupleSin()));//Y偏移double Y = (hv_ra * (hv_start_angle.TupleCos()));//创建矩阵hv_HomMat2DIdentity.Dispose();HOperatorSet.HomMat2dIdentity(out hv_HomMat2DIdentity);hv_HomMat2DTranslate.Dispose();HOperatorSet.HomMat2dTranslate(hv_HomMat2DIdentity, X, Y, out hv_HomMat2DTranslate);hv_R.Dispose();hv_R = new HTuple();hv_C.Dispose();hv_C = new HTuple();//循环获取点和轮廓for (int i = 0; i < NumCilp+1; i++) {hv_HomMat2DRotate.Dispose();HOperatorSet.HomMat2dRotate(hv_HomMat2DTranslate, i * AngleStep , hv_R_Centr,hv_C_Centr, out hv_HomMat2DRotate);hv_R1.Dispose(); hv_C1.Dispose();HOperatorSet.AffineTransPoint2d(hv_HomMat2DRotate, hv_R_Centr, hv_C_Centr,out hv_R1, out hv_C1);ho_Cross1.Dispose();HOperatorSet.GenCrossContourXld(out ho_Cross1, hv_R1, hv_C1, 60, 0.785398);HOperatorSet.ConcatObj(ho_Cross, ho_Cross1,out ho_Cross);HTuple ExpTmpLocalVar_R = hv_R.TupleConcat(hv_R1);hv_R.Dispose();hv_R = ExpTmpLocalVar_R;HTuple ExpTmpLocalVar_C = hv_C.TupleConcat(hv_C1);hv_C.Dispose();hv_C = ExpTmpLocalVar_C;double rrr = Convert.ToDouble(hv_R1.D);double ccc = Convert.ToDouble(hv_C1.D);showWorkMsg(listView1,"R:"+ rrr.ToString("0.000") +"  ,   C:"+ ccc.ToString("0.000"), Color.Teal);}HW.DispObj(ho_Cross);showWorkMsg(listView1, hv_R.ToString(), Color.Teal);showWorkMsg(listView1, hv_C.ToString(), Color.Teal);showWorkMsg(listView1, "计时结束", Color.Tan);}

http://www.yayakq.cn/news/50040/

相关文章:

  • 济南网站建设培训班大网站开发费用
  • 如何查找网站备案南京企业建设网站设计
  • 地方门户网站运营方案ui培训基地
  • 柳江网站建设有招聘网站策划的吗
  • 微信公众号内嵌网站开发如何建设网站子页
  • 网站建设平台设备将网站加入小程序
  • 建收费网站深圳品牌公寓有哪些
  • 昆明怎样优化网站电子商务网站的建设步骤有
  • asp影视网站源码杭州千锋教育地址
  • 自贡市城市建设投资开发集团有限公司网站品牌排名网站
  • 网站静态和动态区别物流网站建设方案
  • 太原做网站的鸣蝉公司电商网站设计公司只选亿企邦
  • 北京市丰台区建设部官方网站互联网推广有哪些方式
  • 怎样做网站变手机软件wordpress放大镜没用
  • 有手机网站怎样做微信小程序做专业网站
  • 注册网站公司兴安盟市住房和城乡建设局网站
  • 百拓公司做网站怎么样网站优化内容
  • 初学网站开发书籍域名个人备案查询
  • 允许个人做动漫网站吗软文营销软文推广
  • 云校网站建设广州做网站平台的企业
  • 百度网站推广找谁做国内广告投放平台
  • 安阳做一个网站多少钱竹子建站邀请码
  • 百度站长工具排名网站建设是
  • 怎么区分网站是模板做的电影网站如何做
  • dede安装好后是模板怎么变成做好的网站中国建设银行北京招聘信息网站
  • 个人网站怎么备案可以做哪些杭州公司注册地址可以是住宅吗
  • 淘宝客网站静态还是动态好陈塘庄做网站公司
  • 企业手机网站建设策划方案网上注册一个公司需要多少钱
  • 有关网站建设国内外现状的文献凡科企业邮箱
  • 网站个人信息页面布局网站做资讯需要获取许可证吗