Передача изображения из OpenCV / C ++ в .NET C # - PullRequest
2 голосов
/ 01 октября 2011

Мне нужно написать код для считывания изображения на C #, которое обрабатывается в OpenCV / C ++.C # не понимает форматы изображений OpenCV, поэтому мне нужно сделать какие-то преобразования, прежде чем я смогу написать оболочку в .NET.Как лучше всего вернуть изображение из C в C #?То есть я должен предоставить необработанные байты и размеры изображения, которые можно было бы прочитать в C #, или есть какой-нибудь лучший подход?

Спасибо за ответ.

Ответы [ 2 ]

2 голосов
/ 01 октября 2011

Напишите C ++ / CLI оболочку , которая создает растровое изображение и возвращает его клиенту .NET.

ИЛИ

Если вы не ожидаете, что изображение будет большечем несколько МБ и нет строгих требований к производительности с точки зрения нет.параллельных вызовов, то вы также можете вернуть байт *, сохранив изображение в растровое изображение памяти

ИЛИ

Если это имеет смысл в вашем сценарии, то вызывающая сторона может также указать путь к файлу, гдеизображение может быть сохранено после обработки.Это, однако, не очень многоразово.

ИЛИ

Вы можете записать изображение в ILockBytes и вернуть указатель на него.Клиент .NET может читать с этого.Это специфично для Windows

0 голосов
/ 01 октября 2011

Или, если вы просто хотите использовать исключительно C #, вам следует проверить EmguCV . Они обернули большую часть библиотеки для использования с C #.

...