Matlabda elle çizilmiş çizgiyi nasıl düzleştirebilirim?
Köşeleri tespit etmem gereken bir görüntü işleme projesi üzerinde çalışıyorum. Ancak, corner
işlevini kullanarak köşeleri algılamaya çalıştığımda, küçük yer değişimlerini gösterildiği gibi köşeler olarak algılar.
0'dan 0.24'e kadar farklı eşikleri denedim ve yemek sonuçlarını alamadım. İşte
tam boy orijinal ve çıkış görüntüleri şunlardır:
imgskele = bwmorph(imgfill,'thin',Inf);
C = corner(imgspur, 'SensitivityFactor', 0.24);
figure; imshow(imgspur);
hold on;
plot(C(:,1), C(:,2),'bo','MarkerSize',10,'MarkerFaceColor','g');
hold off;
Yani ben
düzenleme 1 bu noktalarda bağlantı düz çizgi yapmak için çizgiyi ayarlanması (yeniden çizmek) düşünüyorum:
Bu Peucker'ın algoritmasını belki de istiyor musun? Vikipedi Ramer – Douglas – Peucker algoritması –
@MarkSetchell: Muhtemelen buralarda aşırı fazladır, ama temel fikir mantıklıdır. – MSalters
* "başlangıç resminiz" *, * "sonuç görüntüsü" * ile eşleşmiyor. Bu nedenle OpenCV'nin neden köşeler olduğunu düşünmesine neden olduğunu görmek zor. * "Köşeleri" içeren tam başlangıç görüntüsünü gösterir misiniz * lütfen? –