Найти ближайшее совпадение матрицы в Matlab - PullRequest
0 голосов
/ 05 апреля 2020

В настоящее время я пишу программное обеспечение для обработки изображений, которое включает в себя фотографирование и сравнение функций с «базой данных». По сути, у меня есть матрица x, представляющая собой список значений, которые должен иметь объект на изображении. Затем я разделил изображение на разные объекты и создал матрицы для каждого из них, содержащие значения с одинаковой формулой. Например, я пытаюсь найти бейсбольный мяч, матрица x которого равна [1 (длина / ширина), 1 (уравнение отношения площадей)]. Каждый из объектов имеет разные значения для этих двух пятен. Я пытаюсь сравнить эти матрицы, чтобы найти наиболее близкое совпадение и показать, какой объект ближе всего. Мой текущий код такой:

close,clear
im=imread('pitch.jpg');
xg = rgb2gray(im);
level = graythresh(xg);
test = imbinarize(xg,.99);
se = strel('disk',2);
nx = imopen(test, se);
nx2 = imclose(nx, se);
[L,n] = bwlabel(nx2);
RGB = label2rgb(L);
imshow(RGB);
x = [1 1];
props = regionprops(L)
props(9).Area;
% Obj8Mask = (L==9);
% subplot(3,2,1),imshow(Obj8Mask);
for i = 1:11
    ObjMask = (L==i);
    l = max(sum(ObjMask'));
    w = max(sum(ObjMask));
    feature1(i) = l/w;
    feature2(i) = bwarea(ObjMask)/(320);
end
for i = 1:11

end

Спасибо. 11 - это количество объектов в данный момент на картинке.

...