【发布时间】:2018-12-16 08:15:09
【问题描述】:
我正在尝试使用roifilt2 函数对蒙版区域内的 400 x 640 图像中的所有值求和。我使用roipoly 创建了一个蒙版,它还存储为一个 400 x 640 矩阵,在我不感兴趣的单元格中为 0,在我希望总结的单元格中为 1。
我想知道您将如何解决这个问题,我查看了 roifilt2 的 mathworks 页面,但我不明白如何正确地将 sum 函数传递给它。这就是我正在尝试的:
fh = @(I)(sum(I,2));
I2 = roifilt2(I, mask, fh);
我是我的形象,面具是我的面具。我也不断收到以下错误,即使我的 I 和我的面罩大小相同:
Error using roifilt2 (line 79)
The filtered image is not the same size as the original image.
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
为什么不直接使用
sum(sum(I.*mask))或sum(I(:).*mask(:))?掩码会将您不关心的所有位置归零。 -
我仍然收到
The filtered image is not the same size as the original image.作为错误,抱歉我忘了说我也遇到了这个问题。 -
我上面的函数不需要使用
roifilt2。返回值将是遮罩区域中像素的总和,这就是您所要求的。 -
我在尝试该功能时收到
ans = NaN?我认为这是因为我的面具是 而我的 I 是 有什么想法吗? -
更改矩阵标志没有帮助,两个方程仍然返回
NaN作为输出。
标签: matlab filter sum mask roi