写真が撮影された距離を判断するために、写真のいくつかの列間の距離を見つけようとしています。これが私のコードです:
I = rgb2gray(imread('vlc1.png'));
im = edge(I,'sobel', 'vertical'); %Can also use canny
c1=sum(im>0);
plot(c1)
p=c1>40;
k=find(p)
使用している写真:
画像の各列ですべての白いピクセルを見つけてから、しきい値 (現在は 40) を超えるすべての値を見つけています。
次に、c1 のピーク間の距離をピクセル単位で見つけたいので、次の式を使用できます。
distance to object = focal length * real height of the object * image height / (object height * sensor height)
そのため、オブジェクトの高さをピクセル単位で検出できるアルゴリズムが必要です。高さは、写真に表示されている列間の距離です。