Sitio web de resúmenes de películas - E-sports - Vc6.0 usa opencv1.0 para implementar el problema de mostrar el video de la cámara en el control de imagen.

Vc6.0 usa opencv1.0 para implementar el problema de mostrar el video de la cámara en el control de imagen.

#Incluir " CvvImage.h "

# incluir lthighgui.h gt

# incluir ltcv.h gt

IplImage * g _ Marco//para almacenamiento A marco

CvvImage g _ CvvImage

CvCapture * g _ Video

CRect g _ Rect

bool g _ bRun = true

p>

Diversión del hilo DWORD WINAPI(LPVOID lParam)

{

xxxDlg * DLG =(xxxDlg *)lParam;

CDC * pDC

HDC hdc

CWnd * pwnd

while( g_bRun)

{

g _ Frame = cvQueryFrame( g_Video );

pwnd = DLG- gt; GetDlgItem(IDC_STATIC); //control PIC

pDC = pwnd- gt();

hdc = pDC-gt;GetSafeHdc();

pwnd-gt;GetClientRect(amp;g_Rect);

g_CvvImage. CopyOf(g_Frame, 1); //El tipo de g_CvvImage es CvvImage.

g_CvvImage. DrawToHDC(hdc amp;g_Rect);

DLG-gt;release DC(pDC);

}

Devuelve 0;

}

BOOL xxxDlg::OnInitDialog()

{

..

//Abre la cámara

g _ Video = cvCreateCameraCapture(-1);

if (!g _video)

{

AfxMessageBox("No se puede abrir la cámara"); /p>

Devolver FALSE

}

//Crear un hilo

CreateThread(NULL, 0, ThreadFun, this, 0, NULL);

}

//Recuerda publicar el último

void xxxDlg::OnDestroy()

{

CDialog::on destroy();

// TODO: Agregue el código del controlador de mensajes aquí.

g _ bRun = false

cvreleasecacapture(amp;g_video);

}