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

免费无版权图片网站风险地区查询最新

免费无版权图片网站,风险地区查询最新,wordpress 主题 图片,如何做好搜索引擎优化工作当配置项存储在外部文件#xff08;如 XML、JSON#xff09;时#xff0c;修改配置无需重新编译和发布代码。通过更新 XML 文件即可调整参数#xff0c;无需更改源代码#xff0c;从而提升开发效率和代码可维护性。 1. 为什么选择 XML 配置文件 XML 配置文件具有多种优点…当配置项存储在外部文件如 XML、JSON时修改配置无需重新编译和发布代码。通过更新 XML 文件即可调整参数无需更改源代码从而提升开发效率和代码可维护性。 1. 为什么选择 XML 配置文件 XML 配置文件具有多种优点如良好的扩展性、可读性和兼容性等。然而最重要的优势在于其简洁和优雅的结构。 在使用 Python 编写机器学习算法或其他算法时99%的情况需要调用库并使用他人封装的代码。这过程中常常涉及文件路径、参数配置等问题。当算法开发到一定程度基本不需要修改大的结构后此时引入 XML 配置文件来管理输入输出文件及相关参数不仅方便参数的调整还简化了模型的打包过程。 以我自己的一个代码项目为例使用 RANSAC 和 ICP 进行点云配准。在引入 XML 配置文件之前代码如下 if __name__ __main__:# 设置距离阈值voxel_size 5distance_threshold 4print(fUsing voxel size: {voxel_size})print(fUsing distance threshold: {distance_threshold})# 加载模型pcd_mri load_and_convert_to_point_cloud(mri1.stl, num_points8000)pcd_scan preprocess_point_cloud(load_and_convert_to_point_cloud(scan2.stl, num_points10000), voxel_size)pcd_helmet load_and_convert_to_point_cloud(helmet2.stl, num_points6000) ...虽然将需要修改的路径和参数集中在代码前部是一种良好的习惯便于自己维护和调参但对于他人来说代码后部分仍然存在许多需要调整的参数 # 使用RANSAC进行 mri - scan 粗配准 result_ransac_mri_to_scan o3d.pipelines.registration.registration_ransac_based_on_feature_matching(pcd_mri_down, pcd_scan_down, fpfh_mri, fpfh_scan, True,distance_threshold,o3d.pipelines.registration.TransformationEstimationPointToPoint(False),3,[o3d.pipelines.registration.CorrespondenceCheckerBasedOnEdgeLength(0.8),o3d.pipelines.registration.CorrespondenceCheckerBasedOnDistance(distance_threshold)],o3d.pipelines.registration.RANSACConvergenceCriteria(4000000, 500) )# 使用RANSAC进行 helmet - scan 粗配准 result_ransac_helmet_to_scan o3d.pipelines.registration.registration_ransac_based_on_feature_matching(pcd_helmet_down, pcd_scan_down, fpfh_helmet, fpfh_scan, True,distance_threshold,o3d.pipelines.registration.TransformationEstimationPointToPoint(False),3,[o3d.pipelines.registration.CorrespondenceCheckerBasedOnEdgeLength(0.8),o3d.pipelines.registration.CorrespondenceCheckerBasedOnDistance(distance_threshold)],o3d.pipelines.registration.RANSACConvergenceCriteria(4000000, 500) )这些参数通常已经调试好且不需要频繁修改但其他开发者可能不清楚这些参数的具体含义和设置。因此使用 XML 配置文件来规范化参数设置是一种有效的解决方案。 2. 使用 XML 配置文件存储参数 通过一个 XML 配置文件来存储配准相关的参数可以显著提升代码的可维护性和灵活性。以下是一个示例配置文件 ?xml version1.0 encodingUTF-8? configPreprocessingVoxelSize5.0/VoxelSize/PreprocessingAlignmentDistanceThreshold4.0/DistanceThreshold/AlignmentModelFilesMRImri_model.stl/MRIScanscan_model.stl/Scan/ModelFilesNumPointsMRI8000/MRIScan10000/Scan/NumPoints /config3. 解析 XML 文件并提取配置参数 使用 Python 的 xml.etree.ElementTree 库可以轻松解析 XML 文件并提取所需的配置参数。以下是示例代码 import xml.etree.ElementTree as ET# 从 XML 文件中加载参数 def load_parameters_from_xml(xml_file):tree ET.parse(xml_file)root tree.getroot()params {voxel_size: float(root.find(Preprocessing/VoxelSize).text),distance_threshold: float(root.find(Alignment/DistanceThreshold).text),model_files: {mri: root.find(ModelFiles/MRI).text,scan: root.find(ModelFiles/Scan).text,},num_points: {mri: int(root.find(NumPoints/MRI).text),scan: int(root.find(NumPoints/Scan).text),}}return params这样一来代码不仅更加简洁优雅还方便了他人的使用和维护。 4. 保存结果到 XML 文件 同样地输出结果也可以通过 XML 文件进行保存。只要是可以 print 出来的内容都可以使用 XML 来存储。这一方法的好处在于若你的算法需要被集成到某个框架中其他人也可以轻松通过读取 XML 文件来实现输入输出接口。 def save_results_to_xml(file_name, voxel_size, distance_threshold, ransac_results, icp_results):root ET.Element(Results)# 添加基本参数parameters ET.SubElement(root, Parameters)ET.SubElement(parameters, VoxelSize).text str(voxel_size)ET.SubElement(parameters, DistanceThreshold).text str(distance_threshold)# 添加 RANSAC 和 ICP 结果# 省略具体的添加过程最后美化 XML 并写入文件with open(file_name, w, encodingutf-8) as f:f.write(pretty_xml)5. 完整示例代码 以下是最终的完整示例代码展示了如何使用 XML 配置文件来管理参数并进行点云配准 if __name__ __main__:try:import osimport sysBASE_DIR os.path.dirname(os.path.realpath(sys.argv[0]))xml_file_path os.path.join(BASE_DIR, AlignPoint_input.xml)params load_parameters_from_xml(xml_file_path)voxel_size params[voxel_size]distance_threshold params[distance_threshold]# 加载和预处理点云mri_file_path os.path.join(BASE_DIR, params[model_files][mri])scan_file_path os.path.join(BASE_DIR, params[model_files][scan])pcd_mri load_and_convert_to_point_cloud(mri_file_path, params[num_points][mri])pcd_scan preprocess_point_cloud(load_and_convert_to_point_cloud(scan_file_path, params[num_points][scan]), voxel_size)# 计算 FPFH 特征和下采样点云pcd_mri_down, fpfh_mri compute_fpfh_features(pcd_mri, voxel_size)pcd_scan_down, fpfh_scan compute_fpfh_features(pcd_scan, voxel_size)# 执行 RANSAC 和 ICP 配准# ...# 保存结果到 XML 文件save_results_to_xml(AlignPoint_output.xml, voxel_size, distance_threshold, ransac_results, icp_results)# 可视化对齐结果visualize_alignment(pcd_mri, pcd_scan, result_icp_mri_to_scan.transformation)except Exception as e:print(An error occurred:, e)with open(error_log.txt, w) as f:f.write(str(e))OVER
http://www.hkea.cn/news/14587047/

相关文章:

  • 推广电影链接赚佣金seo线上培训多少钱
  • 做网站电脑开一天用多少钱wordpress 标签中文
  • 学校网站建设与管理办法安康 住房城乡建设部网站
  • 做网站推广托管费用金乡县住房与城乡建设局网站
  • 长尾词挖掘工具爱站网给手机开发网站
  • 如何做正规电影网站求职简历模板2021
  • 申请建设部门网站的报告简单网页制作过程
  • wordpress api文档宁波seo关键词排名优化
  • 电梯网站建设网站开发的发展
  • 成都网站商城建设百度店铺
  • 商丘高端网站建设做公司的宣传网站需要注意什么
  • 各大门户网站自动建站网站源码
  • 设计网站做的工作步骤是php网站助手
  • 互联网金融网站设计郑州百姓网征婚交友
  • 淘宝怎么才能发布网站建设wordpress 插件 页面
  • 网站改版需要注意哪些seo问题微信公众号 视频网站开发
  • 城阳做网站找哪家好store软件下载
  • 网站seo优化网站我想找一个电销外包团队
  • 网站建设沈阳公司哪家好做外贸要有英文网站吗
  • h5响应式集团网站推荐营销型网站设计流程
  • 毕业设计餐饮网站建设企业logo设计说明
  • 久治县网站建设公司游戏制作公司排名
  • 3g 手机网站wordpress外观自定义
  • 网站平台建设情况汇报能够做简历的网站
  • 合肥本地网站高校网站群建设
  • php搭建网站软件吉林3厅官齐聚任免大会宁波网站建设
  • 常德网站建设要点网咯鸟深圳网站建设
  • 太原市建设银行网站开发公司会计工作职责
  • 网络营销的网站分类有简单的企业网站cms
  • 口碑好的做网站威海市住房和城乡建设局网站