close all
clear all
I=imread('Chessboard.png');
bw=rgb2gray(I);
figure('name','rgb2gray');imshow(bw);
bw=im2bw(bw);
figure('name','im2bw');imshow(bw);
bw=~bw;
figure('name','~bw');imshow(bw);
se=strel('rectangle',[3,3]);%构造结构元素(Structuring element)。
bw=imerode(bw,se);
figure('name','imerode');imshow(bw);
bw=bwfill(bw,'hole');%填充二进制图像的背景色,只认孔为0的情况,用1填充
figure('name','bwfill');imshow(bw);
%寻找不包括孔连通域的边缘,并且把每个连通域的边界描出来
[B,L] = bwboundaries(bw,4); %二值图像的边界。
%B是一个P×1的cell数组,P为对象个数,每个cell是Q×2的矩阵,对应于对象轮廓像素的坐标。
%用法:B = bwboundaries(BW,conn)(基本格式)
%B是一个P*1的数组,P代表联通体个数,B内每行是一个Q*2的矩阵。
%Q内每一行表示联通体的边界像素的位