OpenCV 中与MATLAB bwlabel函数功能完全相同的函数————connectedComponents 还有skimage.measure.label 函数

matlab调用代码

L1 = bwlabel(DL);
  • 其中 DL 是一8位单通道图像

函数原型

int cv::connectedComponents	(InputArray 	image,
                             OutputArray 	labels,
                             int 	connectivity = 8,
                             int 	ltype = CV_32S )	
  • 功能 :计算布尔图像的连接组件标记图像
  • 参数 :image 要标记的8位单通道图像
                labels 目的地标记图像,是个元组,包括总的区域数,和每个像素点属于哪个区域的二维数组
                connectivity 8路或4路连接,默认为8
                ltype 输出图像标签类型。当前支持CV_32S和CV_16U。默认为CV_32S

              更多函数,更具体的文档看OpenCV的类介绍文档与函数接口

             

代码示例

import pywt
import xlrd
import numpy as np

def excel2matrix(path):    # 把xlsx文件的数据变成np.array数组
    data = xlrd.open_workbook(path)
    table = data.sheets()[0]
    nrows = table.nrows  # 行数
    ncols = table.ncols  # 列数
    datamatrix = np.zeros((nrows, ncols))
    for i in range(nrows):
        rows = table.row_values(i)
        datamatrix[i,:] = rows
    return datamatrix

pathX = '18.xlsx'  # 数据路径
x = excel2matrix(pathX)     # 我的灰度图数据

x = x.astype(np.int8)  # 输入必须是 8 位的整型
number, k = cv2.connectedComponents(x) 

             

输出

             

在这里插入图片描述

             
             

在这里插入图片描述

数据集链接

——————————————————————2020.11.5更新———————————————————

skimage.measure.label 函数

import pywt
import xlrd
import numpy as np
from skimage import measure

def excel2matrix(path):    # 把xlsx文件的数据变成np.array数组
    data = xlrd.open_workbook(path)
    table = data.sheets()[0]
    nrows = table.nrows  # 行数
    ncols = table.ncols  # 列数
    datamatrix = np.zeros((nrows, ncols))
    for i in range(nrows):
        rows = table.row_values(i)
        datamatrix[i,:] = rows
    return datamatrix

pathX = '18.xlsx'  # 数据路径
x = excel2matrix(pathX)     # 我的灰度图数据

x = x.astype(np.int8)  # 输入必须是 8 位的整型
number, k = cv2.connectedComponents(x) 

label_image = measure.label(x)

              可以验证 k 与 label_image 的值完全相同

——————————————————————2020.11.5更新———————————————————

posted on 2021-06-06 19:38  雾恋过往  阅读(173)  评论(0编辑  收藏  举报

Live2D