2016-12-02 12 views
0

내 작업은 Kectect v2를 사용하여 blob 추적을위한 프로그램으로 kinect V1을 사용하여 blob 추적을위한 프로그램을 변환하는 것입니다.MIplImage 형식 이미지를 BGR 색상 공간에서 HSV 색상 공간으로 변환

첫 번째 프로그램은 C++로 작성되었으며 opencv를 사용합니다. 새 프로그램은 C#으로 작성해야하므로 래퍼 emgucv를 사용하고 있습니다. 나는이 같은 행동을 할 동등한 방법을 시도하고 지금

IplImage* frameVideo=cvCreateImage(cvSize(IMAGE_WIDTH,IMAGE_HEIGHT),8,3); 

IplImage *hsvImg=cvCreateImage(cvSize(IMAGE_WIDTH,IMAGE_HEIGHT),8,3); 

:

cvCvtColor(frameVideo,hsvImg,CV_BGR2HSV); 

frameVideo 및 hsvImg는 다음과 같이 정의된다 :

특정 지점에서 첫 번째 프로그램은이 명령을 사용하여 C#과 emgu.

내 동등한 변수

이렇게 정의된다

public static void CvtColor(
    IInputArray src, 
    IOutputArray dst, 
    ColorConversion code, 
    int dstCn = 0 
) 
: 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)); 

가 cvCvtColor 동등한 방법에있어, 즉, 그 신택스 CvInvoke.CvtColor (...) 다음이다 이 방법의 설명서에 대한

링크 : http://www.emgu.com/wiki/files/3.0.0/document/html/80190679-ef98-e1ef-f6b6-4c8b9f3b7f64.htm

그래서, 내 문제는이 방법은 소스와 IOU로 IInputArray 작업을 필요로한다는 것이다 tputArray 대상으로하지만 그 방법 (또는 유형 MIplImage)의 방법을 사용하는 방법을 찾을 수 없습니다 또는 IIutputArray 및 hsvImg IOVideoArray와 frameVideo를 연결하는 방법.

이미지 유형으로 메소드를 사용하는 방법을 찾았지만,이 경우에는 MIplImage 형식에서 이미지로 변환하는 방법을 찾지 못했습니다.

아무도 도와 줄 수 있습니까?

더 많은 질문이 있거나 코드에 대한 자세한 내용은 저에게 문의하십시오.

고맙습니다.

답변

0

오래된 C 코드를 기반으로 이미지를 만들었으므로 EmguCV Image <> 또는 Mat 개체를 사용하지 않는 것이 좋습니다. 언제나 IInputArry 또는 IOutputArray가 사용되는 곳에서 사용할 수 있습니다.

더그