2014-03-28 78 views
1

我想優化我的代碼, 我的代碼包含以下步驟平滑操作在圖像處理

//img size 1024 X 720 
cvSmooth(img, inputImg, CV_GAUSSIAN, 5, 0, 0); 
FilterOperations::sobelSchaar(inputImg, sobImg); 
cvResize(sobImg, sob2Img); 
//sob2Img size 512 X 360 
cvSmooth(sob2Img, sob2Img, CV_GAUSSIAN, 3, 3); 
imgProceObj.normalise(sob2Img); 
cvAdaptiveThreshold(sob2Img, sob2Img, 255, 
      CV_ADAPTIVE_THRESH_GAUSSIAN_C, CV_THRESH_BINARY, 31, 50); 

我怎樣才能optimize上面的代碼,在不改變最終的結果?

+1

理論上3x3是正確的濾鏡尺寸(每個方向5x5是2像素,每個方向3x3是1像素),但我懷疑你會得到完全相同的值。也許如果你調整高斯項(解決一些方程?)。但請記住檢查調整大小的參數,因爲可能會有一些插值技術! – Micka

回答

2

pyrDown()可能一次完成所需的兩個步驟。

+1

它會平滑原始大圖像,但這是避免混疊所必需的。 – Vlad