#c# #opencv #interop #wrapper
#c# #opencv #взаимодействие #оболочка
Вопрос:
Мне нужно написать некоторый код для считывания изображения на C #, которое обрабатывается в OpenCV / C . C # не понимает форматы изображений OpenCV, поэтому мне нужно выполнить какие-то преобразования, прежде чем я смогу написать оболочку в .NET. Каков наилучший подход для возврата изображения с C на C #? То есть, должен ли я предоставлять необработанные байты и размеры изображения, которые можно было бы прочитать на C #, или есть какой-либо лучший подход?
Спасибо за ответ.
Ответ №1:
Напишите оболочку C / CLI, которая создает растровое изображение и возвращает его.СЕТЕВОЙ клиент.
или
Если вы не ожидаете, что размер изображения будет больше нескольких мегабайт, и нет строгих требований к производительности с точки зрения no. при параллельных вызовах вы также можете вернуть байт *, сохранив изображение в растровом изображении inmemory
или
Если это имеет смысл в вашем сценарии, вызывающий объект также может указать путь к файлу, в котором изображение может быть сохранено после обработки. Однако это не очень удобно для повторного использования.
или
Вы можете записать изображение в ILockBytes и вернуть указатель на него. Клиент .NET может читать из этого. Это зависит от Windows
Комментарии:
1. спасибо за ответ. Вероятно, вариант 1 был бы возможен, или я мог бы перейти к варианту 2.
Ответ №2:
Или, если вы просто хотели использовать исключительно C #, вам следует проверить EmguCV. Они упаковали большую часть библиотеки для использования с C #.