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

如何自己做论坛网站网页设计师证书什么时候考

如何自己做论坛网站,网页设计师证书什么时候考,凡科建站视频教程,长沙网站制作公司推荐一、前言 在我的工业相机专栏里已经将相机标定涉及到的理论部分讲解完毕#xff0c;为什么要标定以及标定要求出什么参数呢#xff0c;用一个Halcon 例程来帮助理解。 这个例程是比较经典的标定程序#xff0c;基本将标定过程讲的比较清楚#xff0c;用的标定图像是系统自…一、前言 在我的工业相机专栏里已经将相机标定涉及到的理论部分讲解完毕为什么要标定以及标定要求出什么参数呢用一个Halcon 例程来帮助理解。 这个例程是比较经典的标定程序基本将标定过程讲的比较清楚用的标定图像是系统自带的如果想自己做可以在Halcon助手选项里拍照生成。 二、代码 * 设置窗口和字体 ImgPath : 3d_machine_vision/calib/ dev_close_window () dev_open_window (0, 0, 640, 480, black, WindowHandle) dev_update_off () dev_set_draw (margin) dev_set_line_width (3) set_display_font (WindowHandle, 22, mono, true, false) * * 相机标定过程 * * 生成面阵相机初始参数参数均为相机已知参数 * : : 焦距, 畸变因子, Sx, Sy, Cx, Cy, 图像宽度, 图像高度 : CameraParam存储元组 * Sx, Sy为传感器芯片上两个相邻单元之间的水平竖直距离也就是像素的大小单位为m/像素Cx, Cy为图像原点的行列坐标单位为像素 gen_cam_par_area_scan_division (0.012, 0, 0.00000375, 0.00000375, 640, 480, 1280, 960, StartCamPar) *创建Halcon标定数据模型标定类型相机数量标定物数量模型句柄 *其作用在于指定相机标定类型设置标定过程存储标定数据和结果。 create_calib_data (calibration_object, 1, 1, CalibDataID) *设定相机初始参数句柄相机参数索引相机类型起始相机参数 *此段程序跑完的句柄见下图。 set_calib_data_cam_param (CalibDataID, 0, [], StartCamPar) *设定标定板初始参数句柄标定板数量索引标定板描述文件名或者标定板所有点的三维坐标此例生成三维坐标系坐标值x,y,z其中z为0坐标原点在finder模式的中心Mark点中心坐标系的z轴指向标定板x轴指向右侧y轴指向下方视角沿z轴。 set_calib_data_calib_object (CalibDataID, 0, calplate_80mm.cpd)//此文件可用记事本打开里面记录了标定板五个mark模式的点坐标和半径。 calibration marks at y -0.0290538 m -0.0374193548387097 -0.0290537554818005 0.000645161290322581*读图并生成落轮廓和点的特征参数值 NumImages : 7 for I : 1 to NumImages by 1 *读图路径在C盘用户公共文档里% 2d是将数字按宽度为2采用右对齐方式输出若数据位数不到2位则左边补空格所以文件名为calib_0X。read_image (Image, ImgPath calib_image_ I$02d)dev_display (Image)*寻找标定板并在模型中设定提取的点和轮廓信息*图像变量句柄相机的索引标定板的索引计数变量参数名使用六边形标定板设置额外的参数值可以使图像平滑等参数值*该算子将标定板每个点的轮廓和点坐标索引和此图像标定板相对于相机坐标系的位姿提取出来保存在句柄中。*find_caltab在图像中寻找标定板是基于标定板的特征——在一个亮的区域中存在黑色Mark点*算子对图像高斯滤波核大小为SizeGauss接着阈值分割与之大小为MarkThresh将标定板的区域找出来.find_calib_object (Image, CalibDataID, 0, 0, I, [], [])*从标定数据模型中获取基于轮廓的观测数据*轮廓变量句柄返回标定板查找模式的轮廓内含三个参数marks返回每一个轮廓calib(返回查找模式的轮廓)last_caltab会返回上次成功的查找结果但会忽略索引信息相机索引标定板索引变量* 标定板查找器有两种模式一种是特殊标记六边形即一个标记及其六个相邻标记其中四个或六个标记包含一个孔另外是带有矩形排列标记的校准板校准板的边缘在一角有一个三角形。这里是第一种结果如下图所示。get_calib_data_observ_contours (Caltab, CalibDataID, caltab, 0, 0, I)*从标定数据模型中获取基于点的观测数据get_calib_data_observ_points (CalibDataID, 0, 0, I, Row, Column, Index, StartPose)dev_set_color (green)dev_display (Caltab)dev_set_color (red)*画出坐标的轮廓轮廓以中心点的方式显示窗口句柄中心点行坐标列坐标半径tuple_gen_const(: : Length, Const : Newtuple)元组长度常量初始值disp_circle (WindowHandle, Row, Column, gen_tuple_const(|Row|,1.5)) endfor关于find_calib的更多细节见链接 Halcon相机标定 *最重要的算子相机标定通过同步的最小化过程确定所有相机参数 *计算相机内外参矩阵原理见链接(https://blog.csdn.net/baidu_35536188/article/details/109772056) *句柄优化后的反投影的均方根误差RMSE单位为像素该误差用来反映优化是否成功越接近0表示效果越好 calibrate_cameras (CalibDataID, Errors) *获取相机标定数据--内参值将其存在CamParam上。 get_calib_data (CalibDataID, camera, 0, params, CamParam) *获取标定板数据将其第一幅图的位姿存在Pose里。 get_calib_data (CalibDataID, calib_obj_pose, [0,1], pose, Pose)* To take the thickness of the calibration plate into account, the z-value * of the origin given by the camera pose has to be translated by the * thickness of the calibration plate. * Deactivate the following line if you do not want to add the correction. * *设置新的坐标原点。在Z轴坐标加0.02,主要是考虑标定板的厚度该算子通过DX、DY和DZ给定的向量转换3D poseIn的原点并以poseNewOrigin形式返回结果。 set_origin_pose (Pose, 0, 0, 0.002, Pose) * measure the distance between the pitch linesread_image (Image, ImgPath ruler) dev_display (Image) * 准备提取垂直于矩形长轴的直边。 矩形的中心在(Row,Column)Phi为矩形主轴的角度Lenth1和Lenth2为两轴的长度即矩形两边长度的一半。 * 矩形中心点的行坐标列坐标矩形的纵轴与水平的角度弧度矩形的半宽矩形的半高图像的宽高要使用的插值类型测量对象句柄 gen_measure_rectangle2 (690, 680, rad(-0.25), 480, 8, 1280, 960, bilinear, MeasureHandle) *提取垂直于矩形或环形弧的边缘对 *图像句柄高斯平滑的西格玛参数值最小边缘幅度灰度值转换的类型以确定边缘如何成对边缘对第一条边的中心的Row坐标列坐标 边缘对第一条边的边缘幅度带符号边缘对第二条边的中心的Row坐标列坐标边缘幅度边缘对内部之间的距离边缘间距离 measure_pairs (Image, MeasureHandle, 0.5, 5, all, all, RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance) Row : (RowEdgeFirst RowEdgeSecond) / 2.0 Col : (ColumnEdgeFirst ColumnEdgeSecond) / 2.0 *显示X点如下图所示。 disp_cross (WindowHandle, Row, Col, 20, rad(45)) *将图像点转换为世界坐标系的z0平面 *相机内参位姿行列单位世界坐标系的X坐标点Y坐标点 image_points_to_world_plane (CamParam, Pose, Row, Col, mm, X1, Y1) *计算两点间的距离 distance_pp (X1[0:11], Y1[0:11], X1[1:12], Y1[1:12], Distance) *求平均距离和 tuple_mean (Distance, MeanDistance) *计算距离的标准差 tuple_deviation (Distance, DeviationDistance) disp_message (WindowHandle, Mean distance: MeanDistance$.3f mm /- DeviationDistance$.3f mm, window, 30, 60, yellow, false)三、总结 Halcon 的标定步骤总结如下 gen_cam_par_area_scan_division生成相机参数矩阵create_calib_dataset_calib_data_cam_param set_calib_data_calib_object创建标定数据模型并设定相机和标定板的参数值包括相机起始内参和标定板的坐标系。find_calib_object,在多幅标定图像中寻找标定板并提取其轮廓和点特征生成相对于相机坐标系的位姿矩阵7维。calibrate_cameras计算内外参并计算误差值。读实际要测量的图设定感兴趣矩形区域并通过边缘检测计算边缘点坐标并标记出来并根据计算出的内外参将二维坐标转为3维坐标计算出偏差。 综合下来感觉HALCON标定的过程还是比较清晰的关键算子里面的程序还是需要理解一下。
http://www.pierceye.com/news/267338/

相关文章:

  • 的网站开发工具有哪些免费制作永久企业网站
  • 网站举报查询一个网站开发的权限
  • 简约网站程序海南网络广播电视台少儿频道
  • 深圳高端品牌网站设计wordpress 树形主题
  • 怎么自己创建一个网站国外企业网络研究
  • 去百度建网站北京企业网站设计公司
  • mysql 收费 网站建设wordpress主题后台不显示
  • 网站cname解析陕西住房建设厅考试官方网站
  • 网站建设有关书籍设计制作散发寄递
  • 威海建设信息网站织梦网站广告代码如何写
  • 玉林市网站开发公司wordpress tag静态化
  • 广州网站建设建航科技百度域名书写
  • 免费做网站安全吗网站不备案可以访问吗
  • 网上做网站兼职最近10条重大新闻
  • 企业网站制作 徐州政务网站建设要求
  • 网站链接加密重庆黄埔seo整站优化
  • 没有网站怎么做链接视频播放器crm营销管理系统
  • 网站建设艾金手指六六12app源码开发公司
  • 山东做网站建设公司排名互联网官网
  • 民宿网站开发方案静态网站源文件下载
  • 绵阳网站建设优化甘肃省安装建设集团公司网站
  • wordpress建站知乎广告设计软件coreldraw教程
  • wordpress注册无法发送邮件保定seo外包服务商
  • 进口外贸网站有哪些wordpress百度统计代码
  • 建筑网站排行国外网站备案流程
  • dw做网站一般是多大的尺寸网站开发运行环境论文
  • 湖北省建设厅政务公开网站聊城开发app公司
  • 石家庄网站建设接单金融软件网站建设公司排名
  • 企企业业网网站站建建设设哪个网站可以做纸箱
  • 国外专门做视频翻译网站吗山西时代网站建设