MATLAB: Чертить линию по черно-белому изображению

Что лучший способ состоит в том, чтобы чертить линию по черно-белому (двоичному) изображению в MATLAB, если запуск и координаты конца известны?

Отметьте, я не пытаюсь добавить строку аннотации. Я хотел бы, чтобы строка стала частью изображения.

14
задан gnovice 4 September 2017 в 20:51
поделиться

2 ответа

Этот алгоритм предлагает один подход.

3
ответ дан 1 December 2019 в 13:47
поделиться

Возможно, вы захотите посмотреть мой ответ на вопрос SO о добавлении линии к матрице изображения. Вот пример, аналогичный тому, что я привел в том ответе, который сделает белую линию, идущую от индекса строки и столбца (10, 10) до (240, 120):

img = imread('cameraman.tif');  % Load a sample black and white image
x = [10 240];                   % x coordinates
y = [10 120];                   % y coordinates
nPoints = max(abs(diff(x)), abs(diff(y)))+1;    % Number of points in line
rIndex = round(linspace(y(1), y(2), nPoints));  % Row indices
cIndex = round(linspace(x(1), x(2), nPoints));  % Column indices
index = sub2ind(size(img), rIndex, cIndex);     % Linear indices
img(index) = 255;  % Set the line points to white
imshow(img);       % Display the image

И вот полученное изображение:

enter image description here

9
ответ дан 1 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: