过滤操作涉及卷积,位置(x,y)
的过滤值也将取决于(x-a,y-b)
与a,b >0
的像素强度。
因此,直接使用相同的图像会导致意外行为,因为在计算过程中我会采用一些已经过滤的数据而不是原始数据。
opencv
是否在cv::GaussianBlur(.)
,cv::blur
等功能内部管理此问题?为Mat
和src
参数提供相同dst
的引用是否安全?
感谢
答案 0 :(得分:5)
是的,如果你这样做会没有任何问题。我已经做了好几次了。 openCV会自动处理它。
我测试了以下代码,它完美无缺:
int main(int argc, char* argv[])
{
Mat src;
src = imread("myImage.jpeg", 1);
imshow("src", src); //Original src
cv::blur( src, src, Size(25,25) , Point(-1,-1), BORDER_DEFAULT );
imshow("dst", src); //src after blurring
waitKey(0);
}