помогите с редактированием изображения

Простейшие вопросы в области инженерной разработки
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: помогите с редактированием изображения

Сообщение dadreamer »

Выдалось свободное время, ещё немного поэкспериментировал. Выяснилось, что ffmpeg может выполнять преобразование YUV422 <-> RGB, да и вообще там куча форматов поддерживается. Взял первую попавшуюся в гугле картинку (png), перевёл в yuv такой командой:

Код: Выделить всё

.\ffmpeg.exe -i .\cat.png -f rawvideo -pix_fmt yuv422p output.yuv
Дальше сконвертировал назад в RGB:

Код: Выделить всё

.\ffmpeg.exe -pixel_format yuv422p -video_size 750x750 -framerate 25 -i output.yuv newcat.png
Всё перевелось нормально, за тем исключением, что похерился альфа-канал. Вот, для сравнения оригинал и результат.
оригинал
оригинал
yuv422 -&gt; png
yuv422 -> png
Не знаю, сохраняется ли альфа в бинарник, выяснять стало лень. Надо чем-то верифицировать этот yuv, порылся в сети, нашёл yuvplayer, поддерживает YUV422 и можно выставить кастомное разрешение. В общем, тоже читает без проблем.
2020-11-14_22-20-46.jpg
После этого решил получить то же самое в :labview: . Попалась на глаза тема FFMPEG scripting in LabVIEW (.NET) В архиве FFMPEG Examples v1.1.zip есть уже готовые SubVI для YUV420. Разница между форматами не слишком большая, это можно видеть в yuvplayer, переключая разные форматы. В общем, получилось вот это:
2020-11-14_22-31-24.jpg
2020-11-14_22-32-22.jpg
Слева я вывел "сырой" массив U16, справа - массив, преобразованный в RGB. В плеере получается то же самое, если сменить цветовую схему на 420. В общем, вывод такой, что даже в "сыром" yuv-файле присутствуют все пиксельные данные в линейном виде, т.е. преобразования нужны только для восстановления цвета. Потому даже если вы получаете 8-битную картинку 320 на 256, в ней не должно быть искажений или провалов палитры, как при пороговом преобразовании. Если такое наблюдается, значит либо где-то какая-то пост-обработка всё же выполняется, либо что-то не так с железом (неподходящие заводские настройки или аппаратный дефект). Я бы ещё проверил CL-кабель, если есть осциллограф, то можно даже уровни сигнала замерять. У меня подобной камеры в хозяйстве нет, но есть на работе баслеровские GigE-камеры. Если будет время, проверю, в каких форматах они отдают и какая картинка приходит.

upd: посмотрел, доступны форматы Mono 8, Mono 16, Mono 12, YUV 422 Packed и YUV 422 (YUYV) Packed.
2020-11-16_12-14-19.jpg
В примере Grab из пакета Vision Acquisition использован IMAQdx Grab VI, который автоматом перегоняет изображение в RGB (U32) (ну, или в то, что было выставлено в NI-MAX перед этим). Можно взять "сырой" буфер с помощью IMAQdx Get Image Data VI. Тогда приходит массив U8 размером 2 * длина * ширина изображения. Переводим в U16, затем преобразуем 1D в 2D. У меня камера ч/б, потому нет смысла даже в RGB перегонять.
2020-11-16_12-22-14.jpg
2020-11-16_12-26-09.jpg
AN-G
user
user
Сообщения: 80
Зарегистрирован: 22 мар 2014, 23:22
Версия LabVIEW: 2015
Благодарил (а): 10 раз
Поблагодарили: 1 раз
Контактная информация:

Re: помогите с редактированием изображения

Сообщение AN-G »

Спасибо за ответ. Буду пробовать в понедельник с реализацией данного проекта.Буду надеяться, что с ПЛИС без проблем все получится.
AN-G
user
user
Сообщения: 80
Зарегистрирован: 22 мар 2014, 23:22
Версия LabVIEW: 2015
Благодарил (а): 10 раз
Поблагодарили: 1 раз
Контактная информация:

Re: помогите с редактированием изображения

Сообщение AN-G »

Итог работы с камерой следующий: в ходе проделанных мной манипуляций ни к чему не привел(изображение существенно не поменялось).Думается теперь мне , что изначально заложенная настройка данной камеры и дает такое изображение, но чтобы его поменять нужно в программу зашить RS422, чтобы дать команду для перехода в другой режим. кто сможет помочь с реализацией данной задачи с граббером PCIe-1473-110?! Может у кого-то был опыт подобной работы?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: помогите с редактированием изображения

Сообщение dadreamer »

Попробуйте спросить на форумах NI, участников там больше, может быть, кто-то сможет подсказать по проблеме. Я у себя подходящего железа не нашёл, не считая древнего граббера и такой же камеры, но без кабеля...
AN-G
user
user
Сообщения: 80
Зарегистрирован: 22 мар 2014, 23:22
Версия LabVIEW: 2015
Благодарил (а): 10 раз
Поблагодарили: 1 раз
Контактная информация:

Re: помогите с редактированием изображения

Сообщение AN-G »

dadreamer писал(а): 26 ноя 2020, 09:47 Попробуйте спросить на форумах NI, участников там больше, может быть, кто-то сможет подсказать по проблеме. Я у себя подходящего железа не нашёл, не считая древнего граббера и такой же камеры, но без кабеля...
Благодарю за совет! :super:
AN-G
user
user
Сообщения: 80
Зарегистрирован: 22 мар 2014, 23:22
Версия LabVIEW: 2015
Благодарил (а): 10 раз
Поблагодарили: 1 раз
Контактная информация:

Re: помогите с редактированием изображения

Сообщение AN-G »

dadreamer писал(а): 26 ноя 2020, 09:47 Попробуйте спросить на форумах NI, участников там больше, может быть, кто-то сможет подсказать по проблеме. Я у себя подходящего железа не нашёл, не считая древнего граббера и такой же камеры, но без кабеля...
К сожалению на форуме NI такого примера не нашел. Но сегодня все же удалось подключиться к камере посредством "переходника" RS232->RS485 и подать на камеру команду для перехода в другой режим отображения. В общем все получилось как нужно :1stplace: . Поигрался с настройками камеры. Вся суть проблемы подачи команды на камеру по камерлинку состоит в том, что я не знаю как конфигурируются порты I/O. Описание на грабер очень скудное :rtfm:
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: помогите с редактированием изображения

Сообщение dadreamer »

AN-G писал(а): 27 ноя 2020, 22:13К сожалению на форуме NI такого примера не нашел.
Я имел в виду, создать новую тему и там спросить.
2020-11-28_16-46-17.jpg
Но раз проблема разрешилась, то в этом нет нужды теперь. :)
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»