文章目录
使用洪水填充技术选择具有相似灰度值的连续图像区域
syntax:
BW = grayconnected(I,row,column)
BW = grayconnected(I,row,column,tolerance)
Description
BW = grayconnected(I,row,column)在灰度图像I中找到相似强度的连接区域。指定起点(种子像素)的行和列索引。 该函数返回一个二进制掩码BW,该二进制掩码指示哪些像素以相似的强度8连接到种子像素。
BW = grayconnected(I,row,column,tolerance)指定要包括在蒙版中的强度值的范围,如[(seedvalue-tolerance),(seedvalue + tolerance)]。
Examples:
clear all
close all
clc
I=imread('cameraman.tif');
imshow(I)
%使用洪水填充技术在图像中分割天空。 在天空中选择一个像素作为种子位置。
%本示例使用具有(行,列)坐标(50,50)的像素。 调用grayconnected函数,
%指定要分割的图像和此种子位置。
J = grayconnected(I,50,50);
%通过使用labeloverlay功能在原始图像上以彩色显示分段的区域。
%分割的区域包括与种子像素8连接的天空像素。 该区域不包括断开强度相似的像素,
%例如三脚架两腿之间可见的天空。
imshow(labeloverlay(I,J))
%通过使用泛洪填充来分割摄影师的外套。 在夹克中选择一个像素作为种子位置。
%本示例指定具有(行,列)坐标(110,65)的种子像素。 调用grayconnected函数,
%指定要分割的图像和此种子位置。
J2 = grayconnected(I,110,65);
%在原始图像上以彩色显示分割的图像。 分割区域包括与种子像素8连接的所有像素。
%摄影师的三脚架和头发的强度与夹克的强度相似,因此它们被包括在分段区域中
imshow(labeloverlay(I,J2))
clear all
close all
clc
I = uint8([20 22 24 23 25 20 100
21 19 12 13 12 30 6
22 11 13 12 24 25 5
23 13 13 13 24 25 5
24 27 13 12 12 13 5
25 26 5 28 29 50 6]);
%指定种子位置的行索引和列索引。 种子位置的值为23。
seedrow = 4;
seedcol = 1;
%指定公差。
tol = 3;
%创建蒙版图像,指定种子位置和公差。 蒙版包含所有8个连接到种子像素的像素,其值在[20,26]范围内。
%遮罩会排除在公差范围内未进行8位连接的灰度值的像素,例如具有(行,列)坐标(3,6)的像素。
BW = grayconnected(I,seedrow,seedcol,tol)
BW =
6×7 logical 数组
1 1 1 1 1 1 0
1 0 0 0 0 0 0
1 0 0 0 0 0 0
1 0 0 0 0 0 0
1 0 0 0 0 0 0
1 1 0 0 0 0 0
输出
连接区域的二进制掩码,以与I大小相同的逻辑数组形式返回。所有前景像素均以相同的强度指示8个连接到种子像素的图像像素。