How to make label on the image and find the distance?

3 vues (au cours des 30 derniers jours)
Prashant
Prashant le 9 Août 2020
Commenté : Image Analyst le 16 Août 2020
Hello,
I have one image and i want to put label on it for finding the distace.
anyone suggest or give code to make label on that region which shown in fig. and also want to plot line between two black line in that box.
alos i attched my file to look at my code.

Réponse acceptée

Image Analyst
Image Analyst le 9 Août 2020
I don't know how a label would help you "for finding the distace". But anyway, to put a text label on the image use the text() function. To put a rectangle on the image use the rectangle() function. To plot over the image, use the plot() function.
When you say "finding distance between two black line" I don't know what that means. There are lots of distances between lots of points on two black lines, like your horizontal line and your vertical line. What distance are you talking about?
  3 commentaires
Prashant
Prashant le 16 Août 2020
Hi Image analyst
I have checkerboard and i want to find number of pixel in one square block. I know the size of this block is
34 x 34 mm and now i want to see that in that one square block how many pixelis there?
I have written this code, but with this code i can find center to center distance not corner to corner. how can i find this?
the code is below:
fontSize = 13;
numImages = 20;
files = cell(1, numImages);
for i = 1:numImages
files{i} = fullfile('S:\EE_Elektrik_Elektronik\Licht_Sicht_Stud\1000_Studenten\Khandelwal\Masterarbeit\MATLAB\Image_processing\Calibration\10m\10m\Image_neue', sprintf('IMG_%d.JPG', i));
end
% Display one of the calibration images
magnification = 20;
I = imread(files{1});
imshow(I) % a1=original image (unprocessed)
a1G=mat2gray(I);
a1GCT=graythresh(a1G);
a1B=im2bw(a1G,a1GCT);
a1C=imcrop(a1B);
a1RP=regionprops(a1C,'Centroid','MajorAxisLength',...
'MinorAxisLength','Orientation', 'Eccentricity');
CentroidS=cat(1,a1RP.Centroid);
x = CentroidS(:,1);
y = CentroidS(:,2);
figure
imshow(a1C)
hold on
plot(x,y,'b*')
w = msgbox('Pick 2 points');
waitfor(w)
while 1
xy = ginput(2); % get coordinates of mouse clicks
% find 2 closes points
[~,ind] = pdist2([x y],xy,'euclidean','Smallest',1);
x1 = x(ind);
y1 = y(ind);
plot(x1,y1,'o-r') % plot closes points
d = pdist([x1 y1]); % distance between points
t = text(mean(x1),mean(y1),num2str(d));
set(t,'Color','Yellow','BackgroundColor','Black');
w = waitforbuttonpress; % mouse click - conntinue, button - quit
disp('press anything to quit')
if w % if button was pressed - quit
break
end
end
Image Analyst
Image Analyst le 16 Août 2020
See my answer in your duplicate question: Click Here for the Answer

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by