|
由于cvSetCaptureProperty这个函数在1.0中确实是没有实现, 所以我就按照Shiqi Yu给的建议使用cvResize来实现将camera的分辨率调整到640*480,然后再加以显示,可是与未使用cvResize之前比较,显示出来的图像却是反的,这究竟是怎么回事呢? 我使用的camera是罗技快看usb摄像头, 程序代码如下:
#include "cv.h"
#include "highgui.h"
#include "stdio.h"
#include "cvcam.h"
int main( int argc, char** argv )
{
IplImage* pFrame = NULL;
CvCapture* pCapture = NULL;
cvNamedWindow("video", 1);
pCapture = cvCreateCameraCapture(-1);
while(pFrame = cvQueryFrame( pCapture ))
{
IplImage* pImg2 = cvCreateImage(cvSize(640,480),pFrame->depth,pFrame->nChannels);
cvResize(pFrame,pImg2);
cvShowImage("video", pImg2);
if( cvWaitKey(1) >= 0 )
break;
}
cvDestroyWindow("video");
cvReleaseCapture(&pCapture);
return 0;
} |
|