這次的作業是將彩色的視訊影像改成灰階、黑白和邊緣偵測。比起上一次的作業又更複雜了。
首先先命名四個視窗
其他影像參數都設的和原影像參數一樣大nchannels 都設為1(灰階)
如果將影像參數放進While記憶體會超載會當機。
在While裡面放入轉換程式
cvCvtColor彩色轉灰階、cvThreshold灰階轉黑白、cvCanny灰階轉邊緣偵測
在show出記憶體這個時候cvWaitKey如果為零的話就只會顯是短暫的執行畫面
所以要改成別的數字
然後最後在Destroy和Release這四個視窗就完成了。
另外cvResize這個function是改變視窗大小。cvResize(來源,目標,
插值方法)
CV_INTER_NN - 最近邻插值,
CV_INTER_LINEAR
- 双線性插值 (缺省使用)
CV_INTER_AREA
- 使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法..
CV_INTER_CUBIC
- 立方插值.
還要改變cvResize的寬和高
dst_cvsize.width=(int)(scr->width*0.5);
dst_cvsize.height=(int)(scr->height*0.5);
這表示目標的寬和高都比來源小0.5倍。
cvDilate() 表示膨脹function: cvDilate(來源,目標,element若為Null則為3*3長方形結構,interation=膨脹次方)。
cvErode()表示腐蝕function呼叫和cvDilate一樣。
沒有留言:
張貼留言