digital topology cis 601 fall 2004 longin jan latecki

14
Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Upload: marilynn-hart

Post on 17-Jan-2018

217 views

Category:

Documents


0 download

DESCRIPTION

– You can add the four diagonal neighbors to give the 8- neighbor set. Diagonal neighbors == ND(p). – 8-neighbors: include diagonal pixels == N 8 (p).

TRANSCRIPT

Page 1: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Digital Topology

CIS 601 Fall 2004Longin Jan Latecki

Page 2: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Relationship between pixels

Neighbors of a pixel

– 4-neighbors (N,S,W,E pixels) == N4(p).

A pixel p at coordinates (x,y) has

four horizontal and vertical neighbors:

• (x+1,y), (x-1, y), (x,y+1), (x, y-1)

Page 3: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

– You can add the four diagonal neighbors to give the 8-neighbor set. Diagonal neighbors == ND(p).

– 8-neighbors: include diagonal pixels == N8(p).

Page 4: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Pixel Connectivity

Connectivity is used to trace contours, to define object boundaries, and for segmentation.

In order for two pixels to be connected, they must be

“neighbors” sharing a common property—satisfy some

similarity criterion.

In a binary image with pixel values “0” and “1”,

two neighboring pixels are said to be connected if they have the same value.

Let V: Set of binary or gray level values used to define

connectivity; e.g., V={1}.

Page 5: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Connectivity

4-adjacency: Two pixels p and q with values

in V are 4-adjacent if q is in the set N4(p).

8-adjacency: q is in the set N8(p).

A 4 (8)-path from p to q is a sequence of points

p=p0, p1, …, pn=q such that each pn+1 is 4 (8)-adjacent to pn

Page 6: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Connected components

Let S represent a subset of pixels in an image.

Set S is connected if for each pair of points p and q in S, there is a path from p to q contained entirely S.

A connected component is a maximal set of pixels in S that is connected.

There can be more than one such set within a given S.

Page 7: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki
Page 8: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

We assume that points r and t have been visited and labeled.

Now we visit point p: p=0: no action; p=1: check r and t.

– both r and t = 0; assign new label to p;

– only one of r and t is a 1. assign its label to p;

– both r and t are 1:

• same label => assign it to p;

• different label=> assign one of them to p and

establish equivalence between labels (they are the same.)

Second pass over the image to merge equivalent labels.

rpt

4-connected component labeling for points

Page 9: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Homework 9

Develop a similar algorithm for 8-connectivity.

Matlab example: BW = logical([1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0]);L = bwlabel(BW,4); [r,c] = find(L == 2);

Page 10: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Problems with 4- and 8-connectivity

Neither method is satisfactory.

– Why? A simple closed curve divides a plane into

two simply connected regions.

– However, neither 4-connectivity nor 8-connectivity

can achieve this for discrete labeled components.

– Give some examples.

Page 11: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki
Page 12: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Border following

Let our object b be an 8-connected set of 1’s that is not a single isolated point.

A pixel P is a border pixel of b if P is 4-adjacent to at least one 0.

Let the 8 neighbors of P be ordered counterclockwise as follows, which implies that the outer border will be followed counterclockwise.

 

N4 N3 N2

N5 P N1N6 N7 N8

Page 13: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Border following algorithm:

Let (P_i,Q_i) be such that P_i is in b (P_i is 1), Q_i is 0,Q_i = N_1, and P_i and Q_i are 4-adjacent.

Then P_i+1 = N_k, where N_k is the first of the 8 neighbors of P_i that is 1(it exists since b is not a single isolated point)and Q_i = N_k-1.

The algorithm stops when we come back to the initial point pair (P_1, Q_1).

This stop condition is necessary, since we can pass through a point twice (give an example).

In Matlab use function

B = boundaries(BW);

Page 14: Digital Topology CIS 601 Fall 2004 Longin Jan Latecki

Q3

Q4 1 P3 1 P2 Q2

1 P4 1 1 P1 Q1

Q5 1 P5 1 P6 1 P7

Q6 Q7

Example of the border following algorithm: