Documentation Center

  • Trial Software
  • Product Updates

lineToBorderPoints

Intersection points of lines in image and image border

Syntax

  • points = lineToBorderPoints(lines,imageSize)

Description

points = lineToBorderPoints(lines,imageSize) computes the intersection points between one or more lines in an image with the image border.

Code Generation Support:
Compile-time constant input: No restrictions
Supports MATLAB Function block: Yes
Code Generation Support, Usage Notes, and Limitations

Input Arguments

lines

Line matrix. An M-by-3 matrix, where each row must be in the format, [A,B,C]. This matrix corresponds to the definition of the line:

A * x + B * y + C = 0.

M represents the number of lines.

lines must be double or single.

imageSize

Image size. This input must be in the format returned by the size function.

imageSize must be double, single, or integer.

Output Arguments

points

Output intersection points. An M-by-4 matrix. The function returns the matrix in the format of [x1, y1, x2, y2]. In this matrix, [x1 y1] and [x2 y2] are the two intersection points. When a line in the image and the image border do not intersect, the function returns [-1,-1,-1,-1].

Examples

Find the intersection points of a line in an image and the image border.

% Load and display an image.
  I = imread('rice.png');
  figure; imshow(I); hold on;

% Define a line: 2 * x + y - 300 = 0
  aLine = [2,1,-300];

% Compute the intersection points of the line and the image border.
  points = lineToBorderPoints(aLine, size(I));
  line(points([1,3]), points([2,4]));

See Also

| | |

Was this topic helpful?