У меня возникают проблемы, преобразующих изображение в формате [R, тета] к [х, у]Polar в декартово преобразование изображений в MATLAB
Я пытаюсь использовать interp2.
[nZ,nX] = size(im);
theta = ((0:(nX-1)))*0.0071; %0.0071 is known angular separation of columns
rr = (0:(nZ-1))*0.0039; %0.0039 is resolution of rows
Я тогда делать:
%% Create grids and convert polar coordinates to rectangular
[THETA,RR] = meshgrid(theta,rr);
[XX,YY] = pol2cart(THETA,RR);
и, наконец:
im_out=interp2(theta,rr,im,XX,YY,'linear');
im_out(isnan(im_out)) = 0;
но изображение неправильно!
Вот входное изображение (рисунок 1) (с R, геометрия тета):
Я хочу восстановить, что на декартовой сетке (с использованием interp2), так это выглядит следующим образом (рисунок 2):
всех данные в Полярном изображении (рисунок 1) должны быть отображены в красный сектор декартовых изображений (рисунок 2).
Можете ли вы показать желаемое изображение и тот, который вы получите? –
Здесь входное изображение (с R, геометрия тета): https://www.dropbox.com/s/g5vllc0puftqm9k/input.png?dl=0 Я хочу реконструировать, что на декартовой сетке (с использованием interp2), поэтому он выглядит так: https://www.dropbox.com/s/yvmprufb5zc3e1a/required_output.png?dl=0 – 2one
Знаете ли вы, где находится центр полярной выборки на картезианской? Это, очевидно, не верхний левый угол. –