2016-03-04 26 views

回答

1

棘手方式:

cv::Mat roi; 
cv::blur(image & mask,roi,cv::Size(3,3));//Or whatever blurring you want 
cv::Mat Result=(image & (~mask)) + roi; 
cv::resize(result,result,cv::Size(New_Width,New_height)); // Or whatever downsampling you want 
+0

即對灰度圖像良好和棘手的解決方案,但是,該解決方案不工作如果'image'是一個3信道矩陣,以及'mask'二進制(單通道)面具。 – Finfa811

+0

適用於3通道。只需添加:cv :: cvtColor(mask,mask,cv :: Gray2BGR);在上面的代碼 –

+0

之前,我還將二進制掩碼克隆爲3通道圖像,問題在於矩陣中值的精度不同......我的錯誤,現在正在工作,謝謝。 – Finfa811