lineToBorderPoints

Точки пересечения линий на границе изображений

Описание

пример

points = lineToBorderPoints(lines,imageSize) вычисляет точки пересечения между одной или несколькими линиями на изображении с рамкой изображения.

Примеры

свернуть все

Загрузка и отображение изображения.

I = imread('rice.png');
figure; 
imshow(I); 
hold on;

Figure contains an axes. The axes contains an object of type image.

Зададим линию с уравнением, 2 * x + y - 300 = 0.

aLine = [2,1,-300];

Вычислите точки пересечения линии и границы изображения.

points = lineToBorderPoints(aLine,size(I))
points = 1×4

  149.7500    0.5000   21.7500  256.5000

line(points([1,3]),points([2,4]));

Figure contains an axes. The axes contains 2 objects of type image, line.

Входные параметры

свернуть все

Линия матрица, заданная как матрица M -by-3, где каждая строка должна быть в формате [A, B, C]. Эта матрица соответствует определению линии:

A * x + B * y + C = 0.
M представляет количество линий.

lines должен быть double или single.

Размер изображения, заданный как вектор-строка в формате, возвращаемом size функция.

Выходные аргументы

свернуть все

Точки пересечения, возвращенные как матрица M -by-4. Функция возвращает матрицу в формате [x 1, y 1, x 2, y 2]. В этой матрице [x 1 y 1] и [x 2 y 2] являются двумя точками пересечения. Когда линия на изображении и граница изображения не пересекаются, функция возвращается [-1,-1,-1,-1].

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

| |

Введенный в R2011a
Для просмотра документации необходимо авторизоваться на сайте