Я уже видел сложные коды для отслеживания границ на этом сайте.
Я первый раз пользуюсь Matlab, с небольшим кодом с bwtraceboundary.
Этот код когда-то отслеживал контур изображения листа (хотя и не отслеживал стебель листа, который был более светлым оттенком) ... до того, как я изменил размер изображения.тогда все, что я получаю из этого, для любого изображения, это пустое.
Я думал, что пропустил начальную точку границы, и пробовал разные значения для вычисления строки & col (скоординированных значений start pt., но никто не работал.Можете ли вы помочь мне отследить лист с его стеблем, пожалуйста?
Код:
I = imread('C:\...\images3.jpg');
imshow(I)
BW = im2bw(I);
imshow(BW)
dim = size(BW)
col = round(dim(2))-90;
row = min(find(BW(:,col)))
boundary = bwtraceboundary(BW,[row, col],'N');
imshow(I)
hold off;
plot(boundary(:,2),boundary(:,1),'b','LineWidth',1);
Предположим, матрица изображения получается путем ввода 'I' в командном окне, смогу ли явыбрать стартовый пункт?Как?