Для получения информации о создании данных о проекции из линейных интегралов вдоль путей, которые исходят из одного источника, названного проекциями луча вентилятора, смотрите Проекцию Луча Вентилятора. Чтобы преобразовать данные о проекции параллельного луча в данные о проекции луча вентилятора, используйте функцию para2fan
.
Функция radon
вычисляет проекции матрицы изображений вдоль заданных направлений.
Проекция двумерной функции f (x, y) является набором линейных интегралов. Функция radon
вычисляет линейные интегралы от многочисленных источников вдоль параллельных путей или лучи, в определенном направлении. Лучи расположены модуль на 1 пиксель с интервалами независимо. Чтобы представлять изображение, функция radon
берет несколько, проекции параллельного луча изображения от различных углов путем вращения источника вокруг центра изображения. Следующие данные показывают одну проекцию в заданном угле поворота.
Проекция параллельного луча в тете угла поворота
Например, линейный интеграл f (x, y) в вертикальном направлении является проекцией f (x, y) на ось X; линейный интеграл в горизонтальном направлении является проекцией f (x, y) на ось Y. Следующие данные показывают горизонтальные и вертикальные проекции для простой двумерной функции.
Горизонтальные и вертикальные проекции простой функции
Проекции могут быть вычислены вдоль любого угла theta (θ). В целом преобразование Радона f (x, y) является линейным интегралом f, параллельного y '-оси
где
Следующая фигура иллюстрирует, что геометрия Радона преобразовывает.
Геометрия радона преобразовывает
Этот пример показывает, как вычислить преобразование Радона изображения, 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)
Вычислите преобразование Радона изображения для углов 0 градусов и 45 градусов.
[R,xp] = radon(I,[0 45]);
Постройте преобразование для 0 градусов.
figure
plot(xp,R(:,1));
title('Radon Transform of a Square Function at 0 degrees')
Постройте преобразование для 45 градусов.
figure
plot(xp,R(:,2));
title('Radon Transform of a Square Function at 45 degrees')
Радон преобразовывает для большого количества углов, часто отображается как изображение. В этом примере Радон преобразовывает для квадратного изображения, вычисляется под углами от 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 проекций