在MATLAB中操作图像的子部分

时间:2011-11-02 00:17:27

标签: image-processing matlab

我有一项任务,我需要在几个帧中跟踪一系列对象,并从图像中组合背景。问题出现是因为其中一个物体直到接近结束才移动,因此我不得不对图像采取粗制滥造的平均值。但是,如果我可以模糊对象,我想我将能够提高背景平均值。

我可以识别对象所在图像的一个子部分,一个m乘m的数组。我只需要能够使用过滤器模糊这一部分。但是,imfilter使用全尺寸数组(图像)作为输入,因此我不能简单地在for循环中逐个像素地移动此数组。但是,如果我尝试删除图像以拍摄图像,我不能在不使用另一个for循环的情况下将其重新放入,这将是计算成本高昂的。

是否有使用MATLAB将模糊映射到图像的子部分的方法?这可以在不使用两个for循环的情况下完成吗?

1 个答案:

答案 0 :(得分:3)

试试这个......

sub_image = original_image(ii:jj,mm:nn)
blurred_sub_image = imfilter(sub_image, etc)
original_iamge(ii:jj,mm:nn) = blurred_sub_image

简而言之,您不需要使用for循环来处理图像的子部分。您可以直接进行阅读和写作。