Как определить уровень воды в грязном прозрачном резервуаре с помощью компьютерного зрения? - PullRequest
1 голос
/ 01 марта 2020

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

enter image description here

Я прочитал и попробую подобный вопрос Как обнаружить воду уровень в прозрачном контейнере? , но я получил "волосатый" результат (слишком много линий во всех углах). Я использовал ImageMagick 6.9.7.

enter image description here

Наилучшие результаты, которые я смог получить, - это преобразовать цветовое пространство RGB в HSV с помощью Gimp. Я говорю лучшие результаты, потому что незаполненный объем выглядит более отчетливо.

enter image description here

Если я затем применю convert input.jpg -colorspace gray -colors 2 -normalize threshold.png, я получу это изображение, на котором я мог бы сосчитать белые пиксели и сравните их количество с серым (хотя в белой области есть и черные).

enter image description here

Но я не уверен он будет работать, так как условия освещения изображения будут меняться во время всех измерений (круглый год, 3 раза в день), и изображение может быть шумным, поскольку в конечном итоге оно будет снято с веб-камеры низкого уровня (360 x 288). Показанная здесь фотография была взята с приличного смартфона.

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

Обратите внимание: I знаю, что я мог бы инвестировать в детектор уровня воды (по сообщениям, они не дорогие), или делать это с помощью провода, или с плавающей частью, связанной со струной, или с помощью ультразвука, ... но я хочу сделать это с помощью компьютерного зрения и устройства, которые у меня уже есть; -)

Любая помощь приветствуется,

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

...