Vs compila el código fuente opencv
Este es el código que lee el vídeo para obtener cada fotograma y lo guarda.
#include " stdafx.h "
# include ltstdio.h gt
# include ltiostream gt
Usar espacio de nombres std
p># incluir ltcv.h gt
# incluir ltcxcore.h gt
# incluir lthighgui.h gt
//#pragma comentario ( lib, " ml.lib ")
//#pragma comentario (lib, " cv.lib ")
//#pragma comentario (lib, " cvaux.lib " )
//#comentario pragma (lib, "cvcam.lib")
//#comentario pragma (lib, "cxcore.lib")
/ /#pragma comment(lib, "cxts.lib")
//#pragma comment(lib, "highgui.lib")
//#pragma comment(lib, " cvhaartraining.lib ")
int main()
{
CvCapture * capture = NULL
IplImage * frame = NULL
char *avi filename = "e:\\wildlife.wmv";//Directorio de vídeos
Char *AviSavePath = "e:\\screenshot\\";//Guardar la imagen Posición
const int Jiange = 4; //Guarda la imagen cada dos fotogramas.
capture = cvCaptureFromAVI(nombre de archivo avi);
cvNamedWindow("Reproductor AVI", 1);
int count _ tmp = 0; Número de fotogramas
char tmpfile[100]= { ' \ 0 ' };
while(true)
{
if (cvGrabFrame(captura))
{
if (count_tmp jiange == 0)
{
frame=cvRetrieveFrame(captura) ;
cvShowImage("Reproductor AVI", marco); //Muestra el marco actual.
sprintf(tmpfile, "s/d.jpg", AviSavePath, count_tmp); //Utiliza el número de fotograma como nombre de la imagen.
cvSaveImage(tmpfile, frame);
}
if(cvWaitKey(10)>=0) //Retraso
Pausa ;
count_tmp;
}
Otro
{
Pausa;
}
}
cvreleasecacapture(amp; captura);
cvDestroyWindow("reproductor AVI");
STD: :cout lt lt"Número total de fotogramas"
Devuelve 0;
}
Obtener el código de esquema
m_p_IPL contourimg = cvCreateImage(cvGetSize (p _ iplSrcImg), IPL_DEPTH_8U, 3);
cv zero(m _ p _ IPL contourimg);
CvMemStorage * almacenamiento = cvCreateMemStorage(0); p>cv seq * contorno = 0;
CvSeq * LocaContour = 0;
doble maxaera = 3000, minaera = 800, Maxaera = 0, locaa aera = 0
Imagen IPL * p _ iplDestImgClone = cvCreateImage(cvGetSize(p _ iplDestImg), 8,
p _ iplDestImgClone = cvCloneImage(p _ iplDestImg
); p>
//Encuentra solo contornos externos CV_RETR_External.
cvfindownerships(p_iplDestImgClone, almacenamiento y contorno, sizeof(CvContour), CV_RETR_OUTER, CV_CHAIN_APPROXIMATE_Simple, cvPoint(0, 0)
Obtener el área de contorno
double area = fabs(cvContourArea(contour, CV _ WHOLE _ SEQ)); //Obtiene el área de contorno actual
Espero que te sea útil