这个问题在这里已经有了答案:
Best Answer-推荐答案 strong>
您可以从原始矩阵中获取子矩阵,例如:
cv::Mat subMat = originalMatrix(cv::Rect(x, y, width, height));
其中 x,y, width, height 是子图像的位置。
然后对子矩阵执行高斯模糊。
[编辑]
如果您想模糊复杂的形状,一种方法是模糊整个图像,然后使用 mat.copyTo 和模糊部分的蒙版:
cv::Mat mask = ?; // this should be a CV_8U image with 0 pixels everywhere but where you want to blur the original image
cv::Mat blurred;
cv::gaussianBlur(image, blurred, cv::Size(5,5),1.5);
cv::Mat output = image.clone();
blurred.copyTo(output, mask);
关于objective-c - 在图像的特定区域进行平滑处理,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/12781874/