Red de conocimiento informático - Problemas con los teléfonos móviles - Vs compila el código fuente opencv

Vs compila el código fuente opencv

He escrito algo similar. Échale un vistazo.

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