How do I convert pixels to centimeters?

44 ビュー (過去 30 日間)
ISABELLE GUNDRUM
ISABELLE GUNDRUM 2022 年 5 月 3 日
回答済み: Image Analyst 2022 年 5 月 3 日
I've been using this code below to convert from pixels to centimeters by measuring a line known to be 1 cm in the image. I recently discovered my results are off and the code is not converting properly because the area I get later on is way too small. Does anyone have suggestions?
p2cm = 1/norm(hline.Position(1:2) - hline.Position(3:4));
CalibrationLine = hline.Position;
disp(['Length per pixel = ' num2str(p2cm) ' cm/pixel'])
** Result was .000759 cm/pixel and the area of the polygon was way, way smaller when it was supposed to be around 1.73 cm^2.

採用された回答

Image Analyst
Image Analyst 2022 年 5 月 3 日
Sine the line gives you the number of pixels, your p2cm is actually centimeters per pixel, not pixels per cm like you thought. So it's something like this
cmPerPixel = distanceInCm / distanceInPixels;
% Now to convert a distance.
lengthInCm = lengthInPixels * cmPerPixel
% And to convert an area in pixels to square cm:
areaInSquareCm = areaInPixels * cmPerPixel ^ 2
See my attached demo.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeConvert Image Type についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by