Steve on Image Processing

Results for: Connected components

Almost-connected-component labeling 14

Posted by Steve Eddins,

Almost-connected-component labeling  In a recent post I demonstrated the use of bwdist (binary image Euclidean distance transform) to perform isotropic dilation. This was inspired by something that Brett asked me about. Last night Brett posted a comment explaining a little bit more about what... read more >>

Visualizing the output of bwlabel 4

Posted by Steve Eddins,

Visualizing the output of bwlabel  I often find myself writing small functions that help visualize certain image processing algorithms. For example, my last three posts on bwlabel included identical snippets of code that performed the following steps on a label matrix: ... read more >>

Corresponding labeled objects in two images 10

Posted by Steve Eddins,

Corresponding labeled objects in two images  Several questions I've seen about bwlabel are about finding the correspondences between object labels in two images. In other words, if a particular pixel is in the foreground in two binary images, is that pixel labeled the same in both images,... read more >>

Relabeling a label matrix 16

Posted by Steve Eddins,

Relabeling a label matrix  The three most common questions I've been hearing about bwlabel, which is used for labeling connected components in a binary image, are about Search order ... read more >>

bwlabel search order 23

Posted by Steve Eddins,

bwlabel search order  I've received several questions over the past months about the search order for the function bwlabel and whether it can be changed. Today's post discusses the search-order issue, how useful it might or might not be to change it, and how... read more >>

bwlabeln – design decision 13

Posted by Steve Eddins,

bwlabeln – design decision  In a comment on my "Connected component labeling - Part 6" post, Martin Isenburg asked "what is the rationale behind the design decision to have bwlabeln work on individual pixels rather than on runs of pixels?" Excellent question. I'm happy to answer "why did they do it that way" algorithm... read more >>

Connected component labeling – Wrapping up 2

Posted by Steve Eddins,

Connected component labeling – Wrapping up  I've about run out of things to say for now about connected component labeling algorithms. ("Hurray!" shouts the audience.) For reference, here's a summary of all the posts in the series: Part 1 - Introduction Part 2 - Connectivity definitions Part 3 - Adjacency matrices and dmperm ... read more >>

Connected component labeling – Part 7 11

Posted by Steve Eddins,

Connected component labeling – Part 7  I described in my previous connected component labeling post the algorithm used by bwlabeln. This time I'll talk about the variation used by bwlabel. This variation uses run-length encoding as the first step. Here's what I mean by run-length encoding. ... read more >>

Connected component labeling – Part 6 25

Posted by Steve Eddins,

Connected component labeling – Part 6  In this part of the connected component labeling series, I'll finally get to one of the algorithms actually used in the Image Processing Toolbox. It's based on a technique called union-find, as... read more >>

Connected component labeling – Part 5 40

Posted by Steve Eddins,

Connected component labeling – Part 5  OK, I've learned an important lesson about this blog: I really shouldn't start up two topics series at the same time. It's too hard to find the time to compose posts on both topics each week, and so the frequency of... read more >>

These postings are the author's and don't necessarily represent the opinions of MathWorks.