How to draw horizontal lines on set of images

8 views (last 30 days)
Hi, I am new to MATLAB and need some help. I have 2000 TIF images (located in a folder with names F_001, F_002,.....F_2000) and I want to draw four horizontal lines on all the images. The given coordinates are in image system.
Position of line 1: [x1,x2]=[0,1024] and [y1,y2]=[760,760]. I want to write text "predator location" on top of this line
Position of line 2: [x1,x2]=[0,1024] and [y1,y2]=[500,500]. I want to write text "safe distance" on top of this line.
so are the lines 3 and 4.
How can I do this in a loop using MATLAB. Also, I want to have control over the type of line and the color. Can someone please, help me with this.
  3 Comments
Tomer
Tomer on 31 Aug 2019
Edited: Tomer on 31 Aug 2019
How to apply this using a "for loop" on all the images? The code will be helpful for me.

Sign in to comment.

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 31 Aug 2019
Edited: KALYAN ACHARJYA on 31 Aug 2019
Images=dir('C:\complate_path\folder_name\*.tif');
outDirectory='C:\complate_path\folder_name_to_save\';
for i=1:length(Images)
ImgName=strcat('C:\complate_path\folder_name\',Images(i).name);
image_test=imread(ImgName);
imshow(image_test);
line([0 760],[1024 760],'linewidth',3);
line([0 500],[1024 500],'r','linewidth',3);
% so are the lines 3 and 4........
fig=gcf
imwrite(fig,strcat(outDirectory,Images(i).name));
end
I want to have control over the type of line and the color. Can someone please, help me with this.
For this read the commnet by @Walter Roberson
  5 Comments
Tomer
Tomer on 31 Aug 2019
I don't know much about MATLAB. I used your code and got this error.
Error using imwrite (line 427)
Expected DATA to be one of these types:
numeric, logical
Instead its type was matlab.ui.Figure.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!