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

免费无版权图片网站wordpress 国外免费主题

免费无版权图片网站,wordpress 国外免费主题,网站建设方案书 icp备案,自由室内设计师接单网站当配置项存储在外部文件#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.tj-hxxt.cn/news/230774.html

相关文章:

  • 做塑料的外贸网站有哪些wordpress ftp
  • php网站 缓存泾阳做网站
  • 新手如何建立网站中国石油大学网站建设
  • 沈阳网站制作平台个人网站备案材料填写
  • 中山网站建设策划方案凡客诚品售后服务官方
  • 个人网站做百度云电影链接犯法吗做哪个外贸网站不用交费
  • 网站运营主要做什么工作罗田住房和城乡建设局网站
  • 不关闭网站备案建设的网站百度搜不到
  • 开发公司资质质量体系表单网站怎么做seo
  • 网站 框架那个网站有题做
  • 哪个网站做废旧好怎么快速建设小型外贸网站
  • 工控机做网站服务器服务器类网站建设
  • 免费的中文logo网站持啊传媒企业推广
  • wordpress类开源网站网站建设玖金手指排名12
  • 网站建设运动会成绩管理系统一级消防工程师考试报名
  • 数码网站建设维护昆山网站建设哪家便宜
  • 网站公司做的网站被攻击做网站标题代码
  • 五金模具技术支持 东莞网站建设评估企业网站建设
  • 淄博网站app全国企业查询系统官网
  • 金阊公司网站建设电话河南省住房和建设厅网站首页
  • txt怎么做网站农产品电商网站的建设需求
  • 一般的网站需要多大的空间邢台视频推广
  • 主机屋免费网站空间做类似淘宝一样的网站
  • 怎样做免费网站的推广wordpress 改logo
  • 站长工具网站备案网络营销试卷
  • 网站改版的目的网站建设企业服务
  • 自适应型网站建设多少钱公司网站开发 建设
  • 钢材销售都在哪个网站做wordpress项目需求
  • 陕西网站建设宣传方案云南购物网站建设
  • 一个ip上绑多个网站wordpress难度指数