Обнаружьте линии Используя радон, преобразовывают

В этом примере показано, как использовать Радон, преобразовывают, чтобы обнаружить линии в изображении. Радон преобразовывает, тесно связано с общей операцией компьютерного зрения, известной как Преобразование Хафа. Можно использовать radon функционируйте, чтобы реализовать форму Преобразования Хафа, используемого, чтобы обнаружить прямые линии.

Вычислите преобразование радона изображения

Считайте изображение в рабочую область. Преобразуйте его в полутоновое изображение.

I = fitsread('solarspectra.fts');
I = rescale(I);

Отобразите оригинальное изображение.

figure
imshow(I)
title('Original Image')

Вычислите двоичное изображение краев с помощью edge функция. Отобразите двухуровневое изображение, возвращенное edge функция.

BW = edge(I);
figure
imshow(BW)
title('Edges of Original Image')

Вычислите преобразование радона изображения, с помощью radon функция и отображение преобразование. Местоположения peaks в преобразовании соответствуют местоположениям прямых линий в оригинальном изображении.

theta = 0:179;
[R,xp] = radon(BW,theta);

Отобразите результат радона, преобразовывают.

figure
imagesc(theta, xp, R); colormap(hot);
xlabel('\theta (degrees)');
ylabel('x^{\prime} (pixels from center)');
title('R_{\theta} (x^{\prime})');
colorbar

Самый сильный пик в R соответствует θ=1 степень и x' = в-80 пикселях от центра.

Интерпретация Peaks радона преобразовывает

Чтобы визуализировать этот пик в исходной фигуре, найдите центр изображения, обозначенного синим крестом наложенным на изображении ниже. Красная пунктирная линия является радиальной линией, которая проходит через центр под углом θ=1 градус. Если вы перемещаетесь вдоль этой линии в-80 пикселях от центра (влево), радиальная линия перпендикулярно пересекает твердую красную линию. Эта твердая красная линия является прямой линией с самым сильным сигналом в Радоне, преобразовывают.

Чтобы интерпретировать Радон преобразовывают далее, исследуют следующие четыре самых сильных peaks в R.

Два сильных peaks в R найдены в θ=1 степень, при смещениях-84 и в-87 пикселях от центра. Этот peaks соответствует этим двум красным линиям слева от самой сильной линии, наложенной на изображении ниже.

Два других сильных peaks найдены около центра R. Этот peaks расположен в θ=91 степени, со смещениями-8 и в-44 пикселях от центра. Зеленая пунктирная линия в изображении ниже является радиальной линией, проходящей через центр под углом 91 градуса. Если вы путешествуете вдоль радиальной линии на расстояние-8 и в-44 пикселях от центра, то радиальная линия перпендикулярно пересекает чисто зеленые линии. Эти чисто зеленые линии соответствуют сильному peaks в R.

Более слабые линии в изображении относятся к более слабому peaks в R.