how to convert Pixel to cm

12 vues (au cours des 30 derniers jours)
Muhammad
Muhammad le 17 Sep 2013
Modifié(e) : Image Analyst le 31 Juil 2021
Hi all
Hope you are keeping good and enjoying a lot. i contoured some region of a image using imfreehand. i want to caculate the volume of every pixel inside the contour. but the information i have get in pixels[X and Y coordinate values are in pixel] and Z coordinate is thickness of the image which is in cm. i need to convert the pixel to cm to get the volume of the each pixel. is there any formula or any suggestions???
but for the whole image i have voxel size information as below. voxel size [Y=0.09cm, Y=0.09cm, Z=0.18cm].will this helpful.
any help is appreciated in advance.
  6 commentaires
Walter Roberson
Walter Roberson le 31 Juil 2021
I do not recall having encountered a flir image that had depth information. I suppose in theory you could infer depth if you had stereo flir images, which is something that could be done and could perhaps be useful... is that what you have, two flir images of the same scene with different angles and known relationships between the views??
Image Analyst
Image Analyst le 31 Juil 2021
Modifié(e) : Image Analyst le 31 Juil 2021
@Oscar Garcia (expand comments to wee Walter's above mine), what is your definition of volume? You mean the true spatial volume like units of cubic cm? You can't get that from a single 2-D image, not even a range/topographic image unless you make some assumptions as to where the "back" of the object is and what shape it has. Or maybe you mean the integrated gray value in some region of interest -- kind of like the intensity was a surface and you want the volume below the surface. I suggest you start your own question and attach your images and indicate what region in the image you want the "volume" of. In the meantime, see attached spatial calibration demo.

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 17 Sep 2013
Multiply number of pixels by 0.09cm to get length in cm. Number of total pixels times (0.09)^2 to get the area in cm^2. Multiply that by 0.18 to get volume in cm^3
  7 commentaires
Image Analyst
Image Analyst le 17 Sep 2013
How did you find this workbook?
Can't you just plug the x and y into polyarea() to get the area in pixels, then multiply by 0.09^2 to get the area in cm^2?
Muhammad
Muhammad le 18 Sep 2013
Modifié(e) : Muhammad le 18 Sep 2013
Dear Dr. i am sending you my 2 pushbuttons program.which will tell how i created that workbook. 1 pushbutton is to contoure and other is to creat Excel sheet. please guide me about this. is this right or wrong way? and how can we calculate the volume of single pixel? as you know single pixel is a voxel because if its its coordinates are (x,y, thickness). if i say i want Volume of each Voxel inside the contoure region then it will better. hoping for early response;
if true
function Contourpushbutton_Callback(hObject, eventdata, handles)
% imfreehand
h=imfreehand(gca,'closed',0);
% waitfor(h);
pos = getPosition(h);
% sz = size(handles.listbox1);
handles.output = hObject;
index = get(handles.listbox1,'value');
sz = size(handles.I{index});
handles.maskedImage = poly2mask(pos(:,1), pos(:,2), sz(1), sz(2));
guidata(hObject, handles); %use this line to save the handles structure during callbacks
end
if true
% --- Executes on button press in ExcelPushbutton.
function ExcelPushbutton_Callback(hObject, eventdata, handles)
[X, Y] = find(handles.maskedImage ~= 0);
data=[Y,X];
Z = repmat(0.18,[length(X),1]);
A=times(X,Y);
volume=times(A,Z);
[FileName,PathName] = uiputfile('*.xls','Save data to spreadsheet');
Data=[X,Y,Z,volume];
xlswrite([PathName '/' FileName],Data);
end

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by