Я пытаюсь написать программу, которая может определить путь, который я рисую на бумаге, и дать мне координаты.Я хочу направить сварочную горелку с использованием этих координат.
При использовании edge()
я мог бы определить края пути, но у меня возникли проблемы с определением середины пути.Я пытался интерполировать координаты ребер с помощью петли for
, но не могу.
Это мой код:
%% defining & Addressing an Image
img0=imread('C:\Users\Sohrab\Downloads\Project\photo_2018-11-02_22-07-15.jpg');
img0=rgb2gray(img0);
img1=imresize(img0,0.6);
img1=medfilt2(img1,[10,10]);
%% Applying Edge Detection
img2=edge(img1,'sobel');
img3=edge(img1,'canny');
imgI=img3;
[Row,Col]=size(imgI);
%% Interpolation
for i = 1:1:Row
k=0;
ONPixel=0;
for j = 1:1:Col
if(imgI(i,j)==1)
ONPixel=ONPixel+j;
k=k+1;
end
end
imgI(i,:)=0;
if(k >= 2)
imgI(i,floor(ONPixel/k))=1;
end
end
%% showing Results
figure;
subplot(2,2,1)
imshow(img1)
title('ORGINAL IMAGE')
subplot(2,2,2)
imshow(img2)
title('SOBEl METHOD')
subplot(2,2,3)
imshow(img3)
title('CANNY Method')
subplot(2,2,4)
imshow(imgI)
title('Interpolation')
Это результат интерполяции: ![(And this is the result.)](https://i.stack.imgur.com/tjQoJ.jpg)
результат неверный.
Это изображение, которое я использовал для расчета:
![(i did my calculation on image that i attached.)](https://i.stack.imgur.com/pfdj4.jpg)