Emgu OpenCV Intptr для IplImage?

Я использую оболочку Emgu OpenCV C#, и я пытаюсь преобразовать IntPtr (ы), которые возвращают его функции, и получить доступ к фактическим объектам IplImage OpenCV. Есть идеи? Я новичок в C#, поэтому любые предложения приветствуются.

Ваше здоровье.


person sparkFinder    schedule 15.04.2011    source источник


Ответы (2)


Что ж, решение есть, и выкладываю сюда -

 IntPtr rgb32; 

...

 MIplImage rgb32Image = new MIplImage();
 rgb32Image = (MIplImage)Marshal.PtrToStructure(rgb32, typeof(MIplImage));

Где, конечно, нужен rgb32Image.

person sparkFinder    schedule 15.04.2011

В версии 4.2 2020 года вы можете использовать:

Emgu.CV.Image<TColor, TDepth>.FromIplImagePtr(System.IntPtr)

Примечание. Также учтите, что начиная с версии 4.2 для преобразования растрового изображения в изображение‹,> вам теперь нужно использовать метод расширения растрового изображения ToImage‹,>(), который находится в пакете Nuget Emgu.CV.runtime.windows (см. http://www.emgu.com/wiki/index.php/Version_History#Emgu.CV-4.2.0). Это вызвало у меня некоторую головную боль в начале.

person needfulthing    schedule 25.02.2020