Моя задача состоит в том, чтобы преобразовать программу для отслеживания больших двоичных объектов с помощью kinect V1 в программу для отслеживания больших двоичных объектов с использованием Kinect v2.
Первая программа написана на C++ и использует opencv. Новая программа должна быть написана на c#, поэтому я использую обертку emgucv.
Первая программа в определенный момент использует эту инструкцию:
cvCvtColor(frameVideo,hsvImg,CV_BGR2HSV);
frameVideo и hsvImg определяются следующим образом:
IplImage* frameVideo=cvCreateImage(cvSize(IMAGE_WIDTH,IMAGE_HEIGHT),8,3);
IplImage *hsvImg=cvCreateImage(cvSize(IMAGE_WIDTH,IMAGE_HEIGHT),8,3);
Теперь я пытаюсь сделать то же самое с C# и emgu.
Мои эквивалентные переменные определены следующим образом:
MIplImage frameVideo = (MIplImage)Marshal.PtrToStructure(CvInvoke.cvCreateImage(new System.Drawing.Size(Globals.IMAGE_WIDTH, Globals.IMAGE_HEIGHT), IplDepth.IplDepth_8U, 3), typeof(MIplImage));
MIplImage hsvImg = (MIplImage)Marshal.PtrToStructure(CvInvoke.cvCreateImage(new System.Drawing.Size(Globals.IMAGE_WIDTH, Globals.IMAGE_HEIGHT), IplDepth.IplDepth_8U, 3), typeof(MIplImage));
Внутри emgu есть эквивалентный метод cvCvtColor, то есть CvInvoke.CvtColor(, ...), синтаксис которого следующий:
public static void CvtColor(
IInputArray src,
IOutputArray dst,
ColorConversion code,
int dstCn = 0
)
Ссылка на документацию по этому методу: http://www.emgu.com/wiki/files/3.0.0/document/html/80190679-ef98-e1ef-f6b6-4c8b9f3b7f64.htm
Итак, моя проблема в том, что этот метод требует работы с IInputArray в качестве источника и IOutputArray в качестве назначения, но я не могу найти способ использовать мои переменные (типа MIplImage) в этом методе или способ связать frameVideo с IInputArray и hsvImg с IOutputArray.
Я нашел способ использовать метод с типом изображения, но в этом случае я не нашел способа конвертировать из моего формата MIplImage в изображение.
Может кто-нибудь помочь мне?
Если у вас есть дополнительные вопросы или вы хотите получить более подробную информацию о коде, пожалуйста, свяжитесь со мной.
Большое спасибо!