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++ с помощью MATLAB® Coder™.

Смотрите также

| |

Введенный в R2011a