How to draw a line on a image (result of data plotting) and get the data crossed by the line? like a cross section.

Hello, I know there is a fuction called 'imgprofile' that works for Pixel-value cross-sections along line segments, but this is onli for images (.jpg o .png) . My idea is to do that cross section on an image from a data set. How do you do it?, Thanks.

Réponses (1)

Hi,
if you want to do cross section on images from dataset . You can try writting a for loop in below manner.
OutputFolder = 'C:\Temp'; % Set as needed [EDITED]
dinfo = dir('*.jpg');% image extension can be changed or you can write another outer loop for the list of extensions available in your dataset.
for K = 1 : length(dinfo)
thisimage = dinfo(K).name;
Img = imread(thisimage);
Y = imshow(Img);
improfile(I,x,y),grid on; %x,y can be defined
end
You can also try using imageSet function which returns an object for storing an image data set or a collection of image data sets.
follow the below link for more information on imageset.
hope it helps,
thanks.

1 commentaire

ok Shiva thanks for the answer, the function 'improfile' works good if your are working on the image a '.jpg .bmp' etc extentions, as a result it gives you the number of pixels your profile is crossing, but in my case I want to work directly with the data set, and cross the profile like a graphic view.

Connectez-vous pour commenter.

Produits

Commenté :

le 12 Fév 2021

Community Treasure Hunt

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

Start Hunting!

Translated by