2017-05-07 64 views
3

私は以下のように、一連の線とイメージを持っている:画像の一連の曲線の交点を探す:Matlabの

lines example

私はのためのいくつかの方法があるかどうかを知りたいですすべての線の交点を見つける。

交差点を見つける方法を提供している別の投稿を確認していましたが、画像が分割されるとノイズなどがあると思います。まずは簡単な画像から各交差点を見つけます。

私の主なアイデアは、「方程式のシステムを」解くことだったが、私は多くの交差点とのイメージがあまりにも難しいだろうのために全ての交点を見つけるための任意の方法がある場合、私は知らないと思います。

+0

あなたがラインの方程式を持っていますか、またはあなたが画像を解析していますか? – Wolfie

+1

私はイメージを分析していますが、私は単純な例から始めて、制御されていないイメージでそれを行う方法のアイデアを与えています – AlexZ

答えて

4

あなたは線方程式を持っていないと仮定します。私はスケルトン化とフィルタリングを使って、1つ以上の線が交差する小さな領域を検出しました。私はそれがノイズの多い画像のためにとても簡単になることはよく分からないが、それは価値がある試みる:

im = im2double(rgb2gray(imread('lines.png'))); 
% binarize black lines 
bw = im == 0; 
% skelatonize lines 
sk = bwmorph(bw,'skel',inf); 
% filter skeleton with 3X3 ones filter 
A = imfilter(double(sk),ones(3)); 
% find blobs greater than 4 - more than one line crossing the filter 
B = A > 4; 
% get centroids of detected blobs 
C = regionprops(B,'Centroid'); 
Cent = reshape([C.Centroid],2,[]).'; 
% plot 
imshow(im) 
hold on; 
plot(Cent(:,1),Cent(:,2),'gx','LineWidth',2) 

enter image description here

関連する問題