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

网站建设app小程序开发网站如何做快捷支付

网站建设app小程序开发,网站如何做快捷支付,网站建设辶金手指排名十一,网站制作老了一、例程简介 最近在研究3D识别方面的东西#xff0c;查了不少资料#xff0c;发现halcon里有不少关于三维物体识别的例程#xff0c;这里对其中一个做出详解。该例程是基于三维匹配方法的#xff0c;因为有三维模型SM3#xff0c;所以不需要自己创建#xff1b;另因为例…一、例程简介 最近在研究3D识别方面的东西查了不少资料发现halcon里有不少关于三维物体识别的例程这里对其中一个做出详解。该例程是基于三维匹配方法的因为有三维模型SM3所以不需要自己创建另因为例程中的图像有多种不同的姿态建立三维模型所需要的内存会很大所以设定最低模型级别显著降低了算法运行时间但相对的会损失算法的鲁棒性和检索时间。 二、例程详解 dev_update_off () * 设置面扫相机参数参数可通过相机校正来获取。此算子为库函数通过Division畸变模型生成一个相机参数元组。 * 其中参数含义为焦距模拟径向透镜畸变的畸变系数传感器上两个相邻单元之间的水平距离传感器上两个相邻单元之间的垂直距离光心列坐标光心行坐标图宽图高输出相机参数 gen_cam_par_area_scan_division (0.0269462, -354.842, 1.27964e-005, 1.28e-005, 254.24, 201.977, 512, 384, CamParam) { CameraParam :[area_scan_division,Focus,Kappa,Sx,Sy,Cx,Cy,ImageWidth,ImageHeight] return () } * 获取相机参数,返回要求的图像宽参数。 get_cam_par_data (CamParam, image_width, IWidth) { *返回相机的类型和参数名 get_cam_par_names (CameraParam, CameraType, CameraParamNames) * * 找到相机数据的索引并返回对应的值。 ParamValue : [] *依次读取参数名ParamName在get_cam_par_names已被赋值为image_width for Index : 0 to |ParamName| - 1 by 1ParamNameInd : ParamName[Index]if (ParamNameInd camera_type)ParamValue : [ParamValue,CameraType]continueendif* I为image_width在CameraParamNames的索引值为7I : find(CameraParamNames,ParamNameInd)if (I ! -1)*将图宽值赋值给ParamValueParamValue : [ParamValue,CameraParam[I]]elsethrow (Unknown camera parameter ParamNameInd)endif endfor return () } get_cam_par_data (CamParam, image_height, IHeight) * read_image (Image, tile_spacers/tile_spacers_color_01) dev_close_window () dev_open_window (0, 0, 512 * 1.5, 384 * 1.5, white, WindowHandle) set_display_font (WindowHandle, 16, mono, true, false) dev_set_line_width (3) dev_clear_window () disp_message (WindowHandle, Reading the 3D shape model file from disk ..., window, 12, 12, black, false) * 如果磁盘没有可用的话就创建3D模型 try * 读取3D形状模型具体地址在C盘MVTec文件夹下examples\hdevelop\3D-Matching\Shape-Based。read_shape_model_3d (tile_spacer.sm3, ShapeModel3DID) catch (Exception)* 读目标3D模型的DXF文件CAD格式但因为上一步可以运行所以这一部分没用了。* 参数文件名文件单位的转换尺度(单位为100um)参数名参数值3D模型句柄状态信息read_object_model_3d (tile_spacer.dxf, 0.0001, [], [], ObjectModel3DID, DXFStatus)*为指定操作准备3D模型可以计算所需要的值并储存在objectModel3D*参数3D模型句柄目的指定是否应覆盖已存在的数据参数名参数值prepare_object_model_3d (ObjectModel3DID, shape_based_matching_3d, true, [], [])disp_message (WindowHandle, Reading the 3D shape model file from disk ... not found!, window, 12, 12, red, false)disp_message (WindowHandle, Creating the 3D shape model (may take a few seconds) ..., window, 42, 12, black, false)count_seconds (S1)* 创建3D形状模型是通过计算三维物体模型在用户指定的姿势范围内的不同视图而生成的。通过在三维物体模型周围放置虚拟摄像机并将三维物体模型投影到每个虚拟摄像机位置的图像平面上自动生成视图* 因此在生成三维形状模型时不使用对象的图像只使用在objectModel3D中传递的三维对象模型所有视图的形状表示都存储在三维形状模型中该模型返回到shapeModel3DID中。在创建三维形状模型之前必须校准相机以防止畸变。* 参数3D模型句柄相机参数沿x轴/x分量旋转的罗德里格斯矢量y轴z轴参考向量的旋转值模型视图的最小经度* 最大经度模型视图的最小纬度最大纬度模型视图的最小摄影机滚动角度最大角度模型视图的最小摄影机对象距离最大距离搜索图像中对象的最小对比度用于控制运算符行为的可选参数的名称最低模型级别,可选参数值句柄create_shape_model_3d (ObjectModel3DID, CamParam, 0, 0, 0, gba, -rad(60), rad(60), -rad(60), rad(60), 0, rad(360), 0.26, 0.27, 10, lowest_model_level, 3, ShapeModel3DID)count_seconds (S2)T : S2 - S1disp_message (WindowHandle, Creation time: T$.3 s, window, 72, 12, black, false)trydisp_message (WindowHandle, Writing model to disk ..., window, 102, 12, black, false)*存储3D模型write_shape_model_3d (ShapeModel3DID, tile_spacer.sm3)catch (Exception)disp_message (WindowHandle, Writing model to disk ... failed!, window, 102, 12, red, false)disp_continue_message (WindowHandle, black, true)stop ()endtry endtry *显示模型信息 disp_lowest_model_level_info (WindowHandle) disp_continue_message (WindowHandle, black, true) stop () * 匹配 Times : [] NumImages : 12 for I : 1 to NumImages by 1read_image (Image, tile_spacers/tile_spacers_color_ I$02)dev_display (Image)* * 查找三个三维模型的实例将“border”模型设置为“true”因为对象可能会接触图像边界* 程序开始到现在过去的时间count_seconds (Seconds1)*在图像中找出一个3D模型的最佳匹配*参数输入图像3D模型的句柄最低分数值越大搜索速度越快贪婪度值越大搜索越快但更容易失败该值决定搜索过程中金字塔层的数量设为0则数量为创建模型时的指定值控制操作行为的参数名参数值模型的3D位姿姿态参数的36个协方差或6个标准差分数find_shape_model_3d (Image, ShapeModel3DID,0.7, 0.85, 0, [num_matches,max_overlap,border_model], [3,0.75,true], Pose, CovPose, Score)count_seconds (Seconds2)计算匹配时间Time : Seconds2 - Seconds1Times : [Times,Time]*通过使用匹配的姿势将三维形状模型投影到图像中将找到的匹配项可视化for J : 0 to |Score| - 1 by 1*显示轮廓PoseTmp : Pose[J * 7:J * 7 6]*将三维形状模型的边投影到图像坐标中。project_shape_model_3d (ModelContours, ShapeModel3DID, CamParam, PoseTmp, true, rad(30))dev_set_color (yellow)dev_display (ModelContours)* 显示3D模型的坐标系dev_set_colored (3)disp_3d_coord_system (WindowHandle, CamParam, PoseTmp, 0.015)endforfor K : 0 to |Score| - 1 by 1* 显示找到的位姿的参数PoseTmp : Pose[K * 7:K * 7 6]*自定义函数显示位姿信息display_match_pose (ShapeModel3DID, PoseTmp, WindowHandle){*查找模型参数参考点坐标get_shape_model_3d_params (ShapeModel3DID, reference_point, ReferencePoint)*查找相机参数get_shape_model_3d_params (ShapeModel3DID, cam_param, CamParam) * * Project the reference point * 将三维姿态转换为齐次变换矩阵。 pose_to_hom_mat3d (Pose, HomMat3D) *对点应用任意仿射3D变换 affine_trans_point_3d (HomMat3D, ReferencePoint[0], ReferencePoint[1], ReferencePoint[2], X, Y, Z) *将3D点投影到亚像素图像坐标中。 project_3d_point (X, Y, Z, CamParam, Row, Column) * 显示参考点坐标 Message : Pose: Message[1] : X: (1000 * Pose[0])$4.1f mm Message[2] : Y: (1000 * Pose[1])$4.1f mm Message[3] : Z: (1000 * Pose[2])$4.1f mm Message[4] : Alpha: Pose[3]$4.1f ° Message[5] : Beta: Pose[4]$4.1f ° Message[6] : Gamma: Pose[5]$4.1f ° disp_message (WindowHandle, Message, image, Row, Column - 30, black, [#ffffffcc,false]) return () }endfor*在左上角显示匹配用时disp_message (WindowHandle, |Score| Match(es) found in Time$4.2f s, window, 12, 12, dark green, [white,false])if (I NumImages)disp_continue_message (WindowHandle, black, [white,false])stop ()endif endfor * disp_end_of_program_message (WindowHandle, black, [white,false])三、总结 下面对上述基于形状的3D匹配方法进行总结主要包含以下几个步骤 1.读取/创建3D模型read_object_model_3d/create_shape_model_3d 2.对二维图像进行3D匹配计算得分find_shape_model_3d 3将匹配结果可视化project_shape_model_3dproject_3d_point 总的来看这种3D匹配方法还是比较好用的对于物体间遮挡的情况也可以进行识别难点在于调参吧。该方法的原理根据三维模型的位姿信息来对图像中的目标进行搜索并判断返回一个匹配度值网上没有更为详细的代码应该是比较难吧基于点云的还有不少资料目前业界关于3D识别方面的项目还没有很普遍研究者较少希望后面有所改善。 如果大家有意见和想法可以一起交流注意点赞评论哦。
http://www.zqtcl.cn/news/772/

相关文章:

  • 合肥外贸网站推广建筑工程分包平台
  • 金华网站制作费用佛山网络推广电话
  • 做网站能注册账号的县门户网站建设整改
  • 网站备案流程及步骤辽阳免费网站建设公司
  • 上海加强旅游住宿业与商业场所南宁快速优化排名
  • 企业百度网站怎么做湖南响应式网站建设费用
  • 聊城网站建设电话可以做动漫网站的源码源码
  • mv网站源码网络空间安全考研
  • 建设企业网站的哪家好微信小程序开通流程
  • 绥化市住房和城乡建设网网站聚名网实名认证
  • 天津seo公司网站海报设计网站免费
  • 宁波网站设计价格北京微信网站建设费用
  • 宜昌网站建设设计自学做网站
  • 温州免费建站模板南京网站设计网站
  • 二合一收款码免费制作网站企业管理系统介绍
  • 综合网站系统彩妆网站建设
  • 网站平台结构马鞍山网站建设价格
  • 酒店网站设计电子商务网站建设林锋课本答案
  • 建设银行网站不主动弹出安康网站开发公司报价
  • 制作网站商东城专业网站建设公司
  • 安徽企业网站制作排名优化公司电话
  • 成都网站制作系统wordpress页面 文章
  • 南昌自主建站模板asp.net 跳转别的网站
  • 企业门户网站建设管理制度wap网站制作工具
  • 鞍山市建设局网站logo素材大图
  • 建设网站哪家公司比较好广州展厅设计公司有哪些
  • 高速建设材料在哪个网站购买网站水晶头怎么做
  • 凤凰一级a做爰片免费网站福建银瑞建设工程有限公司网站
  • 营销推广网站建设网页设计左右布局代码
  • 网站建设代理多少钱网站制作软件dw的全称