You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从网格图像提取特征:求网格单元边厚及指定区域面积

实际图像

实际网格图像

线条检测结果

Hough变换线条检测输出

目标任务示意图

需要提取特征的网格区域

我目前正在处理上述网格图像,已经通过Canny边缘检测、Hough变换实现了线条检测,现在需要完成两个核心任务:

  • 提取网格单元各边的厚度特征
  • 计算示意图中标注区域的面积
    恳请提供可行的实现方法。

已实现的代码片段

# Dilate the edge image to make the edges thicker
dialted_edge_image = cv2.dilate(edge_canny_image, kernel, iterations = 2)  

# Perform a Hough Transform to detect lines
lines = probabilistic_hough_line(edge_canny_image, threshold=40, line_length=1, line_gap=2)

# Create a separate image for line detection
line_detected_image = np.dstack([edge_canny_image] * 3)  # Convert to RGB for colored lines
for line in lines:
    p0, p1 = line
    cv2.line(line_detected_image, p0, p1, (255, 255, 255), 2)

解决方案

一、提取网格边的厚度特征

1. 基于轮廓的厚度计算

  • 对膨胀后的边缘图像执行轮廓检测:
    contours, _ = cv2.findContours(dialted_edge_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    
  • 针对每个网格边的轮廓,计算最小外接矩形,矩形的短边长度即为该边的厚度:
    for contour in contours:
        rect = cv2.minAreaRect(contour)
        thickness = min(rect[1])
    
  • 若线条为水平/垂直方向,也可直接统计轮廓在垂直于线条方向的像素范围差作为厚度(比如水平线条取y轴范围差)。

2. 基于距离变换的厚度分析

  • 对二值边缘图像做距离变换,线条区域内的最大距离值的2倍,即为线条近似厚度:
    dist_transform = cv2.distanceTransform(edge_canny_image, cv2.DIST_L2, 3)
    max_dist = np.max(dist_transform)
    thickness = max_dist * 2
    

二、计算指定区域的面积

1. 先完成网格结构化建模

  • 从Hough检测结果中分离水平/垂直线条:通过计算线条斜率,筛选斜率接近0(水平)和斜率绝对值极大(垂直)的线条。
  • 对水平/垂直线条分别排序,确定网格的行列间距,建立每个网格单元的坐标范围。

2. 面积计算方法

  • 快速估算:若已知标注区域包含的网格数量,先计算单个网格面积(相邻水平/垂直线条间距相乘),再乘以网格数量。
  • 精确像素面积:
    • 根据网格坐标范围生成目标区域掩码:
      mask = np.zeros_like(edge_canny_image)
      # 假设目标区域是从(x1,y1)到(x2,y2)的矩形范围
      cv2.rectangle(mask, (x1,y1), (x2,y2), 255, -1)
      
    • 统计掩码中白色像素数量得到像素面积,若需物理面积,结合图像像素分辨率(如每像素对应多少毫米)换算:
      pixel_area = cv2.countNonZero(mask)
      physical_area = pixel_area * (pixel_mm ** 2)  # pixel_mm为单像素对应毫米数
      

补充优化建议

  • 调整Hough变换参数:当前line_length=1过小,建议增大到10-20,减少噪声线条干扰。
  • 对检测到的线条做聚类合并:通过计算线条的距离和角度,合并同一条网格边的重复检测结果。

内容的提问来源于stack exchange,提问作者Sakura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 09:35:13