Сегментация изображения и распознавание изображения — Как распознать координаты белого пятна на черном фоне изображения?

Цель: найти белое пятно с самой большой площадью. И если возможно, то подтвердите, если это круг. Затем найдите средний центр этого патча и радиус.

Я думал о создании края вокруг изображений, но я не знаю, как это помогло бы узнать площадь участков.

Я пытаюсь достичь этого, и если кто-то может направить меня в правильном направлении, я был бы очень признателен.

В настоящее время я использую библиотеку php.gd, и это единственный инструмент, который у меня есть.

Спасибо

1

Решение

Обнаружение краев на изображениях на самом деле довольно просто. Наиболее стандартным способом является использование свертка изображения операция и выбор правильного ядра, чтобы охватить ваш образ. Есть функция в php.gd называется imageconvolution где вы можете указать входное изображение, ядро ​​свертки, делитель и смещение. Делитель просто делит все значения в ядре на это значение, а смещение добавляет значение к каждому значению в ядре. Таким образом, предполагая, что ваше изображение загружается в массив $im, вы бы сделали это:

$edgeMatrix = array(-1,-1,-1,-1,8,-1,-1,-1,-1);
$divisor = 0;
$offset = 0;

imageconvolution($im, $edgeMatrix, $divisor, $offset);

Обратите внимание, что imageconvolution мутирует исходное входное изображение, поэтому $im будет содержать результат обнаружения края. Убедитесь, что у вас есть копия оригинального изображения где-то на случай, если вам это нужно.

$edgeMatrix = array(-1,-1,-1,-1,8,-1,-1,-1,-1); это стандарт Матрица лапласовой свертки и используется довольно часто для задач обнаружения краев.

Тем не менее, есть функция под названием imagefilter где есть флаг обнаружения края — IMG_FILTER_EDGEDETECT, Эта функция фильтрует изображение с учетом одного из нескольких параметров, и обнаружение края является одним из этих параметров. Таким образом, вы бы сделали это:

imagefilter($im, IMG_FILTER_EDGEDETECT);

Как с imageconvolution, imagefilter также изменяет входное изображение, поэтому снова убедитесь, что вы сохраняете оригинальное изображение где-нибудь, если вам это нужно.

Надеюсь, один из них будет работать для вас!

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]