general Mostramos cámara web o de movimiento de vídeo en ventanas OpenCV con:OpenCV: ¿Cómo mostrar la captura de cámara web en la aplicación de formulario de Windows?
CvCapture* capture = cvCreateCameraCapture(0);
cvNamedWindow("title", CV_WINDOW_AUTOSIZE);
cvMoveWindow("title",x,y);
while(1)
{
frame = cvQueryFrame(capture);
if(!frame)
{
break;
}
cvShowImage("title", frame);
char c = cvWaitKey(33);
if(c == 27)
{
break;
}
}
i intentado utilizar cuadro de imagen que tiene éxito para mostrar la imagen en las ventanas de formar con esto:
pictureBox1->Image = gcnew System::Drawing::Bitmap(image->width,image->height,image->widthStep,System::Drawing::Imaging::PixelFormat::Undefined, (System::IntPtr) image-> imageData);
pero cuando estoy tratando de visualizar la imagen capturada del vídeo no lo puedo funciona, aquí está la fuente:
CvCapture* capture = cvCreateCameraCapture(0);
while(1)
{
frame = cvQueryFrame(capture);
if(!frame)
{
break;
}
pictureBox1->Image = gcnew System::Drawing::Bitmap(frame->width,frame->height,frame->widthStep,System::Drawing::Imaging::PixelFormat::Undefined, (System::IntPtr) frame-> imageData);
char c = cvWaitKey(33);
if(c == 27)
{
break;
}
}
hay alguna forma de utilizar ventanas formulario en lugar de ventana OpenCV s para mostrar video o webcam?
o hay algún problema con mi código? gracias por su ayuda .. :)
¿La salida simultánea de video y el procesamiento de la imagen de fondo de la misma información afectan significativamente el rendimiento? –
No estoy seguro de entender su pregunta correctamente. Por lo que recuerdo, la imagen tomada no se copia directamente al buffer de la pantalla. Sin embargo, VideoInput se basa en DirectShow, lo que implica dos cosas: es muy rápido, y es un PITA para compilar (debe obtener la implementación correspondiente de DirectShow de Microsoft). La última vez que lo intenté, tuve que obtener una versión anterior de la biblioteca de DirectShow. Sin embargo, en la descarga se proporciona una versión compilada de la biblioteca VideoInput. –