필터 지우기
필터 지우기

Convert an image pixel coordinate to physical coordinate

조회 수: 4 (최근 30일)
AP
AP 2012년 10월 14일
Dear All,
I have a 2D array over the range xmin<x<xmax and ymin<y<ymax which contains the color intensity of each point. It looks like a deformed donut. I needed to find the inner and outer boundary of the donut. In order to achieve this goal, I used image processing and found the boundaries by bwboundaries function. Now I have the boundaries. The boundaries are in rows and columns coordinate. I want to convert them back into physical x,y coordinates. How can I do it?
Thanks,
Ahmad

채택된 답변

Image Analyst
Image Analyst 2012년 10월 14일
편집: Image Analyst 2012년 10월 14일
Yes.
% Get the image size.
[rows columns numberOfColorChannels] = size(imageArray);
% Create the spatial calibration factors.
realWorldUnitsPerPixel_x = (xmax - xmin) / columns;
realWorldUnitsPerPixel_y = (ymax - ymin) / rows;
% Now let's say you had some pixel coordinate (column, row):
realWorldX = xmin + realWorldUnitsPerPixel_x * column;
realWorldY = ymin + realWorldUnitsPerPixel_y * row;
% Now realWorldX and realWorldY are in terms of real world units.

추가 답변 (1개)

Matt J
Matt J 2012년 10월 14일
편집: Matt J 2012년 10월 14일
You need to know the coordinates row0,col0 of the physical origin and the pixel sizes. With this, you do
physicalCoords = ([row,col]-[row0,col0]).*pixelsizes

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by