載入image到記憶體
IplImage *img=cvLoadImage(filepath);
載入avi檔案,並且使用cvQueryFrame取得下一個frame
CvCapture *capture=cvCreateFileCapture(path);
IplImage *frame;
for(...){ frame=cvQueryFrame(caputre);}
調整capture,cvSetCaptureProperty與cvGetCaputreProperty
cvSetCaptureProperty(caputre,CV_CAP_PROP_POS_FRAME,pos);
建立影像,第一個參數為大小,第二個為每個channel的bits數,第三個為通道數目
IplImage *out=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);
使用演算法
cvSmooth(img,out,CV_GAUSSIAN,3,3);
建立一半大小的影像
IplImage *out=cvCreateImage(cvSize(img->width/2,img->height/2),img->depth,img->nChannel);
cvPyrDown(img,out);
從上面可以知道,所有重要的資料都被封裝成struct,然後以指標的形式在傳遞
總結以上,OpenCV是一個C lib的library,提供一個快速開發的介面,有效的節省programmer的時間,我想主要的目的是驗證一些演算法吧,真的還蠻方便的
沒有留言:
張貼留言