📜  查找图中缺少的长度:工作表(1)

📅  最后修改于: 2023-12-03 15:10:44.049000             🧑  作者: Mango

查找图中缺少的长度:工作表

简介

在工作表中,我们有时候需要找到缺失的长度,这里我们介绍一种方法,通过编程实现查找图中缺少的长度,并返回缺失长度的列表。

程序实现

我们可以通过以下步骤实现:

  1. 读入图片文件并转化为二值图像。
  2. 对二值图像进行垂直投影,获取每列像素值之和。
  3. 找到垂直投影后值为0的位置,这个位置即为缺失的长度。
  4. 将每个缺失长度的坐标存入列表。

下面是相关代码片段:

import cv2
import numpy as np

def get_missing_lengths(img_file):
    """
    寻找图片中缺失的长度
    :param img_file: 图片文件名
    :return: 缺失长度列表
    """
    # 读入图片并转化为灰度图像
    img = cv2.imread(img_file, 0)

    # 二值化图像
    img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]

    # 垂直投影
    hist = np.sum(img, axis=0)

    # 获取缺失长度的位置
    missing_lengths = []
    flag = False
    for i in range(len(hist)):
        if hist[i] == 0 and not flag:
            missing_lengths.append(i)
            flag = True
        elif hist[i] != 0 and flag:
            flag = False

    return missing_lengths

结论

以上就是通过程序找到图片中缺失的长度的方法。程序实现简单,仅用几行代码就可以完成。这样就可以帮助工程师实现自动化识别和计算,提高工作效率。