Pioneer Bricks¶
Pioneer Bricks — это инструмент блочного программирования, предназначенный для создания программ управления квадрокоптерами серии «Пионер» без необходимости владения навыками текстового программирования. Использование блочного подхода позволяет упростить процесс разработки программ и способствует развитию логического мышления, необходимого для дальнейшего изучения языков программирования.
Перед началом работы с блоками рекомендуется ознакомиться с разделом переменные. В контексте программирования переменная используется для хранения данных и может содержать текстовые или числовые значения. Переменной присваивается имя, по которому к сохранённым данным можно обращаться в процессе выполнения программы.
Подсказка
Для доступа в сервис Pioneer Bricks подключитесь к wifi сети устройства, откройте веб-браузер и перейдите по адресу: http://10.42.0.1:2020/
Описание блоков «Bricks»¶
Группа блоков предназначена для работы с текстовыми данными. Предоставляет блоки для создания, анализа и обработки текста.
Блок текста¶
Позволяет задать текстовое значение и использовать в других блоках программы.
Создать текст из¶
Позволяет последовательно объединять фрагменты текста, заданные в ячейках блока. Можно использовать с блоками текста, переменными и такими же блоками создания текста.
Например, после выполнения такой программы в сообщениях будет напечатано:
В настройках блока можно задать количество объединяемых фрагментов текста: для этого нужно перетащить блок «элемент» слева в блок «соединить» справа.
К переменной добавить текст¶
Блок добавляет к выбранной переменной фрагмент текста. В выпадающем списке можно выбрать переменную, к которой нужно добавить текст. Текст, который нужно добавить, задается в ячейке блока.
Длина текста¶
Позволяет получить число символов (включая пробелы) фрагмента текста, заданного в ячейке блока.
Пуст ли текст¶
Для проверки нужно перетащить переменную или фрагмент текста в ячейку блока. Возвращает истину или ложь, если блок пуст или нет, соответственно.
В тексте найти первое/последнее вхождение текста¶
Позволяет искать один текст в другом. В первую ячейку нужно вставить текст, в котором выполняем поиск. Во вторую ячейку нужно вставить текст, который нужно искать. В выпадающем списке нужно выбрать: найти первое или последнее вхождение. Возвращает номер позиции или ноль, если текст не найден.
В тексте взять букву¶
Позволяет получить отдельный символ из текста. В первую ячейку нужно поместить текст, из которого хотим взять символ. Далее в поле «взять» из выпадающего списка нужно выбрать способ получения символа. Для способов, где задается номер, справа необходимо его указать. Для этого можно использовать переменные или блоки из раздела «Математика».
В тексте взять подстроку с буквы по букву¶
Позволяет получить подстроку – часть исходного текста, ограниченная заданным диапазоном букв. В ячейку «в тексте» нужно вставить текст, далее из выпадающих списков выбрать способ задания первой буквы и способ задания последней буквы подстроки. Для способов, где задается номер, справа необходимо его указать. Для этого можно использовать переменные или блоки из раздела «Математика».
Блок изменения регистра¶
Преобразует текст по выбранному правилу. В выпадающем списке можно выбрать одно из трёх правил. Справа нужно вставить текст для преобразования.
Обрезать пробелы¶
Удаляет лишние пробелы в тексте. В выпадающем списке можно выбрать, с какой стороны нужно обрезать пробелы. В ячейке справа указывается текст для преобразования.
Напечатать¶
Печатает в «Сообщения» вкладки «Отладка» указанные справа данные.
Вывод текста в отладке будет выглядеть следующим образом:
Подсчитать количество строк в тексте¶
Считает, сколько раз один текст встречается внутри другого. В левой ячейке нужно указать фрагмент текста, который нужно искать внутри текста, задаваемого во второй ячейке.
Заменить текст на другой текст в тексте¶
Выполняет замену текста. В первой ячейке задается текст, который нужно заменить. Во второй ячейке задается текст, на который нужно заменить. В третьей ячейке задается текст, в котором выполняется преобразование.
Изменить порядок на обратный¶
Изменяет порядок символов в тексте на обратный, в ячейке нужно задать текст, который нужно преобразовать.
Группа блоков предназначена для создания логических условий и построения логического ветвления. Предоставляет блоки условий и логических выражений, позволяющих выполнять команды при выполнении условий, строить ветвление и формировать логические значения.
Если¶
Проверяет заданное условие и при его выполнении запускает вложенные команды. В первой ячейке задается логическое выражение. Во второй ячейке задаются действия, которые нужно выполнить, если результат проверки «истина». Например, если переменная Х равна переменной Y, то напечатать «Условие выполнено». Если условие не выполняется, то есть переменная Х не равна переменной Y, то текст не будет напечатан.
Блок имеет настройки, в которых можно добавлять дополнительные ветви: Иначе если – дополнительное условие, которое проверяется, если первое оказалось ложным. Иначе – выполняется, если ни одно из условий не оказалось истинным.
Если – иначе¶
Блок является частным случаем блока «Если». Он также проверяет условие, но в отличие от обычного блока «Если», здесь ветвь «иначе» предусмотрена по умолчанию.
Логическое «не»¶
Выполняет логическое отрицание указанного значения. В данном примере, переменной Y присваивается значение – не ложь, то есть истина.
Ничто¶
Используется в ситуациях, когда требуется вставить значение, но передавать данные не нужно. Возвращает «ничто» - отсутствие данных.
Логическое сравнение значений¶
Сравнивает два значения и возвращает логический результат – истина или ложь. В выпадающем списке можно выбрать тип сравнения. В ячейках блока задаются значения для сравнения.
Логические операции и / или¶
Выполняет логическую операцию между двумя условиями. И – результат будет истина, если оба условия исинны. Или – результат будет истина, если хотя бы одно из условий истинно. В выпадающем списке можно выбрать операцию. В ячейках задаются значения, к которым применяется логическая операция.
Блок логического значения¶
Задает логическое значение истина или ложь. В выпадающем списке можно выбрать нужное логическое значение.
Группа блоков предназначена для организации циклического выполнения команд. Предоставляет блоки циклов, позволяющие выполнять команды заданное число раз или до выполнения условия, а также управлять выполнением цикла.
Повторять n раз¶
Блок выполняет вложенные команды заданное количество раз. В ячейке «повторить» задается количество повторений другим блоком.
Повторять несколько раз¶
В этом блоке, в отличие от предыдущего, количество повторений задается вручную – конкретным числом в поле блока.
Повторять, пока¶
Выполняет команды до тех пор, пока условие в первой ячейке истинно. В выпадающем списке можно выбрать условие цикла.
Цикл по¶
Выполняет команды в цикле, изменяя значение счётчика (переменной цикла) от начального значения до конечного включительно с указанным шагом. В ячейке блока задаются три параметра:
начальное значение – с какого числа начинается цикл;
конечное значение – на каком числе цикл завершается;
шаг цикла – на сколько увеличивается значение счетчика на каждом повторении цикла.
При значениях k = 1, n = 10 и шаге 1 переменная цикла i последовательно принимает значения от 1 до 10. Команда внутри цикла будет выполнена 10 раз и будет напечатана последовательность от 1 до 10.
Для каждого элемента в списке¶
Выполняет команды для каждого элемента списка. Переменная в поле блока последовательно принимает значения всех элементов списка, задаваемого в ячейке блока. На каждом шаге можно использовать текущий элемент списка.
Блоки управления циклом¶
Внутри цикла можно использовать команды управления циклом, которые можно выбрать в выпадающем списке блока:
Выйти из цикла – немедленно прекращает работу текущего цикла.
Перейти к следующему шагу цикла – пропускает оставшиеся команды текущей итерации и переходит к следующему повторению цикла.
Группа блоков предназначена для выполнения вычислений и работы с числовыми значениями. Предоставляет блоки математических операций и функций, преобразования чисел, обработки и генерации числовых данных.
Блок число¶
Используется, когда нужно ввести число. Блок можно подставлять в присваивание переменной, математические операции, циклы и условия.
Арифметические операции¶
Используется для выполнения базовых арифметических операций, которые можно выбрать из выпадающего списка.
Математические функции¶
Выполняет математические операции над числом, указанным в ячейке. Из выпадающего списка можно выбрать нужную функцию.
Блок математических констант¶
Предоставляет стандартные математические константы. В выпадающем списке можно выбрать нужную константу.
Блок проверки числовых свойств¶
Выполняет проверку значения из ячейки на указанное свойство. Свойство можно выбрать в выпадающем списке.
Блок округления¶
Выполняет округление значения из ячейки по заданному правилу. В выпадающем списке можно выбрать правило округления.
Блок тригонометрических функций¶
Вычисляет выбранную в выпадающем списке тригонометрическую функцию от значения, заданного в ячейке блока.
Блок работы со списком¶
Выполняет выбранную операцию над элементами списка, заданном в ячейке блока. Тип операции можно выбрать в выпадающем списке.
Остаток от деления¶
Вычисляет остаток от деления числа в первой ячейке на число во второй ячейке.
Блок ограничения значения¶
Ограничивает значение в первой ячейке диапазоном от нижнего до верхнего значения. Диапазон задаётся числовыми значениями в ячейках «снизу» и «сверху».
Случайное целое число¶
Генерирует случайное число в диапазоне, заданном в ячейках «от» и «до» включительно.
Случайное число от 0.0 до 1.0¶
Генерирует случайное вещественное число в диапазоне от 0.0 до 1.0.
Пример выполнения¶
Например, в результате выполнения скрипта приведенного выше, получим число 0.28795514403902933:
Группа блоков предназначена для создания и использования пользовательских функций. Предоставляет блоки для определения функций, задания её параметров, описания выполняемых команд и возврата результата.
Функция, не возвращающая значение¶
Позволяет объединить несколько команд в один блок. Создается один раз и затем может вызываться в разных местах программы с помощью блока-вызова, который появится во вкладке функции с заданным названием. Для вызова функции нужно вставить её блок-вызов в рабочую область программы.
Блок функции имеет настройки, в которых можно добавить параметры. Тогда в ячейки функции можно передавать значения и использовать их внутри функции.
Функция, возвращающая значение¶
Этот блок аналогичен предыдущему, но позволяет передать значение в блок, который вызывает функцию. Возвращаемое значение задается внутри функции ячейкой «вернуть».
В настройках имеет опцию «разрешить операторы», при отключении тело функции становится недоступно, а выражение для вычисления результата задается сразу в ячейке «вернуть».
Если истинно, вернуть¶
Блок можно использовать только внутри функции. В первой ячейке задается логическое условие, при истинности которого возвращается значение, заданное во второй ячейке. После выполнения этого блока выполнение функции прекращается.
Вверху вкладки находится кнопка «Создать переменную». По нажатию на нее откроется окно создания переменной, где нужно ввести имя переменной. Рекомендуется осознанно подходить к выбору имени переменной.
После создания переменная отобразится в списке переменных ниже, и с ней можно будет взаимодействовать в программе.
Присвоить переменной значение¶
Чтобы присвоить переменной значение, нужно в ячейку блока вставить блок со значением — это может быть числовое, текстовое значение или другая переменная.
В выпадающем списке можно выбрать, какой переменной нужно присвоить значение, а также переименовать выбранную переменную или удалить её.
Увеличить переменную на¶
Позволяет увеличить значение переменной на заданное в ячейке значение. По умолчанию в ячейке установлен блок с числом, в который можно ввести нужное значение.
Блок в ячейке можно заменить на любой другой блок, возвращающий числовое значение.
Получение значения переменной¶
Позволяет получить значение, хранящееся в переменной, и передать его в блок, к которому он подключён.
Во вкладке переменных хранятся блоки для каждой созданной переменной. В выпадающем списке блока можно изменить выбранную переменную, а также переименовать или удалить её.
Группа блоков предназначена для работы со списками. Предоставляет блоки для создания списков, доступа к их элементам и выполнения операций с ними.
Создать пустой список¶
Позволяет создать новый список без элементов и присвоить его переменной.
Создать список из¶
Формирует новый список из элементов, заданных в ячейках блока. Можно вставлять значения, переменные и другие списки.
Блок имеет настройки, в которых можно задать количество ячеек.
Создать список из элемента, повторяющегося n раз¶
Создает список, состоящий из одного элемента, повторяющегося указанное число раз.
Первая ячейка задает значение элемента, вторая определяет число элементов списка.
Длина списка¶
Позволяет получить количество элементов в списке, заданном в ячейке блока.
Пуст ли список¶
Проверяет, содержит ли список элементы. Возвращает логическое значение: истина, если список пуст, и ложь, если в нем есть хотя бы один элемент.
В списке найти вхождение элемента¶
Позволяет получить номер элемента в списке. В выпадающем списке можно выбрать, какое вхождение элемента искать: первое или последнее.
Вхождение элемента – позиция в списке, на которой находится элемент с заданным значением.
В первой ячейке задается список, во второй — значение, которое нужно найти. Если элемент отсутствует, результатом будет 0.
Операции с элементами списка¶
Позволяет выполнять операции с элементом списка по его номеру. В первом выпадающем списке можно выбрать нужную операцию: взять, взять и удалить, удалить. Во втором выпадающем списке можно выбрать способ указания номера позиции элемента в списке. В первой ячейке задается список, если нужно указать номер, то во второй ячейке нужно задать номер элемента.
Изменение или добавление элемента¶
Позволяет изменить значение элемента или добавить новый элемент с определенным номером в списке. В первом выпадающем списке задается операция: заменить значение существующего элемента или вставить новый элемент в указанное место. Во втором выпадающем списке можно выбрать способ указания номера позиции элемента в списке. В первой ячейке задается список, если нужно задать номер, то во второй ячейке задается номер элемента, в третьей задается значение.
В списке взять подсписок¶
Создает новый список из элементов списка, заданного в первой ячейке. В первом выпадающем списке и соответствующей ему ячейке задается номер элемента в исходном списке, который станет первым элементом нового списка. Во втором выпадающем списке и соответствующей ему ячейке задается номер элемента в исходном списке, который станет последним элементом нового списка.
Сортировка списка¶
Выполняет сортировку списка по выбранному правилу сортировки. В первом выпадающем списке можно выбрать способ сравнения элементов. Во втором списке можно выбрать направление сортировки. В ячейку нужно вставить список, по которому нужно выполнить сортировку.
Конвертация списка и текста¶
Позволяет преобразовать данные между двумя форматами: списком и текстом. В выпадающем списке можно выбрать направление преобразования. При создании списка из текста в первую ячейку нужно вставить блок с текстом, который будет разделен на элементы. При создании текста из списка в первую ячейку нужно вставить блок со списком.
Во вторую ячейку нужно вставить блок с разделителем. При разбиении по нему выделяются элементы в тексте, а при объединении он вставляется между элементами списка.
Изменения порядка на обратный¶
Создает новый список, в котором элементы списка, заданного в ячейке, идут в обратной последовательности.
Группа блоков предназначена для выполнения полётных заданий и движения дрона. Предоставляет блоки для подготовки дрона к полёту, выполнения полётных заданий, задания перемещения, скоростей и угла поворота, а также отслеживания выполнения перемещений.
Предвзлетная подготовка¶
Выполняет запуск двигателей и переводит систему в состояние готовности к полету. Только после выполнения этого блока можно выполнять взлёт.
Взлёт¶
Выполняет взлёт, после выполнения блока квадрокоптер будет удерживать высоту.
Посадка¶
Выполняет снижение и посадку дрона.
Заглушить двигатели¶
Выключает двигатели.
Лететь в локальные координаты¶
Выполняет полёт дрона в указанную точку в системе локальных координат.
Значения в ячейках «X», «Y», «Z» определяют смещение (в метрах) по соответствующим осям относительно точки старта. Ось «Y» направлена вперёд, ось «X» направлена вправо относительно точки старта. Ячейка «Угол поворота» задаёт угол, на который нужно повернуться относительно стартового направления.
Сместиться на локальные координаты¶
Выполняет полёт дрона в точку, координаты которой задаются относительно текущего положения и ориентации дрона. Ось «Y» направлена вперёд, ось «X» направлена вправо относительно дрона.
Значения в ячейках «X», «Y», «Z» определяют смещение (в метрах) по соответствующим осям относительно текущего положения дрона. Ячейка «Угол поворота» задаёт угол, на который нужно повернуться относительно текущего направления.
Ожидать достижения точки¶
Блок выполняет ожидание достижения дроном точки, заданной предыдущей командой движения. Следующие команды начнут выполнятся только после достижения этой точки.
Достигнута точка¶
Возвращает логическое значение, указывающее, достиг ли дрон точки, заданной последней командой движения. Блок не блокирует выполнение программы, это позволяет выполнять другие команды во время движения.
Установить скорость относительно точки старта¶
Устанавливает скорость (м/с) дрона в системе координат, отсчитываемой от точки взлёта.
Значения в ячейках «X», «Y», «Z» задают скорость движения по соответствующим осям. Ячейка «Угловая скорость» устанавливает скорость поворота относительно вертикальной оси дрона.
Установить скорость относительно позиции дрона¶
Устанавливает скорость дрона в системе координат, связанной с текущим положением и ориентацией дрона.
Значения в ячейках «X», «Y», «Z» задают скорость движения по соответствующим осям. Ячейка «Угловая скорость» устанавливает скорость поворота относительно вертикальной оси дрона.
Установить угол¶
Устанавливает угол поворота дрона относительно вертикальной оси. (система координат зависит от прошивки автопилота)
Группа блоков предназначена для работы с дополнительными модулями. Предоставляет блоки для управления подключенными модулями и получения данных от них.
Задать поворот сервопривода¶
Позволяет установить угол поворота сервопривода камеры в диапазоне от -90 до 30 градусов. Задать угол можно вводом нужного значения или с помощью графического регулятора.
Открыть захват со скоростью¶
Открывает захват с заданной скоростью. В ячейку блока нужно установить блок со значением нужной скорости в процентах.
Закрыть захват со скоростью¶
Закрывает захват с заданной скоростью. В ячейку блока нужно установить блок со значением нужной скорости в процентах.
Получить данные от модуля Ranger¶
Получает текущие измерение расстояний от модуля Ranger.
Получить значение дальномера¶
Позволяет извлечь нужное значение из списка расстояний для выбранного направления. В выпадающем списке можно выбрать нужное направление, а в ячейку нужно вставить блок, содержащий значения расстояний.
Установить цвет на светодиод с номером¶
Устанавливает заданный в первой ячейке цвет на светодиод с номером, заданным во второй ячейке.
Установить цвет всех светодиодов¶
Устанавливает заданный в ячейке цвет на все светодиоды.
Группа блоков предназначена для работы с изображениями. Предоставляет блоки для получения, отображения, обработки и сохранения кадра.
Получить кадр с камеры¶
Позволяет получить кадр с камеры. В выпадающем списке можно выбрать, с какой камеры получить изображение.
Демонстрация изображения из кадра в окно¶
Один раз отображает изображение в окне. В ячейку кадра нужно вставить блок, содержащий кадр. В ячейку окна указывается имя окна, используемое для отображения.
При запущенной демонстрации изображения в окне «Просмотр изображений» вкладки «Отладка» появится кнопка для открытия окна с изображением.
Сохранить кадр в файл¶
Сохраняет переданный кадр в файл с указанным именем. В ячейку кадра нужно вставить блок, содержащий кадр. В ячейку имени нужно вставить блок с текстовым названием создаваемого файла.
Нарисовать объект на кадре¶
Выполняет визуализацию выбранного типа данных на указанном кадре. Тип отображаемых данных задается в выпадающем списке блока. Набор ячеек блока зависит от выбранного типа данных. Для каждого необходимо вставить соответствующие данные в ячейки блока.
Пример для всех вариантов сразу
Получить размер изображения¶
Позволяет получить одно из измерений изображения. В ячейку нужно вставить блок, содержащий изображение, а в выпадающем списке выбрать нужное измерение.
Изменить размер изображения¶
Позволяет обрезать кадр до указанных размеров. В первую ячейку нужно вставить блок с изображением. Значения в ячейках «ширина» и «высота» определяют размеры нового изображения.
Повернуть изображение на угол¶
Выполняет поворот кадра на заданный угол. В выпадающем списке блока можно выбрать нужный угол и направление поворота. В ячейку нужно вставить блок, хранящий изображение.
Отразить изображение вдоль оси¶
Выполняет отражение кадра относительно выбранной оси. В выпадающем списке можно выбрать ось, относительно которой выполняется отражение. В ячейку нужно вставить блок, хранящий изображение.
Обрезать изображение¶
Выполняет обрезку изображения по двум точкам, определяющим границы области, которая формирует итоговое изображение. В первую ячейку нужно вставить блок, хранящий изображение. В следующих ячейках задаются координаты первой точки, которая задает левый верхний угол, и второй точки, задающей правый нижний угол итогового изображения.
Группа блоков предназначена для анализа изображений с использованием моделей искусственного интеллекта. Предоставляет блоки для инициализации моделей, выполнения распознавания объектов, поз и текста.
Инициализация ИИ модели¶
Перед использованием функций ИИ необходимо инициализировать нужную модель. Для этого перетащите блок «Инициализация ИИ модели» из вкладки «ИИ». Размещать его сразу под блоком «Начало программы» не обязательно — блок можно поставить в любое место программы, но выше тех блоков, которые используют ИИ-модель.
В выпадающем списке блока доступны два варианта моделей:
Yolo — модель, предназначенная для детекции объектов на изображении. Позволяет находить на кадре различные предметы и определять, где именно они расположены.
YoloPose — модель, используемая для распознавания позы человека. Определяет положение рук и может анализировать жесты.
Тип модели следует выбирать в соответствии с задачами, решаемыми в программе.
Найти на кадре объект класса для детекции¶
Блок выполняет поиск заданного типа объекта на изображении с камеры.
Перед использованием этого блока необходимо создать переменную, в которую будет сохранён результат распознавания. Перетащите блок «присвоить» из вкладки «Переменные», в нем выберите нужную переменную. Блок «Найти на кадре объект класса для детекции» перетащите в правую часть блока присваивания.
В блок нужно передать переменную, хранящую кадр, на котором нужно найти объект. Для этого в ячейку «Найти на кадре» перетащите переменную из вкладки «Переменные», в которой хранится кадр.
В выпадающем списке классов блока выберите тип объекта, который требуется обнаружить. После выполнения этого блока в переменной будут хранится сведения о найденном объекте.
Найти позу на кадре¶
Этот блок выполняет распознавание позы человека на изображении с камеры. Блок доступен только при инициализации модели YoloPose, поэтому важно убедиться, что выше в программе установлен соответствующий блок.
Перед использованием этого блока необходимо создать переменную, в которую будет сохранён результат. Перетащите блок «присвоить» из вкладки «Переменные», в нем выберите нужную переменную. Блок «Найти позу на кадре» перетащите в правую часть блока присваивания.
В блок также нужно передать переменную, хранящую кадр, на котором нужно найти позу. Для этого в ячейку «Найти позу на кадре» перетащите переменную из вкладки «Переменные», в которой хранится кадр.
После выполнения блока в переменной будут хранится данные о позе, которые можно использовать со следующим блоком.
Поза в объекте соответствует позе¶
Блок проверяет, соответствует ли найденная поза выбранной.
Перед использованием этого блока необходимо создать переменную, в которую будет сохранён результат. Перетащите блок «присвоить» из вкладки «Переменные», в нем выберите нужную переменную. Блок «Поза в объекте соответствует позе» перетащите в правую часть блока присваивания.
В ячейку «Поза в объекте» перетащите переменную, полученную из предыдущего блока. Справа из выпадающего списка поз выберите нужную вам позу.
После выполнения блока в переменной будет хранится логическое значение: истина или ложь, если поза совпала или нет, соответственно.
Распознать текст на изображении¶
Выполняет обработку переданного кадра и возвращает результат распознавания в виде структуры данных.
Получить текст из результата распознавания¶
Извлекает текст из результата распознавания, полученного из предыдущего блока.
Модуль предназначен для обработки и анализа изображений. Предоставляет блоки для выделения и анализа объектов и контуров, работы с маркерами, получения и обработки различных масок.
Найти маркеры ArUco на изображении¶
Выполняет поиск маркеров ArUco на заданном в ячейке кадре. В выпадающем списке можно выбрать нужный словарь маркеров, используемый для распознавания.
Координаты объекта¶
Возвращает координаты выбранной точки объекта. В выпадающем списке можно выбрать, координаты какой точки объекта нужно получить. Значение в ячейке «ID/индекс» определяет объект, для которого извлекаются координаты.
Размер объекта¶
Возвращает выбранную характеристику объекта. В выпадающем списке можно выбрать, какой параметр требуется получить. Значение в ячейке «ID/индекс» определяет объект, для которого извлекаются координаты.
Определить форму контура¶
Выполняет анализ выбранного контура и возвращает тип его формы. В ячейку «контура» нужно передать набор контуров, а в ячейке «индекс» указать, форму какого контура нужно определить.
Получить гауссово размытие изображения¶
Выполняет сглаживание кадра с использованием гауссова фильтра. В ячейку изображения нужно передать изображение, к которому применяется размытие. Значение в ячейке «размер ядра» задает размер ядра фильтра и должно быть нечетным.
Получить маску Канни изображения¶
Выполняет обнаружение границ на изображении с использованием алгоритма Канни. В ячейку изображения нужно передать изображение, для которого вычисляется маска границ. В ячейки «нижняя граница» и «верхняя граница» задаются пороговые значения чувствительности, определяющие, какие перепады яркости будут считаться границами.
Получить цветовую маску изображения¶
Выполняет выделение областей изображения по заданному цветовому диапазону. В ячейку изображения нужно передать изображение, для которого вычисляется цветовая маска. Значения цвета в ячейках «нижняя граница» и «верхняя граница» должны задавать непрерывный диапазон цвета, используемый для фильтрации. В итоговую маску попадут только те пиксели, цвет которых находится внутри указанного диапазона.
Получить бинарную маску по порогу на изображении¶
Выполняет пороговую обработку изображения и формирует бинарную маску. В ячейку изображения нужно передать изображение, для которого вычисляется бинарная маска. Значение в ячейке «порог» задает граничное значение яркости, по которому выполняется разделение пикселей. Пиксели, значение которых превышает заданный порог, относятся к активной области маски, остальные – к неактивной.
Получить контуры из маски¶
Выполняет поиск контуров в маске, заданной в ячейке, и возвращает данные контуров.
Группа блоков содержит базовые вспомогательные блоки, применяемые в программе.
Заснуть¶
Приостанавливает выполнение программы на указанное количество секунд. Значение времени задается числовым блоком в ячейке.
Цвет¶
Представляет значение цвета, выбранного из палитры. Может быть использован в других блоках, где требуется указать цветовое значение.
Угол¶
Представляет значение угла в градусах. Задать угол можно вводом нужного значения или с помощью графического регулятора.
Точка¶
Представляет координату в двумерном пространстве. Значения в ячейках «X», «Y» задают положение точки относительно начала координат изображения (левый верхний угол).