opencv 高斯平滑处理视频对比

来源:互联网 发布:大学用的java教材 编辑:程序博客网 时间:2024/04/19 22:51
#include <iostream>
#include <opencv\highgui.h>
#include <opencv\cv.h>


int g_slider_position=0;
CvCapture *g_capture=NULL;
void exp2_4(IplImage *image)
{
//create some windows to show the input and output images in
cvNamedWindow("exp2_4_in");
cvNamedWindow("exp2_4_out");
//create a window to show our input image
cvShowImage("exp2_4_in",image);
//create an image to hold the smoothed output 
IplImage *out=cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,3);
//do the something
cvSmooth(image,out,CV_GAUSSIAN,3,3);
//show the smoothed image in the output window
cvShowImage("exp2_4_out",out);
//be tidy
char c=cvWaitKey(33);
if(c==27){
cvReleaseImage(&out);
//wait for the user to hit a key,then clean up the windows
cvWaitKey(0);
cvDestroyWindow("exp2_4_in");
cvDestroyWindow("exp2_4_out");
}
}
void onTrackbarSlide(int pos)
{
cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
}
int main(int argc, char **argv)
{
//cvNamedWindow("exp2",CV_WINDOW_AUTOSIZE);
g_capture=cvCreateFileCapture(argv[1]);
int frames=(int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
//if(frames!=0){
//cvCreateTrackbar("Position","exp2",&g_slider_position,frames,onTrackbarSlide);
//}
IplImage *frame;
while(1){
frame=cvQueryFrame(g_capture);
if(!frame)break;
exp2_4(frame);

/*if(!frame)break;
cvShowImage("exp2",frame);
g_slider_position++;
cvSetTrackbarPos("Position","exp2",g_slider_position);
char c=cvWaitKey(33);
if(c==27)break;*/
}
cvReleaseCapture(&g_capture);
//cvDestroyWindow("exp2");

}


0 0
原创粉丝点击