Relationship between pixels Neighbors of a pixel 4
Relationship between pixels Neighbors of a pixel – 4 -neighbors (N, S, W, E pixels) == N 4(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)
– 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).
Pixel 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 gray level values used to define connectivity; e. g. , V={1}.
Connectivity 4 -adjacency: Two pixels p and q with values in V are 4 -adjacent if q is in the set N 4(p). 8 -adjacency: q is in the set N 8(p). A 4 (8)-path from p to q is a sequence of points p=p 0, p 1, …, pn=q such that each pn+1 is 4 (8)-adjacent to pn
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.
4 -connected component labeling for points r t p 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.
Exercise Develop a similar algorithm for 8 -connectivity.
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.
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. N 4 N 3 N 2 N 5 P N 1 N 6 N 7 N 8
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 bwperim to obtain all the border pixels. You will still need following to have them in a sequential order.
Example of the border following algorithm: Q 3 Q 5 Q 4 1 P 3 1 P 2 Q 2 1 P 4 1 1 P 1 Q 1 1 P 5 1 P 6 1 P 7 Q 6 Q 7
Distance Measures Distance Metric For pixels p, q, and z, with coordinates (x, y), (s, t), and (u, v), respectively:
Distance Measures
- Slides: 14