Измерение уровня жидкости
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Измерение уровня жидкости
Добрый день!
Есть емкость, в ней нефть (оттенки меняются) напротив емкости устанавливается видеокамера на рельсу.
к штативу камеры подключается сервопривод.
камера должна бегать за жидкостью и измерять уровень.
нашел пример, который у меня работает Подскажите, каким образом можно решить данную задачу.
Спасибо
--------------
Нашел пример, который возможно как-то поможет Данный пример позволяет определить площадь фигуры по заданным точкам
Теперь надо как-то автоматически определить границы фигуры (возможно, сравнить с эталоном)
Есть емкость, в ней нефть (оттенки меняются) напротив емкости устанавливается видеокамера на рельсу.
к штативу камеры подключается сервопривод.
камера должна бегать за жидкостью и измерять уровень.
нашел пример, который у меня работает Подскажите, каким образом можно решить данную задачу.
Спасибо
--------------
Нашел пример, который возможно как-то поможет Данный пример позволяет определить площадь фигуры по заданным точкам
Теперь надо как-то автоматически определить границы фигуры (возможно, сравнить с эталоном)
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: Измерение уровня жидкости
Может имеет смысл это изучить и использовать, получается намного дешевле.
http://www.technoline.ru/articles/view/5
http://www.technoline.ru/articles/view/5
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Измерение уровня жидкости
ни один из перечисленных методов не позволяет измерить уровень нефти в данной емкостиJakob Brontfeyn писал(а):Может имеет смысл это изучить и использовать, получается намного дешевле.
http://www.technoline.ru/articles/view/5
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Измерение уровня жидкости
Если в общих чертах, то получаете картинку с камеры, выделяете ROI области с жидкостью, находите границу уровня жидкости, соотносите границу с линейкой. Можно программно забить высоту линейки (самый простой вариант) или же попробовать распознавание цифр на шкале. А далее, в зависимости от значения на линейке запускаете привод в положительном/отрицательном направлении на заданное число шагов.Aleksey Feoktistov писал(а):Подскажите, каким образом можно решить данную задачу.
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Измерение уровня жидкости
dadreamer, на данный момент остановился на этапе - "найти границу жидкости"
может, подскажите какая функция может помочь?
нужен ли эталон для определения уровня?
еще есть мысль - заменить сервопривод двумя фотокамерами установленными снизу и сверху под определенным углом. дальше, вычисляется уровень с двух камер и находится среднее значение.
вот что получилось
может, подскажите какая функция может помочь?
нужен ли эталон для определения уровня?
еще есть мысль - заменить сервопривод двумя фотокамерами установленными снизу и сверху под определенным углом. дальше, вычисляется уровень с двух камер и находится среднее значение.
вот что получилось
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Измерение уровня жидкости
Универсальной функции, к сожалению, нет. Для начала нужно преобразовать картинку из 8-битной в бинарную. В простейших случаях может помочь IMAQ Threshold . Если верхняя часть изображения (незаполненное пространство) всегда светлее, чем нижняя (с жидкостью), то в принципе можно этим и ограничиться. По крайней нижней координате Y яркой области можно сказать, где находится уровень жидкости. Координаты включений в бинарном изображении определяются с помощью IMAQ Particle Analysis : Выделяете в массиве объект с макс. площадью (Area) и берёте крайнюю нижнюю координату Y ограничивающего прямоугольника (Bounding Rect Bottom) - это и будет уровень в пикселях. Дальше уровень нужно преобразовать в физическую величину - это отдельная задача.Aleksey Feoktistov писал(а):может, подскажите какая функция может помочь?
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Измерение уровня жидкости
dadreamer, благодарю за помощь. все работает.
для корректного определения уровня, все-таки попробую сервопривод использовать.
для корректного определения уровня, все-таки попробую сервопривод использовать.
-
- advanced
- Сообщения: 150
- Зарегистрирован: 30 мар 2011, 22:41
- Награды: 1
- Версия LabVIEW: 8.2-2013
- Контактная информация:
Re: Измерение уровня жидкости
Aleksey Feoktistov, а почему вы не хотите использовать мерную линейку, которая видна слева? И сразу еще один вопрос: с какой скоростью колеблется уровень жидкости и какова дискретность измерений?
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Измерение уровня жидкости
ESeid, сложно её использовать, так как нужно распознавать не только цифры, а еще и шкалу.
максимальная скорость - 0,5 мм/сек.
1 раз в секунду будет достаточно для измерений.
максимальная скорость - 0,5 мм/сек.
1 раз в секунду будет достаточно для измерений.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Измерение уровня жидкости
Я бы попробовал иной путь.Aleksey Feoktistov писал(а):dadreamer, благодарю за помощь. все работает.
для корректного определения уровня, все-таки попробую сервопривод использовать.
Попробуй реализовать некий следящий механизм: аттрактор.
Например уровень перехода между нефтью и воздухом всегда находится в определенном секторе изображения получаемого с камеры. А реальный уровень жидкости уже вычислять исходя из положения (угла поворота) камеры.
Так более точнее получится нежели снимать всю шкалу сразу, особенно при значительных линейных размерах емкости. Да и с регуляторами ты вроде работал, главное его правильно настроить.
Что касается нахождения границ перехода, я бы попробовал свернуть оператором Собеля по вертикали, по идее должен получиться четкая граница.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Измерение уровня жидкости
IvanLis, всю шкалу снимать целиком нет смысла.
камера катается по рельсе и в каждый момент времени она фотографирует область определенного размера.
к измеренному уровню прибавляется значение соответствующее текущему положению.
Что касается оператором Собеля, спасибо за идею!
обязательно попробую.
возможно, можно какой-нибудь буёк в емкость установить, чтобы граница была лучше видна
камера катается по рельсе и в каждый момент времени она фотографирует область определенного размера.
к измеренному уровню прибавляется значение соответствующее текущему положению.
Что касается оператором Собеля, спасибо за идею!
обязательно попробую.
возможно, можно какой-нибудь буёк в емкость установить, чтобы граница была лучше видна
Последний раз редактировалось Aleksey Feoktistov 02 ноя 2015, 15:15, всего редактировалось 1 раз.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Измерение уровня жидкости
Ну а зачем что-то прибавлять, она же все равно каким-то образом держит этот переход в поле видимости, добейтесь того, что бы этот переход был всегда (например по центру изображения) в одном месте.Aleksey Feoktistov писал(а):всю шкалу снимать целиком нет смысла.
камера катается по рельсе и в каждый момент времени она фотографирует область определенного размера.
к измеренному уровню прибавляется значение соответствующее текущему положению.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Измерение уровня жидкости
тогда, скорей всего, придется видеокамерой пользоваться, чтобы кадров было больше чем 1 в секунду.IvanLis писал(а):Ну а зачем что-то прибавлять, она же все равно каким-то образом держит этот переход в поле видимости, добейтесь того, что бы этот переход был всегда (например по центру изображения) в одном месте.Aleksey Feoktistov писал(а):всю шкалу снимать целиком нет смысла.
камера катается по рельсе и в каждый момент времени она фотографирует область определенного размера.
к измеренному уровню прибавляется значение соответствующее текущему положению.
тогда и качество снимков снизится.
хорошее предложение, надо попробовать
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Измерение уровня жидкости
Да тебе 320*240 хватит с избытком И обрабатывать проще будет небольшую картинку.Aleksey Feoktistov писал(а):тогда, скорей всего, придется видеокамерой пользоваться, чтобы кадров было больше чем 1 в секунду.
тогда и качество снимков снизится.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: Измерение уровня жидкости
Невольно, мне, как старому КИП-овцу приходит в голову
мысль, организовать сообщающийся сосуд открытый сверху цилиндр с достаточно большим поплавком
удерживающим вес камеры и крепежа. от поплавка вверх идет легкий стержень с легкой перекладинкой сверху,
получится нечто Г или лучше Т-образное. На леске подвешиваемаем камеру к перекладине, на другой конец "Т" компенситующй грузик.
Вопрос "точного позиционирования" решен, никакие приводы не нужны. Возможно придется сделать поплавок
с утяжелением внизу для комсенсации "опрокидывания" или сделать крышку с отверстиями центральное из которых только чуть чуть больше
стержня по диаметру и поэтому стабилизирует его по центру.
Другой вариант, вместо стержня тросик с грузом( и камерой) перекинутый наверху
через блок, придется тогда программно "развернуть линеку" на 180 градусов и вообще границу
раздела сред камерой снимать и анализировать не нужно а только цифры на линеике посредине
поля зрения камеры
Кстати, а может вместо сообщающегося сосуда реализовать это все в самом резервуаре,
всего одно маленькое отверстие нужно тросик пропустить
мысль, организовать сообщающийся сосуд открытый сверху цилиндр с достаточно большим поплавком
удерживающим вес камеры и крепежа. от поплавка вверх идет легкий стержень с легкой перекладинкой сверху,
получится нечто Г или лучше Т-образное. На леске подвешиваемаем камеру к перекладине, на другой конец "Т" компенситующй грузик.
Вопрос "точного позиционирования" решен, никакие приводы не нужны. Возможно придется сделать поплавок
с утяжелением внизу для комсенсации "опрокидывания" или сделать крышку с отверстиями центральное из которых только чуть чуть больше
стержня по диаметру и поэтому стабилизирует его по центру.
Другой вариант, вместо стержня тросик с грузом( и камерой) перекинутый наверху
через блок, придется тогда программно "развернуть линеку" на 180 градусов и вообще границу
раздела сред камерой снимать и анализировать не нужно а только цифры на линеике посредине
поля зрения камеры
Кстати, а может вместо сообщающегося сосуда реализовать это все в самом резервуаре,
всего одно маленькое отверстие нужно тросик пропустить
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 2068 Просмотры
-
Последнее сообщение PozhiloyGoblin