今天練習了視訊效果的製作,做出灰色 黑白 線條等等許多效果,相當有趣!
一開始令我比較苦惱的是空間的申請,必須用到 cvCreateImage這個function,將每個圖像宣告好之後,再使用cvCvtColor將彩色圖轉換成灰階圖,
cvCvtColor(pImg, gray,CV_BGR2GRAY);
,cvThreshold( gray, bw, 63, 255, CV_THRESH_BINARY );則是用來將灰階轉黑白,
裡頭的63,255 就是以63為基準點 超過63就會變255全白,低於63則變成0為黑色,就可以轉乘黑白了
cvCanny(gray, pCannyImg, 50, 150, 3);則是製作線條圖的function,這個效果十分有趣,不過他的用法我還得好好研究一下
最後還學到了cvResize
用法如下
IplImage *src = 0; //原圖像指針
IplImage *dst = 0; //目標圖像指針
float scale = x; //縮放倍數為x倍
CvSize dst_cvsize; //目標圖像尺寸
dst_cvsize.width = src->width * scale; //目標圖像的寬為原圖象寬的scale倍
dst_cvsize.height = src->height * scale; //目標圖像的高為原圖象高的scale倍
dst = cvCreateImage( dst_cvsize, src->depth, src->nChannels); //構造目標圖象
cvResize(src, dst, CV_INTER_LINEAR); //縮放原圖像到目標圖像
cvNamedWindow( "src", CV_WINDOW_AUTOSIZE ); //創建用於顯示原圖像的視窗
cvNamedWindow( "dst", CV_WINDOW_AUTOSIZE ); //創建用於顯示目標圖像的視窗
沒有留言:
張貼留言