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

20 篇文章 2 订阅
4 篇文章 0 订阅

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) 

             

输出

             

在这里插入图片描述

             
             

在这里插入图片描述

数据集链接

  • 链接:https://pan.baidu.com/s/1j2D_uMvtvytB3dJWpQ_Wew
  • 提取码:z1vg

——————————————————————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更新———————————————————

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南自动化学院至渝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值