Преобразование Радона

Примечание

Для получения информации о создании данных проекции из интегралов линии вдоль путей, которые излучаются из одного источника, называемых проекциями вентилятор-балка, см. Раздел «Проекция вентилятор-балка». Чтобы преобразовать данные проекции параллельного луча в данные проекции вентилятора-луча, используйте para2fan функция.

radon функция вычисляет проекции матрицы изображения в заданных направлениях.

Проекция двумерной функции f (x, y) является набором интегралов линий. The radon функция вычисляет интегралы линий из нескольких источников вдоль параллельных путей или балок в определенном направлении. Балки расположены на расстоянии 1 пиксель модуля друг от друга. Чтобы представлять изображение, radon функция принимает несколько параллельно-лучевых проекций изображения с разных углов путем поворота источника вокруг центра изображения. Следующий рисунок показывает одну проекцию под заданным углом поворота.

Параллельная проекция на угол поворота Theta

Например, интеграл линии f (x, y) в вертикальном направлении является проекцией f (x, y) на ось x; интеграл линии в горизонтальном направлении является проекцией f (x, y) на ось y. Следующий рисунок показывает горизонтальные и вертикальные проекции для простой двумерной функции.

Горизонтальные и вертикальные проекции простой функции

Проекции могут быть вычислены вдоль любого угла theta ( В целом, преобразование Радона f (x, y) является интегралом линии f, параллельным оси y '-

Rθ(x)=f(xcosθysinθ,xsinθ+ycosθ)dy

где

[xy]=[ cosθsinθsinθпотому чтоθ][xy]

Следующий рисунок иллюстрирует геометрию преобразования Радона.

Геометрия преобразования Радона

Постройте график радонового преобразования изображения

Этот пример показывает, как вычислить преобразование Радона изображения, I, для определенного набора углов, theta, с использованием radon функция. Функция возвращается, R, в котором столбцы содержат преобразование Радона для каждого угла в theta. Функция также возвращает вектор, xp , который содержит соответствующие координаты вдоль оси X. Центральный пиксель I определяется как floor((size(I)+1)/2), который является пикселем на оси X, соответствующим x '= 0.

Создайте небольшой образец изображения для этого примера, который состоит из одного квадратного объекта и отобразит его.

I = zeros(100,100);
I(25:75,25:75) = 1;
imshow(I)

Figure contains an axes. The axes contains an object of type image.

Вычислите преобразование Радона изображения для углов 0 степеней и 45 степеней.

[R,xp] = radon(I,[0 45]);

Постройте график преобразования для 0 степеней.

figure
plot(xp,R(:,1));
title('Radon Transform of a Square Function at 0 degrees')

Figure contains an axes. The axes with title Radon Transform of a Square Function at 0 degrees contains an object of type line.

Постройте график преобразования для 45 степеней.

figure
plot(xp,R(:,2)); 
title('Radon Transform of a Square Function at 45 degrees')

Figure contains an axes. The axes with title Radon Transform of a Square Function at 45 degrees contains an object of type line.

Просмотр преобразования радона как изображения

Преобразование Радона для большого количества углов часто отображается как изображение. В этом примере преобразование Радона для квадратного изображения вычисляется под углами от 0 ° до 180 ° с шагом 1 °.

theta = 0:180;
[R,xp] = radon(I,theta);
imagesc(theta,xp,R);
title('R_{\theta} (X\prime)');
xlabel('\theta (degrees)');
ylabel('X\prime');
set(gca,'XTick',0:20:180);
colormap(hot);
colorbar

Преобразование Радона с использованием 180 проекций

Для просмотра документации необходимо авторизоваться на сайте