使用colfilt加速计算的错误

时间:2015-11-29 22:16:07

标签: matlab image-processing

我尝试使用colfilt执行滑动邻居操作。 我基本上试图在运行某些功能时在图像上运行2X2窗口:

Matrix dimensions must agree.

Error in colfilt (line 133)
    if all(block>=size(a)), % Process the whole matrix at once.

Error in create_e (line 14)
e = colfilt(img, [2 2], 'silding', f);

其中diff和s的大小与img相同(以各种方式计算的响应)。 func是一个对diff和s执行一些计算的函数。

我一直收到这个错误:

<?php

    $a = "A";
    $b = "B";
    $c = "C";
    $d = "D";
    $e = "E";

    $param = [$b, $c, $e];

    foreach($param as $value){

        // If $variable isset and not empty
        if(isset($value) && !empty($value)){

            echo ($value."<br/>");  
            // update($value);

        }
    }

?>

任何想法都将不胜感激。 非常感谢。

1 个答案:

答案 0 :(得分:1)

我认为你想要使用不同的函数nlfilter,或者你需要调整你的函数,因为看起来你假设函数的输入是一个2乘2的数组。

colfilt将每个块重新整形为nElementsInBlock-by-1数组,并将它们排列在nElementsInBlock-by-nBlocks数组中,以便您可以在一个步骤中计算函数(例如峰度)。

nlfilter在滑动窗口上应用函数,将每个块作为n-by-m数组传递给用户定义的函数。