в Qt, как я могу создать объект QImage
из массива байтов ('uint8_t*`), не создавая глубокую копию, просто ссылаясь на мой массив данных?
Создать QImage из буфера, без глубокой копии?
20.06.2016
- Я не уверен, что это возможно, документы предлагают этот способ загрузка массива байтов, который, скорее всего, копирует из-за параметра длины и, возможно, мутирует данные, поэтому он выполняет глубокую копию? 20.06.2016
- Мне кажется, что
QImage::QImage(const uchar * data, int width, int height, Format format)
из документов нет глубокой копии. Я имею в виду Буфер должен оставаться действительным в течение всего срока службы QImage и всех копий, которые не были изменены или иным образом отделены от исходного буфера. Изображение не удаляет буфер при уничтожении 20.06.2016
Ответы:
1
Используйте любой из конструкторов, которые принимают uchar *
, например
QImage::QImage(uchar *data,
int width,
int height,
int bytesPerLine,
Format format,
QImageCleanupFunction cleanupFunction = Q_NULLPTR,
void *cleanupInfo = Q_NULLPTR)
Как говорится в документации:
Буфер должен оставаться действительным в течение всего срока службы QImage и всех копий, которые не были изменены или иным образом не отделены от исходного буфера. Образ не удаляет буфер при уничтожении. Вы можете предоставить указатель на функцию cleanupFunction вместе с дополнительным указателем cleanupInfo, который будет вызываться при уничтожении последней копии.
20.06.2016
Новые материалы
Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать
С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..
Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv)
Автор : Бар Лайт
Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..
Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята?
В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..
Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение.
В этом процессе мы будем использовать неконтролируемое обучение, чтобы..
Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm.
Оглавление
Глоссарий
I. Новый пакет
1.1 советы по инициализации..
Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных.
Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..
ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..
QPixmap
из этогоQImage
без глубокого копирования? 20.06.2016QPixmap
, потому что я создаю визуализатор изображений, аналогичный описанному в doc.qt.io/qt-5/qtwidgets-widgets-imageviewer-example.html 21.06.2016