Получите прямоугольную форму из очень шумного изображения Opencv Python - PullRequest
0 голосов
/ 01 мая 2018

Нужно получить прямоугольные формы из зашумленного цветного сегментированного изображения. Проблема заключается в том, что иногда объект не всегда имеет правильный цвет, вызывая дыры в изображении, или иногда отражение объекта на фоне вызывает шум / ложное срабатывание для цветовой сегментации.

Объект может находиться в любом положении изображения и любого неизвестного прямоугольного размера, отверстия могут возникать в любом месте внутри объекта, и шум может возникать на любой стороне объекта. Единственная известная константа - это объект прямоугольной формы.

Каков наилучший способ отфильтровать этот шум слева от объекта и получить ограничивающий прямоугольник вокруг объекта?

Использование эрозии приведет к удалению деталей из нижней части объекта и приведет к неправильному размеру ограничивающей рамки

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

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

Проекции - это всего лишь количество пикселей объекта в каждой строке и каждом столбце. Когда вы ищете только один прямоугольник, значения указывают на вероятность строки / столбца, принадлежащего прямоугольнику.

0 голосов
/ 01 мая 2018

Я не могу комментировать из-за моего представителя, но я думаю, что вы можете попробовать проанализировать цветное изображение, используя другие цветовые пространства. Создайте верхнюю и нижнюю границу цвета, который вы хотите, до тех пор, пока он не выберет объект, оставляя вас с меньшим количеством шума, который вы можете отфильтровать с помощью эрозии / расширения / открытия / закрытия.

Например, в моем проекте я хотел найти ограничивающую рамку изменяющего цвет зеленого прямоугольника, поэтому я пошел и перепробовал много разных цветовых пространств с множеством разных верхних / нижних границ, пока, наконец, не получил что-то достойное , Вот хорошее прочтение того, о чем я говорю: Документы

Вы также можете попробовать отфильтровать объект по площади, после его расширения (сначала вы расширяете, так что более близкие точки соединяются друг с другом, а более удаленные, которые являются шумом, не создают большой прямоугольник с множеством шума, но затем вы фильтруете большую область).

...