Я пытаюсь обнаружить объекты на следующем изображении и рассчитать центроиды и ориентацию каждого объекта на изображении.Подход к обнаружению центроидов и ориентация объектов на изображении
До сих пор мой подход заключался в том, чтобы удалить фон из изображения и изолировать объекты. Однако сегментация неточна.
Какие еще подходы можно взять? Будет ли обнаружение SURF с использованием эталонных изображений более точным подходом?
Моя попытка:
I = imread('image.jpg');
figure, imshow(I)
background = imopen(I,strel('disk',15));
I2 = I - background;
figure, imshow(I2);
I3 = imadjust(rgb2gray(I2));
figure, imshow(I3);
level = graythresh(I3);
bw = im2bw(I3,level);
bw = bwareaopen(bw, 50);
figure, imshow(bw)
Это выглядит довольно хорошо для меня. Я думаю, было бы хорошо, если бы вы добавили другое, отдельное изображение, где вы набросаете, например. в красном точно, какой результат вы ожидаете. Другие могут затем сравнить свои результаты с теми, которые вы ожидаете ... – kkuilla
Хорошо, проблема в том, что я не могу получить четкую сегментацию объектов для извлечения центроида и ориентации для каждого. Извините, если это неясно в вопросе – dfj328
Да, но сегментация мне понятна. Это выглядит достаточно хорошо для меня. Вот почему я рекомендую вам добавить другое изображение, где вы, например. нарисуйте область сегментации/схему, которую вы ищете вручную. Для аутсайдера довольно сложно понять, что для вас значит «достаточно хорошо». – kkuilla