Matlab 中 imregionalmax函数 和 bwconncomp函数的使用

Matlab 中 imregionalmax函数 和 bwconncomp函数的使用

imregionalmax函数

找出当前连通区域内元素大于或等于强度t的元素,将其置为1,,其他像素都设置为0。返回二值图像。

举例说明

三种用法如下:
BW = imregionalmax(I)
BW = imregionalmax(I,conn)
gpuarrayBW = imregionalmax(gpuarrayI,___)

  1. BW = imregionalmax(I) 默认2维数据为8联通,3维数据为26联通。
    假设A如下:

    A =

    10    10    10    10    10    10    10    10    10    10
    10    22    22    22    10    10    44    10    10    10
    10    22    22    22    10    10    10    45    10    10
    10    22    22    22    10    10    10    10    44    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    10    10    10    10    10
    

    regmax = imregionalmax(A)
    上述命令的结果为:
    regmax =
    10×10 logical array

           0   0   0   0   0   0   0   0   0   0
           0   1   1   1   0   0   0   0   0   0
           0   1   1   1   0   0   0   1   0   0
           0   1   1   1   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   1   1   1   0   0
           0   0   0   0   0   1   1   1   0   0
           0   0   0   0   0   1   1   1   0   0
           0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0
    

若A(3,3) = 23,则相同命令结果为:
regmax =
10×10 logical array

	       0   0   0   0   0   0   0   0   0   0
	       0   0   0   0   0   0   0   0   0   0
	       0   0   1   0   0   0   0   1   0   0
	       0   0   0   0   0   0   0   0   0   0
	       0   0   0   0   0   0   0   0   0   0
	       0   0   0   0   0   1   1   1   0   0
	       0   0   0   0   0   1   1   1   0   0
	       0   0   0   0   0   1   1   1   0   0
	       0   0   0   0   0   0   0   0   0   0
	       0   0   0   0   0   0   0   0   0   0

若A(3,3) = 20,则相同命令结果为:
regmax =
10×10 logical array

	       0   0   0   0   0   0   0   0   0   0
	       0   1   1   1   0   0   0   0   0   0
	       0   1   0   1   0   0   0   1   0   0
	       0   1   1   1   0   0   0   0   0   0
	       0   0   0   0   0   0   0   0   0   0
	       0   0   0   0   0   1   1   1   0   0
	       0   0   0   0   0   1   1   1   0   0
	       0   0   0   0   0   1   1   1   0   0
	       0   0   0   0   0   0   0   0   0   0
	       0   0   0   0   0   0   0   0   0   0
  1. BW = imregionalmax(I,conn)
    conn:指定函数中使用的连通度。
  2. gpuarrayBW = imregionalmax(gpuarrayI,___)
    gpuarrayBW = imregionalmax(gpuarrayI,___) 在GPU上执行该操作,输入图像必须是一个gpuArray,函数返回一个gpuArray。需要支持 Parallel Computing Toolbox™ .

bwconncomp函数

找出二值图像中所有的连通区域。

举例说明

用法如下:
CC = bwconncomp(BW)
CC = bwconncomp(BW,conn)

  1. BW = imregionalmax(I) 默认2维数据为8联通,3维数据为26联通。
    假设S如下:
    S =

            0     0     0     0     0
    		0     1     1     0     0
    		0     1     1     0     0
    	    0     0     0     1     1
    	    1     1     0     0     0
    

    D = bwconncomp(S);
    上述命令的结果为:
    在这里插入图片描述
    D=

    1*1 struct

    D.Connectivity 使用的连通度
    D.ImageSize 图像大小
    D.NumObjects 连通区域数
    D.PixelIdxList 连通区域的索引

这里具体看看 D.PixelIdxList:
因为是默认的8联通,所以7,8,12,13和19,24为一个连通区域,若使用4连通,这里就是两个连通区域。
在这里插入图片描述

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值