Görüntüdeki satırları bulacağınız ve bulunan satırların üzerinde kırmızı bir çizgi çizecek bir kod yazmaya çalışıyorum. Bunu Hough dönüşümünü kullanarak yapmayı başardım ama benim problemim sadece yatay ve dikey çizgiler bulmak ve diğer tüm yamaçlardan çizgiler çıkarmak için buna ihtiyacım var.Filtreleme Yalnızca yatay ve dikey çizgileri bulmak için Hough dönüşümü Matlab
Kodun bulduğu satırların eğimini bularak ve bir if ifadesi kullanarak yalnızca yatay ve dikey çizgiler üzerinde kırmızı çizgiler görüntülediğimi çözebileceğimi düşünüyorum, ancak nasıl ayıklanacağını bulmakta zorlanıyorum. Bulduğum noktalardan x ve y değerleri.
Bu sorunun nasıl çözüleceği konusunda herhangi bir öneri var mı?
function findlineshv(I)
% Read Image
img = imread(I);
% Convert to black and white because
% edge function only works with BW imgs
bwImage = rgb2gray(img);
% figure(1),imshow(bwImage);
% find edges using edge function
b=edge(bwImage,'sobel');
% show edges
% figure(1),imshow(b);
% compute the Hough transform of the edges found
% by the edge function
[hou,theta,rho] = hough(b);
% define peaks, x and y
peaks = houghpeaks(hou,5,'threshold',ceil(0.3*max(hou(:))));
x = theta(peaks(:,2));
y = rho(peaks(:,1));
lines = houghlines(bwImage,theta,rho,peaks,'FillGap',5,'MinLength',7);
figure, imshow(bwImage), hold on
for k = 1:length(lines)
xy = [lines(k).point1; lines(k).point2];
plot(xy(:,1),xy(:,2),'LineWidth',3,'Color','red');
end
Sadece bir ipucu: Görüntünüzü de paylaşırsanız daha hızlı yanıt alabilirsiniz. – tfv