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

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

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

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

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

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

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

Figure contains an axes object. The axes object with title Original Image contains an object of type image.

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

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

Figure contains an axes object. The axes object with title Edges of Original Image contains an object of type 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

Figure contains an axes object. The axes object with title R indexOf theta baseline blank ( x toThePowerOf prime baseline ) contains an object of type image.

Самый сильный пик в 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.