add vertical lines to an image

조회 수: 24 (최근 30일)
maryam
maryam 2013년 8월 29일
댓글: Image Analyst 2018년 2월 18일
i've loaded an image and i'd like to add some vertical lines on it,could anybody help me? the image is voltage curve and i need the exact value of the voltage at any time. so i decided to add vertical lines to it,and then by using graph digitizer extract the values.

채택된 답변

Image Analyst
Image Analyst 2013년 8월 29일
편집: Image Analyst 2013년 8월 29일
Is it a color image or a grayscale image? Do you want the lines burned into the image, or above it in the overlay?
[rows, columns, numberOfColorChannels] = size(yourImage);
spacing = 50; % Whatever.
for row = 1 : spacing : rows
line([1, columns], [row, row]);
end
for column = 1 : spacing : columns
line([column, column], [1, rows]);
end
If you want them in the overlay, simply use the line() function. If you want it burned into a grayscale image:
grayImage(:, columnNumber) = 255; % White = 255, can pick any intensity.
grayImage(rowNumber, :) = 255;
Same thing for color, just do it in whatever color channels you want. You can also control the color of the line that way.
  댓글 수: 3
Journi Northorp
Journi Northorp 2018년 2월 17일
Can you give me an example please? I have to make vertical lines in white for every other column of a 20x20 matrix.
Image Analyst
Image Analyst 2018년 2월 18일
Try this:
m(:, 2:2:end) = 255;
where m is your matrix.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

David Sanchez
David Sanchez 2013년 8월 29일
The following draws a vertical line on your_image from pixel (20, 10) to pixel (20, 50):
image(your_image);
hold on
x=[20 20];
y=[10 50];
line(x,y)
hold off

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by