#c# #casting #opencv #emgucv
#c# #Кастинг #opencv #emgucv
Вопрос:
Я использую оболочку Emgu OpenCV C # и пытаюсь преобразовать IntPtr (ы), возвращаемые его функциями, и получить доступ к реальным объектам IplImage OpenCV. Есть идеи? Я новичок в C #, поэтому приветствую любые предложения.
Приветствую.
Ответ №1:
Что ж, нашел решение и публикую его здесь —
IntPtr rgb32;
…
MIplImage rgb32Image = new MIplImage();
rgb32Image = (MIplImage)Marshal.PtrToStructure(rgb32, typeof(MIplImage));
Где, конечно, rgb32Image — это то, что нужно.
Ответ №2:
В версии 4.2 2020 года вы можете использовать:
Emgu.CV.Image<TColor, TDepth>.FromIplImagePtr(System.IntPtr)
Примечание: Также следует учитывать, что начиная с версии 4.2.2 для преобразования растрового изображения в изображение<,> теперь вам нужно использовать метод расширения растрового изображения toImage<,>(), найденный в пакете Emgu.CV.runtime.windows Nuget (см. http://www.emgu.com/wiki/index.php/Version_History#Emgu.CV-4.2.0). Вначале это вызвало у меня некоторую головную боль.