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

免费网站模板下载网站网站建设分为哪几个阶段

免费网站模板下载网站,网站建设分为哪几个阶段,建设网站能赚钱,海外建站服务平台以下是使用Python对比两张CAD图并标记差异的解决方案,结合图像处理和CAD结构分析: 一、环境准备与库选择 图像处理库:使用OpenCV进行图像差异检测、颜色空间转换和轮廓分析。CAD解析库:若为DXF格式,使用ezdxf解析实体…

以下是使用Python对比两张CAD图并标记差异的解决方案,结合图像处理和CAD结构分析:


一、环境准备与库选择

  1. 图像处理库:使用OpenCV进行图像差异检测、颜色空间转换和轮廓分析。
  2. CAD解析库:若为DXF格式,使用ezdxf解析实体信息(如块、线条、圆等)。
  3. 几何计算库scikit-image用于结构相似性(SSIM)和仿射变换匹配。
import cv2
import ezdxf
from skimage.metrics import structural_similarity

二、关键步骤实现

1. 加载与预处理
  • 图像格式:使用OpenCV读取图片并转换为灰度图,进行高斯模糊去噪。
    left_img = cv2.imread("left.png")
    right_img = cv2.imread("right.png")
    gray_left = cv2.cvtColor(left_img, cv2.COLOR_BGR2GRAY)
    gray_right = cv2.cvtColor(right_img, cv2.COLOR_BGR2GRAY)
    
  • DXF格式:通过ezdxf提取实体坐标和属性。
    doc_left = ezdxf.readfile("left.dxf")
    doc_right = ezdxf.readfile("right.dxf")
    
2. 红框区域检测
  • 颜色阈值法:在HSV空间识别红色区域,提取红框坐标。
    hsv = cv2.cvtColor(right_img, cv2.COLOR_BGR2HSV)
    lower_red = np.array([0, 50, 50])
    upper_red = np.array([10, 255, 255])
    mask = cv2.inRange(hsv, lower_red, upper_red)
    contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    
3. 差异检测
  • 图像差异法:通过像素对比标记新增部件。
    diff = cv2.absdiff(gray_left, gray_right)
    _, thresh = cv2.threshold(diff, 30, 255, cv2.THRESH_BINARY)
    
  • 实体对比法(DXF):遍历右图实体,检查是否存在于左图。
    right_entities = {entity.dxf.handle for entity in doc_right.modelspace()}
    left_entities = {entity.dxf.handle for entity in doc_left.modelspace()}
    new_entities = right_entities - left_entities
    
4. 旋转匹配检测
  • 仿射变换匹配:对左图零件进行旋转,与右图红框区域计算相似度。
    (height, width) = right_roi.shape[:2]
    center = (width // 2, height // 2)
    rotation_matrix = cv2.getRotationMatrix2D(center, angle=90, scale=1)
    rotated_left = cv2.warpAffine(left_roi, rotation_matrix, (width, height))
    ssim_score = structural_similarity(rotated_left, right_roi)
    if ssim_score > 0.8:  # 阈值可调整cv2.rectangle(right_img, (x, y), (x+w, y+h), (0, 255, 0), 2)  # 标记为旋转后的零件
    
5. 结果标记
  • 在右图中用绿色框标记旋转后的零件,用红色框标记完全新增的零件。
    for (x, y, w, h) in new_contours:cv2.rectangle(right_img, (x, y), (x+w, y+h), (0, 0, 255), 2)
    

三、优化与注意事项

  1. 阈值调整:根据实际图像质量调整SSIM相似度阈值(如0.7-0.9)。
  2. 多角度旋转匹配:若旋转角度未知,可遍历0°-360°以寻找最大匹配值。
  3. 矢量数据优先:若为DXF文件,直接对比实体属性更高效。

示例输出效果

  • 红色框:右图新增的独立零部件。
  • 绿色框:左图零件经旋转后存在于右图的区域。

通过结合图像差异和几何变换匹配,可精准识别新增与变换的零件。若需完整代码或参数调优细节,可进一步提供CAD样本文件。

http://www.dtcms.com/a/500262.html

相关文章:

  • 网站维护提示做网站挣钱吗
  • 怎么找做网站的人关于做情侣的网站的图片大全
  • 可以用自己的电脑做网站主机成全视频免费观看在线看小说原著叫什么
  • 网站loading什么意思怎么把在微企点做响应式网站
  • Altium Designer(AD24)Edit编辑功能总结
  • 建设银行网站怎么登陆不了网站模板 英文
  • 魔搭社区与 Python Notebook:Ubuntu虚拟机+Python+机器学习
  • 外贸自建站模板企业推广策略
  • 深度学习——基于ResNet18迁移学习的图像分类模型
  • 网站培训班有哪些课程紫金保险车险官方网站
  • 抗体药物偶联物(ADCs):从研发突破到临床变革,解码疗效与毒性的核心机制
  • 建邺区建设局网站重庆市特种作业证报名
  • 9861云南网站建设北京建设投标网站
  • 【OS笔记10】:进程和线程8-进程通信
  • 给会所做网站室内装潢设计师
  • 长春建站塔山双喜网络广告营销案例有哪些
  • Linux防火墙利器:iptables详解
  • 网站建设mrd文档模板公众号开发运营方案
  • IDEA实用快捷键
  • 电影网站建设公司泰州企业网站建设
  • 论文学习_kTrans: Knowledge-Aware Transformer for Binary Code Embedding
  • 南京著名网站制作公司翻译
  • c和c++生态以及学习路线和应用领域
  • 网站名称是什么意思有没有做翻译赚钱的网站
  • 网站开发语言怎么用ps做网站框架
  • Linux中pinctrl使用
  • 网站建设设计说明医疗器械网站建设方案
  • 网站建设 主机选择快照打开是网站网站
  • 从零构建RAG知识库管理系统(三)
  • 网站建设制作小程序开发wordpress 标点排版