Vc6.0 usa opencv1.0 para implementar el problema de mostrar el video de la cámara en el control de imagen.
# 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 p>
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);
}