Существует ли библиотека обработки изображений для C ++ / CLI, которая соответствует моим потребностям: особенно: как я могу отображать изображения с интенсивностью на форме окна в реальном времени? - PullRequest
0 голосов
/ 01 февраля 2012

Я работаю над проектом Visual C ++ / CLI "Windows Forms", который касается обработки изображений.Значения интенсивности изображения (в градациях серого), с которыми мне приходится иметь дело, представляют собой короткие целые числа, получаемые с частотой кадров ~ 400 кадров в секунду.

Вопрос 1. Существует ли библиотека обработки изображений, сопоставимая с CImg, которая работает с управляемым c ++, которую я могу использовать для обработки изображений?Отличительной особенностью CImg является то, что он предлагает конструктор, который принимает указатель на первое значение изображения в памяти, количество пикселей изображения и размер в байтах значений пикселей.Это именно то, что я ищу, но мне не удалось запустить CImg.h с использованием управляемого C ++: я получил его для компиляции, но, похоже, я не смог создать экземпляр объекта CImg.

Вопрос 2: Как лучше всего рисовать изображения в форме в реальном времени?Мой первый подход состоял в том, чтобы генерировать растровые изображения с помощью метода SetPixel () и рисовать растровые изображения с помощью графического объекта.Однако этот подход оказался далеко от возможностей реального времени.

Любая помощь в этом вопросе очень ценится!

[править: Мне только что удалось интегрировать CImg в мой проект C ++ / CLI.Теперь я могу отобразить вывод камеры с помощью класса CImageDisplay.Однако это может быть только обходной путь.Разрабатываемое мной приложение состоит из MDIParent, и просмотр в реальном времени с камеры должен выполняться в MDIChild.Я не вижу возможности реализовать это с помощью CImg (был бы рад оказаться неправым!).Поэтому оба вопроса по-прежнему очень важны для меня!]

1 Ответ

0 голосов
/ 01 февраля 2012

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

...